September 30, 2019 Weekly Update on Microsoft Integration Platform & Azure iPaaS

September 30, 2019 Weekly Update on Microsoft Integration Platform & Azure iPaaS

Do you feel difficult to keep up to date on all the frequent updates and announcements in the Microsoft Integration platform and Azure iPaaS?

Integration weekly update can be your solution. It’s a weekly update on the topics related to Integration – enterprise integration, robust & scalable messaging capabilities and Citizen Integration capabilities empowered by Microsoft platform to deliver value to the business.

If you want to receive these updates weekly, then don’t forget to Subscribe!

 

Microsoft Announcements and Updates

 

Community Blog Posts

 

Videos

 

Podcasts

 

How to get started with iPaaS design & development in Azure?

  • Robust Cloud Integration with Azure
  • Microsoft Azure for Developers: What to Use When
  • Serverless Computing: The Big Picture
  • Azure Logic Apps: Getting Started
  • Azure Logic Apps: Fundamentals
  • Microsoft Azure Developer: Creating Enterprise Logic Apps
  • Microsoft Azure API Management Essentials
  • Azure Functions Fundamentals
  • Cloud Design Patterns for Azure: Availability and Resilience
  • Architecting for High Availability in Microsoft Azure

Feedback

Hope this would be helpful. Please feel free to reach out to me with your feedback and questions.

Life as a User Group Leader

Life as a User Group Leader

Microsoft MVPs are recognised for their voluntary contributions to the technical community. There are many types of eligible contributions, but one of my more notable ones was serving as a user group leader. This is a significant undertaking, and in this post I hope to outline some of the aspects of the commitment and also some lessons I’ve learned over my 14 years of fulfilling this duty.

My Experience

In 2005, I was asked by Microsoft to start the Brisbane BizTalk User Group. The motivation came through working for one of several organisations that adopted BizTalk Server to handle critical enterprise integration processes. As a newbie to the product, I was heavily reliant on the help I received from the very few experts around Australia and the world, including Bill Chesnut, Mick Badran, and several other MVPs who blogged about their experience. With so little available knowledge and experience in Brisbane, Microsoft’s Geoff Clarke decided it would be a great idea to start a user group. It was a daunting challenge and Geoff had to twist my arm a little… but I was encouraged when over 30 people turned up at the first meetup, proving that I wasn’t alone in my struggles. I also had lots of support from Microsoft and my colleagues, and the group met monthly for years to follow.

Then in 2014, I was asked to take the reigns for the Brisbane Azure User Group, which had been established by Paul Bouwer about a year or two earlier. When Paul earned his “blue card” and became a Microsoft employee that year, he felt it was inappropriate for him to continue leading the group and that a community member would be more appropriate for the role. Again, I reluctantly agreed on the condition that I had at least two co-organisers to help. One of these gentlemen (Damien Berry) remains a co-organiser to this day.

I’ve also ran the Global Azure Bootcamp in Brisbane for four years, and the Global Integration Bootcamp for a couple of years as well.

Time Commitment

Image result for 3d little man timeSeveral years ago, Greg Low led a Tech-Ed breakout session on “How to be a Good User Group Leader”. He was asked by someone whether 5-10 hours per month was a reasonable expectation for a time commitment. Greg agreed. Experience has shown me that is a pretty good estimate, at least once you get the group up & running. Initially it may take more time getting things organised. And of course, if you happen to be speaking at an event, then you would need to add those hours of preparation as well.

It certainly helps to have a co-organiser assist with various tasks. But it is vital that there is constant communication between all organisers so that everyone knows what they are responsible for. We recently had an unusual gaff where both Damien & I invited and confirmed a different speaker for the same date. Fortunately one of them was flexible and we were able to shift him to another date. Today with so many collaborative communication mediums such as Microsoft Teams and Slack, it shouldn’t be difficult to keep all organisers informed of activities. I know some folks who live by Trello, which is another extremely useful tool for tracking tasks. We also use Microsoft OneNote to record information and share files.

Some of the tasks involved in organising just a single meetup session include:

  • Finding a speaker
  • Booking a venue
  • Organising catering
  • Advertising on social media
  • Sending and tracking invites (e.g. Meetup or EventBrite)

Not to mention all of the ongoing maintenance tasks for group, which may include:

  • Securing sponsorship
  • Managing finances
  • Paying subscriptions & dues

Challenges

There are numerous challenges with both getting a user group off the ground and keeping it running. Here are but a few:

Generating Interest

Related imageYour user group isn’t going to be much of a community if no one shows up, right?

First and foremost, make sure your group’s area of focus has a community to support it! If the topic is too narrow, you’ll have trouble attracting enough members. If the topic is too broad, you risk overlapping and competing with other user groups in the same area (always worth checking to see that there isn’t a competing group already before you embark on this journey!)  Also beware of focusing on a specific product offering, as that can limit the lifetime of the community.  For example, my BizTalk User Group survived for a good five years, but because it was product based and that product had a very narrow following, it was difficult to attract a sizable audience each month. It can also tend to limit the presentation topics a bit, unless it is a very formidable product.

By contrast, the Brisbane Azure User Group has an extremely healthy membership (1600+) and we generally get a solid 30-50 attendees at each session. There is a broad range of topics that come under that heading, so we’ll never run out of things to speak about. We also manage to attract good speakers with very little effort.

Next, you’ll need to plaster your meeting announcements all over social media: Twitter, LinkedIn, Facebook, etc.  It’s a good idea to setup a group page on Facebook and LinkedIn to attract members. Make sure you setup a Twitter account and a memorable hashtag so that you can be followed easily.  When first getting the group started, you might hit up other Meetup organisers in your area who have related topics to plug your meeting for you. Appeal to an organisation who is invested in your user group theme (e.g. Microsoft for the Azure UG) and get them to plug your group in their community publications. Send emails to co-workers and colleagues whom you think might be interested, and invite them to bring along a friend (use discretion here, unwanted spam doesn’t help to generate interest!).

For our Azure meetups, I usually send out tweets two weeks before, one week before, and then daily from two days out to remind folks. This is of course in addition to the Meetup announcement and posts on LinkedIn, etc.

Finding Speakers

Image result for getting attention imageThis is related to the previous challenge in ensuring that you choose an supportable theme/topic for your group. If it’s a rare or highly specialised focus, you may find yourself having to speak at every event! Some organisers don’t mind that, they like having a forum to promote themselves – but chances are your following will dwindle after a short while if there isn’t enough variety.

You generally want to have speakers lined up for at least 2 or 3 months in advance. This helps keep the community engaged as well; when they see you have a solid schedule of speakers they have more confidence in the group’s vitality.

Not everyone feels comfortable with public speaking, even those who have lots of knowledge to share. One technique I find that works well is occasionally hosting an “Unconvention Night” where instead of featuring one or two main speakers, dedicating the event to a series of short, sharp topics about 10-15 minutes in length. This is a lot less intimidating and can provide an initiation for future speakers as they speak about something really focussed, with or without slides or demos. It can be a stepping stone for inexperienced speakers to build more confidence.

You can also put out Calls For Papers (CFPs) to solicit speakers. There are many people (like some of us Microsoft MVPs) who actually seek out opportunities to engage with the community via public speaking. Two sites that I know of are Sessionize and PaperCall. Be specific about the topic scope you want. You can also use social media to solicit potential speakers.

Lastly, be sure to treat your speakers well! They donate a lot of their time preparing the talks and deserve to be recognised for this. Make sure you prepare a nice introduction and… introduce them! Also be on hand beforehand to help them get setup with A/V equipment, etc.  Make sure they know what their time constraint is well in advance. If you intend to record them, be sure they are comfortable with that first. Lastly, I always like to give my speakers a gift as a token of appreciation – usually a bottle of wine or perhaps a gift card of some sort.

When other people see the benefits your speakers are afforded, they will have more incentive to step forward and offer themselves to speak at a future event.

Finding Sponsorship

Related imageUser groups take money to run, if not for paying for a venue than almost certainly for providing catering. Most user group attendees expect to have pizza or something similar on offer, especially for evening or lunchtime events. Moreover, they are used to the events being free of charge. Unless you are independently wealthy or very generous, you’ll need sponsorship of some sort.

There are a lot of companies out there who want the publicity and advertising opportunities that come with sponsoring communities. But you may have to do some searching. Start with your own company! Chances are that the user group you started centres on a technology or subject related to your work. If not, reach out to companies that have an interest in your subject matter, as they know that attendees are possible customers.

Sponsors of course will want something in return. You can offer them the opportunity to display a banner or poster at the meetup site. You can acknowledge them with their logo on your group’s website or Meetup site. Perhaps even offer them a brief presentation slot occasionally to promote their product or services. But be careful to set clear boundaries. Never offer your group mailing list to a sponsor! This is a terrible violation of privacy and trust, and it is the fastest way to lose members at best, and invite legal action at worst.

Remember that your caterer of choice can also be a sponsor as well. For example, our Azure group orders from Crust Pizza who offer special services for us; they come in earlier than usual to cook the pizzas and usually throw in free soft drinks. Be sure to promote their logo as well on your site, as either a sponsor or a preferred caterer.

There are different ways that sponsors can help, for example paying the caterers directly, providing a venue for free, etc.  In our case, Microsoft Brisbane provides the venue for free, including a host who kindly stays back late (and often presents for us too). I find the most convenient arrangement is a sponsor who provides a fixed monthly stipend, as this can be used to serve multiple expense types (catering, subscription fees, travel costs for speakers, swag/prizes, etc). Of course you will need to set up a bank account for this, and that can be tricky in itself.

Finding a Venue

Image result for 3d little man buildingThis is often a big stumbling block for some cities. Venues for hire are typically very expensive. The best solution is if your employer can accommodate a large meeting space, or perhaps another business that chooses to donate a space as sponsorship. Other options are university or community spaces. Some of these may come with a price tag, but will be much cheaper than commercial hosting venues. In Brisbane, we have used The Precinct for an event by just paying a nominal cleaning fee, as well as QUT Gardens Point for another event at a reasonable price. I’m sure there would be similar spaces in other cities. Fortunately, Microsoft Brisbane is extremely generous in providing a large theatre for our regular meetings, all for free.

If you’re lucky enough to find a free venue, make sure you are respectful to the owners by leaving the place clean and tidy afterwards. And of course don’t forget to acknowledge the venue provider as a sponsor!

Other Tips and Pitfalls

Here’s a random collection of other tips and traps:

  • Event publication and tracking – You may not like paying the subscription fee for Meetup, but by golly it is worth it. No other tool I’m aware of is designed to support user groups as well. You can schedule events, send out announcements, track attendance, and post related artefacts (e.g. links to PowerPoint slides, sample code, pictures, etc) all in one tool. Some folks use EventBrite to track “tickets”, which also has some good features. One thing I would warn against… use one tool or the other to track RSVPs for a given event, but not both. That will just create confusion as some people will respond on one, some on the other, and some on both. Keeping the RSVPs to one tool will make life a lot simpler for you and more reassuring for your members.
  • Getting the catering right – The trouble with free events is that you will find that a lot of people will RSVP and then just not show up. This is a big bugbear for me, but there’s not much you can do about it. I’ve learned to expect about a 30% attrition and then cater accordingly. Only on rare occasions have we run out of food or drink because I’ve underestimated.
  • Wasted tickets – The second biggest bugbear for me. If your venue is limited in size and you have to issue a capped number of tickets for your event (EventBrite is really good for managing a waitlist, by the way), the no-shows are even more bothersome because potentially there were other more interested (and responsible) parties who missed out because your event sold out. Some organisers keep track of these ill-mannered folks and put them on a “black list” for future events (I don’t – but I can certainly understand the motivation).
  • Alcohol – If you’re going to serve alcohol at your event(s), be sure to check with the venue first and make certain that there are no rules or restrictions. You may also want to consider if liability insurance might be required.
  • Keeping it going – If your meetups are intended to be regular (i.e. monthly), do your best to keep that rhythm and not miss a month. It’s also best to keep it to the same night (e.g. the 2nd Wednesday of each month) as your members will get used to that pattern and attendance will be more regular. If you have to move an event off the usual schedule (perhaps because of a public holiday or to accommodate an out-of-town speaker), then be sure to give plenty of notice and broadcast at least twice as much as usual on social media. A member who turns up at the normal day/time expecting a meeting only to be disappointed is likely to leave your group with a bad taste in his/her mouth.
  • Member buy-in – Ask your attendees what topics they are interested in hearing about. This is best done live in a meeting, as those that actually turn up should be rewarded by having influence. Then do your best to find speakers on those topics. Remind your members that this is their community – and that they can and should take some ownership in terms of where it goes.
  • Extend the Reach – Nothing beats a live event. However, if you can convince your speaker to allow a recording, publishing the video presents an opportunity to reach more people, even from around the globe. Just be aware that not every speaker will agree to this; don’t push them if they are uncomfortable. You could always invite them to make their own offline recording if they wish.  If you can afford the equipment, I’ve found the RØDELink Filmmaker wireless mic to be excellent for crystal clear sound quality. For recording software, I use Camtasia, but there are free programs out there as well, for example OBS. Just be aware that editing these recordings can take time.  For an example of how this can work, please visit the Brisbane Azure User Group YouTube channel where we have posted a number of session recordings.
  • Be welcoming! – Make your members feel appreciated. Ensure they get a nice welcome email when they register for your group. Make an effort to meet and greet newcomers. Try to learn their names so that you can greet them the next time they turn (“Hey Bob! Great to see you again!”) A large benefit of live meetups is the networking and social aspect; make the most of it! Members are likely to come back more often if they get a warm & fuzzy feeling. If they are ignored and/or feel unappreciated… well then you know what to expect.

Summary

Running a user group takes some time, effort and planning – but it is a very rewarding experience, especially if you can build up a healthy attendance. Forums and blogs are useful, but nothing beats the impact of live presentations, not to mention the networking opportunities of meeting people who share the same passion as you.

September 23, 2019 Weekly Update on Microsoft Integration Platform & Azure iPaaS

September 23, 2019 Weekly Update on Microsoft Integration Platform & Azure iPaaS

Do you feel difficult to keep up to date on all the frequent updates and announcements in the Microsoft Integration platform and Azure iPaaS?

Integration weekly update can be your solution. It’s a weekly update on the topics related to Integration – enterprise integration, robust & scalable messaging capabilities and Citizen Integration capabilities empowered by Microsoft platform to deliver value to the business.

If you want to receive these updates weekly, then don’t forget to Subscribe!

Microsoft Announcements and Updates

Community Blog Posts

 

Videos

 

Podcasts

 

How to get started with iPaaS design & development in Azure?

  • Robust Cloud Integration with Azure
  • Microsoft Azure for Developers: What to Use When
  • Serverless Computing: The Big Picture
  • Azure Logic Apps: Getting Started
  • Azure Logic Apps: Fundamentals
  • Microsoft Azure Developer: Creating Enterprise Logic Apps
  • Microsoft Azure API Management Essentials
  • Azure Functions Fundamentals
  • Cloud Design Patterns for Azure: Availability and Resilience
  • Architecting for High Availability in Microsoft Azure

Feedback

Hope this would be helpful. Please feel free to reach out to me with your feedback and questions.

An Effective Way of Using KB Articles in BizTalk360

An Effective Way of Using KB Articles in BizTalk360

For those who spend most of their time working with Service Instance messages, ESB exceptions and Event Log entries, it might be good to know that BizTalk360 can ease you with the feature “Knowledge Base”. The Knowledge Base acts as a repository of articles that contain solutions to the common problems which are faced by users while working/supporting the BizTalk environment. One of the great advantages of the Knowledge Base is that you can store the information related to the exact error condition and share that with other users for reference.

In BizTalk360 you can create and refer KB articles for the following sections:

  • Service Instances
  • Event Log entries
  • ESB Exceptions
  • Throttling Data

Importance of having KB article 

A knowledge-base is the one thing that can be instantly useful for both your support agents and customers. Support agents can refer to the knowledge base and answer the customer queries quickly, instead of spending time asking someone for guidance or trying multiple solutions. Customers can search for answers to their questions in the knowledge base, instead of contacting Support and waiting for a reply.

By having KB articles, it is very handy to document the solution to known issues, and most importantly it is fully customizable and easy to document. It’s a simple and intuitive user interface, through which the users will enjoy using this repository.

Let us consider a scenario that will help us to understand the importance of KB Articles a bit more. In an organization, not every user will be available on time for providing guidance. Some may be remote users, for whom the Knowledge Base will act as a self-service hub that will hold the referral documents or solutions.

Say for instance, while handling support, some issue has been raised and solved for a customer. After a while, another user has raised a support ticket for the same issue. In case the solution to the issue has been documented, this kind of situation can be handled much more effectively and less- time-consuming.

BizTalk related KB articles

When an issue occurs in BizTalk which ends up as a Suspended instance, it will hold an error code. By using this as a key point, you can document the solution for each issue. If needed, you can even use criteria like BizTalk application, Service name and (parts of) the Error Description to associate an article to an issue. Similarly, BizTalk360 will also let you document issues related to Event Log entries, Throttling data, and ESB exceptions.

Scenario 1

Let me share with you a support case which we have handled recently. In a firm, we often used to upgrade our setup. While setting up the environment, we may face similar issues that occur frequently.  Whenever any configuration related issue occurs it will be logged in the event viewer, along with the Description and Event Id. Say for instance, if the BizTalk server throws an “MSDTC” or “ENTSSO” exception while performing any operation. Using that Event Id, you can create a BizTalk360 KB article, through which you are providing visibility over the issue, which can be referred to in future cases.

log

environment

Note: In the case of Event Log entries, BizTalk360 associates KB articles based on the Event ID. However, as the Event ID might not be enough to uniquely associate a KB article to a particular Event Log entry, you can also use properties like Event Log, Event Log Source, and few other properties. You can even take partial text from the actual Event Log entry description!

Scenario 2

Similarly, BizTalk Server continually monitors for throttling conditions, calculates the severity of the throttling condition, and applies host throttling progressively depending on the calculated severity. To handle this, BizTalk360 contains an Analytics (Windows NT) service specifically to collect the throttling performance counter data from the various BizTalk servers in the environment. Throttling activity of a host instance is being monitored and at a point in time, the monitoring service plots the throttling state against, for example, the ‘System Memory’. Once the reason and a mitigation strategy are identified for the throttling, as a best practice, the information can be documented in a KB article.

KB-throttling-data

Scenario 3

Service instances can fail due to some error and BizTalk attaches the error with an error code and an error description. In the same way, other service instances can fail for the same reason as the previous one. I.e, if there is a suspended message, you can find the error code for the same. The error code 0xC0C01B4e represents routing failure messages.

service-status

query-expression

With the BizTalk360 knowledge base, you can document the solution by referring to amongst others the error code and the error description. Once the Knowledge Base article is defined for one error code, event log, etc., it will be visible across all environments. In BizTalk360, whenever the issue occurs with the documented error code etc., then the user can see the KB article icon. By clicking on the properties (or eye icon), you can find the document under the KB article tab with the reason/solution you have created.

KB-article-tab

When creating multiple articles for the same error code, select the appropriate tags (Environment, Service Class, Application Name, Error Text, Host Name, Service Status, Service Name) for the error code. The tags will play the differentiator role to display the appropriate KB article.

service-instance

Note: BizTalk360 allows super users to create KB articles specific to one environment. All the users in that environment will be able to see the articles.

Best practice of using the KB article

  • Whenever an issue occurs and became resolved, make a practice to always document the solution in a KB article.
  • Keep the Titles of the KB articles as straight forward as possible, the simpler, the more is it understandable. Ensure it is to the point and include the most important keywords.
  • Formatting solution articles is extremely important. Clearly, differentiate your titles and subtitles. Split different sections using a horizontal line. Bold the action items in each step so it’s easy for the user to skim.  Provide the step by step details of the solution.
  • Refer to the link related to the article.
  • Be descriptive with relevant points.
  • Tag the article to have clear usage and better reference.

With the above-mentioned tips, you can make your KB articles a well understandable document.

Conclusion

With the Knowledge Base feature, we provide visibility over resolved issues and the same can be brought into the notice to all the users. With this feature, we can improve the visibility of issues and reduce time consumption in solving the issues which will lead to higher productivity.

The post An Effective Way of Using KB Articles in BizTalk360 appeared first on BizTalk360.

Service Bus + Terraform

I have worked with Azure Service Bus for years and one of the biggest challenges was always how to manage change on the Queues and Topics within a Service Bus Namespace. You could use a tool like Service Bus Explorer to manually make the changes, but this approach is manual and error prone. You can do exports and imports of configuration but a bit like managing SQL Script changes it’s tough to work out the delta and deploy just what’s needed to your various environments. If only there was a way to do this just like you do for any other Azure component with CI and CD pipelines.

Fortunately there is and you can read more about it in my article posted on Serverless360 blog – https://www.serverless360.com/blog/alm-with-azure-service-bus

The post Service Bus + Terraform appeared first on Microsoft Integration & Cloud Architect.

Security Compliances in BizTalk360

Security Compliances in BizTalk360

BizTalk360 is the one-stop monitoring solution for your BizTalk environment. Being a web application, security plays an important role in the application. Any organization installing the product would be considering the security aspects of the application. With BizTalk360 we provide high-level authorization capabilities through the User Access Policy and Governance/Audit capabilities.  The level of access can be customized for any BizTalk360 user. The activities performed by the users within BizTalk360 are audited and listed in the Audit History section.

Security compliance is a legal concern for organizations in many industries today. In demonstrating security compliance, enterprises are better able to define and achieve specific IT security goals, as well as mitigating the threat of network attacks through processes like vulnerability management. The security requirements and standards may vary for different organizations.

Being a web application, BizTalk360 is also expected to comply with the security standards for the organization’s demands. In this blog, I would like to give some details on some of the security compliances that are accommodated in BizTalk360. Let’s get into the details of the security compliances in BizTalk360.

security

FIPS Security

The FIPS standards specify the best practices and security requirements for implementing crypto algorithms, encryption schemes, handling important data and working with various operating systems and hardware, whenever cryptographic-based security systems must be used to protect sensitive, valuable data. FIPS defines specific methods for encryption and specific methods for generating encryption keys that can be used.

BizTalk360 also uses encryption/decryption algorithms for security.

There are some modules that require information like passwords, application security keys (for adding Azure subscriptions in BizTalk360 UI) to be provided in the UI. This kind of data will be encrypted and stored in the database. The areas in BizTalk360 where encryption is used include:

  • License activation
  • Adding Azure Subscription
  • Placeholders in custom widgets
  • Notification channel configurations
  • Accessing endpoints for monitoring

BizTalk360-License

BizTalk360-Azure-Subscription

FIPS Compliance is mandatory for US government computers, which means that all computers used for government work must be FIPS compliant. Application developers who need to test their software for government computers must ensure that they perform their testing on FIPS compliant computers.

Often, the support team gets support tickets from customers through various channels like email, feedback widget, and the support portal. One such ticket from a customer was that there was an error message in BizTalk360 UI as seen below.

error-message

As per the Government rules, the organization had to turn on the FIPS encryption algorithm in all the servers. Once the encryption was turned on, the above error started displaying BizTalk360. This is due to the reason that FIPS supported encryption methods were not available since it was AES standard compatible. The development team checked for all the areas where the encryption algorithms were implemented and modified them to support the FIPS standard.

This is considered as one of the important security aspects because if the compliance is not met, it would have been difficult for the customer to continue to monitor their BizTalk environment using BizTalk360.

TLS latest version Support

Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. Several versions of the protocols find widespread use in applications such as web browsing, email, instant messaging, and voice over IP (VoIP). Websites can use TLS to secure all communications between their servers and web browsers.

The TLS protocol aims primarily to provide privacy and data integrity between two or more communicating computer applications. There are different versions of TLS available. BizTalk360 was supporting TLS 1.0 until BizTalk360 v8.8. With the latest version of TLS, it is important that BizTalk360 also supports this latest version. This must be done at the installer level; when TLS 1.2 was not yet supported, the BizTalk360 installer would fail while trying to connect to the SQL database. This has been modified to support TLS 1.2.

We are happy to inform you that, from v8.9 onwards, BizTalk360 supports TLS 1.2.

Other security considerations

From a security perspective, Databases are considered as important for any organization. As access permissions to the database are restricted for safety reasons, DBAs are not ready to give all rights to all users. They would only provide the absolute minimum of required permissions on the database. The same principle is used in BizTalk360 as well. Under the Secure SQL queries option, the user can create/execute queries.

The following are the advantages of Secure SQL queries functionality in BizTalk360:

  1. Single management tool for users to execute the queries. No need for SQL Server Management Studio
  2. Central Query Repository – maintaining queries is much easier
  3. The end-users need not have direct access to the SQL database. The queries will be executed in the context of the BizTalk360 service account, therefore only the service account requires access to SQL Server
  4. Queries can be executed against any SQL instance/database which can be accessed by the BizTalk360 service account

But how is the security imposed here? Well, in BizTalk360, the Super User can choose the required permissions for the user in the query execution and provide the necessary access permission under the User Access Policy. Based on these permissions, the user can perform the query execution when he logins to BizTalk360.

BizTalk360-Query-Execution

There might be some organizations that would run a security scan report to find any security issues that may come with BizTalk360.  One such report was generated by one of our customers and they shared where the security risks were, classified as high, medium and low risks.

Some of the risks that were identified were SQL injection, database error patterns, and directory listing. Due to the SQL server injection, there might be the possibility to view, modify or delete database entries and tables. For the directory listing enabled, it is possible to view and download the contents of certain web application virtual directories, which might contain restricted files. The test result seems to indicate a vulnerability because the response contains SQL Server errors. This suggests that the test managed to penetrate the application and reach the SQL query itself, by injecting hazardous characters.

Being an on-premise application, the directory browsing should not affect the security because the application is installed on-premise and the database is also local and specific to the organization. The users who will have access to BizTalk360 will be Active Directory users of the specified domain. Also, BizTalk360 can be accessed in another domain only when there is a proper trust established between the domains and the users are added to the security group in the domain. The response contains the content of a directory (directory listing). This indicates that the server allows the listing of directories, which is not usually recommended.

Hence, disabling the directory browsing for the BizTalk360 site in IIS will not affect the application in any way. Once that was disabled, the risk was mitigated. For the SQL injection, the query to retrieve the tracking database performance counters and BizTalk Server performance counters were modified. These types of queries led to vulnerability because the response contained SQL Server errors. This suggests that the test managed to penetrate the application and reach the SQL query itself, by injecting hazardous characters. This was mitigated by modifying those queries accordingly.

Conclusion

With the security aspects in consideration and as per the feedback from the customers, we always enhance the features of BizTalk360. Considering the priority of the reported issue, our team will always act immediately, and the fix would be provided. This way we make sure that the product is secure and meets all the security standards so that there will not be any hindrance in monitoring your BizTalk environment using BizTalk360.

Happy monitoring with BizTalk360!

The post Security Compliances in BizTalk360 appeared first on BizTalk360.

September 16, 2019 Weekly Update on Microsoft Integration Platform & Azure iPaaS

September 16, 2019 Weekly Update on Microsoft Integration Platform & Azure iPaaS

Do you feel difficult to keep up to date on all the frequent updates and announcements in the Microsoft Integration platform and Azure iPaaS?

Integration weekly update can be your solution. It’s a weekly update on the topics related to Integration – enterprise integration, robust & scalable messaging capabilities and Citizen Integration capabilities empowered by Microsoft platform to deliver value to the business.

If you want to receive these updates weekly, then don’t forget to Subscribe!

 

Microsoft Announcements and Updates

 

Community Blog Posts

 

Videos

 

Podcasts

 

How to get started with iPaaS design & development in Azure?

  • Robust Cloud Integration with Azure
  • Microsoft Azure for Developers: What to Use When
  • Serverless Computing: The Big Picture
  • Azure Logic Apps: Getting Started
  • Azure Logic Apps: Fundamentals
  • Microsoft Azure Developer: Creating Enterprise Logic Apps
  • Microsoft Azure API Management Essentials
  • Azure Functions Fundamentals
  • Cloud Design Patterns for Azure: Availability and Resilience
  • Architecting for High Availability in Microsoft Azure

Feedback

Hope this would be helpful. Please feel free to reach out to me with your feedback and questions.

BizTalk360 Application Server – Hardware Requirements

BizTalk360 Application Server – Hardware Requirements

Introduction

Managing the infrastructure of BizTalk/SQL Servers is a vital task to BizTalk/System Administrators. Manually monitoring the infrastructure of BizTalk Environment is a cumbersome task.  BizTalk360 is the operational, monitoring and analytics tool which is used to manage the health of BizTalk and SQL Servers in an efficient way. Many customers approach the BizTalk360 Support Team to provide the Hardware Requirements of BizTalk360.

In our Documentation portal, we have provided the BizTalk360 installation document with hardware requirements for a BizTalk360 instance which contains one BizTalk Group. We provided the prerequisites with both software and hardware requirements, considering the BizTalk360 is set up in a stand-alone server.

We also have BizTalk360 Installation guide to set up BizTalk360. This article is focused on the hardware requirements of Windows Server to install the BizTalk360 application.

BizTalk Group Configuration

In most organizations, BizTalk Groups are set up in at least 3 environments (Production, Staging, QA/Dev). Considering these configurations of BizTalk Groups, we are suggesting the BizTalk360 application servers hardware requirements with BizTalk360 Gold tier. Having the Gold tier, and not Platinum, means that you will not have the ability to use the BizTalk360 Analytics features, but this will also save you from needing additional resources which come along with the Platinum features. However, with the mentioned hardware requirements, we kept the possibility open for upgrading to the Platinum tier, without the need for additional hardware requirements.

BizTalk-Group-Configuration

BizTalk360 – Application Server Configuration

Goal: Create a separate instance of BizTalk360 Application Servers for twos version of BizTalk Server environments (BizTalk Server 2016 & 2013 R2).

Scenario 1

We have written down the requirements for the BizTalk360 Application servers for BizTalk Server 2013 R2 environments, as well as BizTalk Server 2016 environments. Each of these BizTalk360 Application servers will be used to operate and monitor 3 different BizTalk environments. The specifications for these servers have also been written with that requirement in mind.

You will also find the requirements for the SQL server, which will host 2 SQL Server instances. Each SQL instance will host a BizTalk360 database, which will connect to either the BizTalk360 application server for monitoring the BizTalk Server 2016 environments or the one for monitoring the BizTalk Server 2013 R2 environments.

The system requirements to install BizTalk360 are considered to configure 3 BizTalk Groups in per BizTalk360 installation.

BizTalk360 Application Server

Resource

Requirements

Computer and Processor

A computer with an Intel Pentium-compatible CPU that is 1 GHz or higher quad processors. The 64-bit versions of BizTalk Server require a 64-bit operating system running on an x64 based system.

Memory

16 GB or higher

Hard Disk

Minimum 20 GB of available hard-disk space for a complete installation including the operating system and all prerequisite software. The hard disk must be NTFS formatted.

 

BizTalk360 – Database Server (2 SQL Instances)

Resource

Requirements

Computer and Processor

A computer with an Intel Pentium-compatible CPU that is 1 GHz or higher quad processors. The 64-bit versions of BizTalk Server require a 64-bit operating system running on an x64 based system.

Memory

16 GB or higher

Hard Disk (Database)

Minimum 200 GB of available hard-disk space for a complete installation including the operating system and all prerequisite software. The hard disk must be NTFS formatted.

 

Why do we need these specifications?

In complex BizTalk environments, multiple BizTalk Servers and SQL Servers are configured. Based on these BizTalk Group configurations, we arrived at the BizTalk360 Application Server and BizTalk360 Database Server Configuration.

BizTalk360 Application Server

  1. Processor: To process the various data from (2 or more) BizTalk Servers and SQL Servers, BizTalk360 Application Server requires a high-end processor.
    • WMI Queries are used to collect the Event Log Sources from BizTalk and SQL Servers

    • Querying against the BizTalk databases like Message Box and Tracking Database

    • PerfMon is used to collect System Resources and Performance Metrics analytics data

  2. Hard Disk: Disk Storage of BizTalk360 Application Server is necessary to hold the following data
    • Message Content (Archived Messages)

    • User Profile Images

    • Processed Email Content

    • Custom Widget Scripts

BizTalk360 Database Server

BizTalk360 collects Event Log Sources and Performance Metrics from BizTalk and SQL Server and stores that data into the BizTalk360 database. It also collects Tracking Data to determine the Message Patterns and Transmission Failure Rates.

The BizTalk360 Administrator makes sure the Data Purging Jobs are in healthy status to manage the growth of BizTalk360 database.

BizTalk360 High Availability

Many customers are configuring the BizTalk360 Monitoring Service and Analytics Service in high availability with Windows server cluster setup.  In this case, you need two BizTalk360 Application servers, with the configuration mentioned in the above table.

Note: Customers can install all three components in high availability configuration

  • BizTalk360 Web Application
  • Monitoring Service
  • Analytics Service

High-Availability-Status

Users can manage the BizTalk360 Monitoring and Analytics services in the Settings -> BizTalk360 Health. Read this article to know more about BizTalk360 High Availability status.

Scenario 2

Some customers use different instances of BizTalk360 for the same version of a BizTalk Group in QA, Staging and Production environments. In this scenario, three different Windows servers are required for BizTalk360 Application configuration. Similarly, three SQL Servers are required to configure the BizTalk360 databases. If they want to set up high availability of BizTalk360 in production, then one BizTalk360 Application Server and one SQL Server are added to the list.

BizTalk360-Application-Configuration

Conclusion

Once all the setup and configurations are in place, it is a quick and seamless task to install/upgrade BizTalk360. The customer suggestion and feedback are always heard and addressed, which helps us to improve the product and provide better service.

The post BizTalk360 Application Server – Hardware Requirements appeared first on BizTalk360.

Performance Data Collection Optimization

Performance Data Collection Optimization

BizTalk360 aims to offer capabilities out-of-the-box from tools like the Windows Performance Monitor. The BizTalk360 Analytics service collects the performance data for the various server types like BizTalk, SQL, IIS, and Windows. Based on the server type selection, the Analytics service will start collecting the performance data and that can be visualized in BizTalk360 Analytics widgets or the user can push that data to third-party APM’s (Application Performance Monitoring) like New Relic, AppDynamics or Dynatrace.

BizTalk360 also allows administrators to automatically execute queries against the Tracking database, at a specific interval, to view, analyze and troubleshoot the tracked data. For the Tracking data, BizTalk360 provides a similar user experience to the performance data collection. This allows the user to pick the metrics they want to collect.         

In this article we will look into detailed information about:

  1. Performance Data Collection of each type (BizTalk, Windows, SQL, IIS)
  2. Tracking Data Collection
  3. Analytics Custom widgets in BizTalk360

Performance Data Collection

To analyze the performance of a BizTalk environment, BizTalk360 is equipped with Performance Data Collection in the Analytics section. Once the user enabled any one of the server types (BizTalk, SQL, IIS, and Windows) in any selected environment, the BizTalk360 Analytics service will start to collect all the related counters.

For enabling the performance data, navigate to the Settings section of BizTalk360. In the Analytics configuration, you can manage the performance data collection in the Manage Analytics section.

Once the performance data collection is enabled for a server, the Analytics service will start to collect counter data on the next polling cycle.

For a larger environment, the Analytics service may need to collect multiple counter data, but the user might not require all those data. For instance, if a user wants only the BizTalk message related counter data to analyze the performance of the BizTalk environment, the Analytics service collects all the BizTalk related counters.

Perfromance-Grid

Performance Data collection Optimization

To address this challenge, BizTalk360 allows the user to manage the metrics collection from the v9.0 phase 2. To narrow down the data collection at a server level, the user can optimize the data collection using the “Manage Metrics” option for each server in an environment.

With the “Manage Metrics” option, the user can choose the required performance metrics based on types, so that BizTalk360 Analytics will start collecting data only for those metrics.

Let’s take a deep dive on how a user can manage the metrics collection at the server level.

In BizTalk360, each server’s counter is segregated into 4 types:

  1. BizTalk
  2. Windows
  3. IIS
  4. SQL

Most of the BizTalk environments will be in a multi-server setup where at least BizTalk Server and SQL Server are configured in different machines. A user may expect BizTalk related counters from BizTalk Server or SQL related counters from SQL Server. A user may not want SQL/IIS related performance metrics data in a BizTalk server machine. By using the “Manage Metrics” option in each server, the user can choose the metrics needed for each server. This improves the overall performance of the Analytics service and avoids the growth of the database.

Microsoft-Teams

Tracking Data Collection

BizTalk360 allows the user to run queries against the Tracking database and display the result in a widget. In some scenarios, retaining the tracking data longer than the actually required duration, causes the database to grow exponentially. In other scenarios, the environment doesn’t follow a strict purging policy. For both cases, it is hard to query against the Tracking database due to its size.

In a larger database, querying against the Tracking database and displaying the data, results in a graphical form in the widget. This could degrade the performance of the queries and impact on the user experience of the Analytics dashboard.

To overcome these challenges, we created a service in v8.3 that collects the tracking data periodically in small chunks and avoiding expensive queries on the Tracking database, and metrics are collected rather than pulling all the tracking data into BizTalk360 database.

Once decided to go with new this data collection method, BizTalk360 provides a customizable interface where user can pick the metrics they wanted to collect. A similar user experience to the performance data collection in BizTalk360 allows the user to fine-tune the data collection at an environment level.

Tracking-Data-settings

Analytics Custom Widget in BizTalk360

BizTalk360 is loaded with customizable information and a variety of widgets to choose from, which can be added to your dashboards. The BizTalk360 Analytics dashboard is loaded with performance data widgets and tracking database widgets, like the Messaging performance and transmission failure rate widgets.

Widget-Metrics

Users can add custom widgets to both the Analytics dashboard and custom dashboards in BizTalk360. The product provides rich options for adding widgets in these dashboards. Users can choose

  • Date Range (24 hours, 7 days, 30 days, custom date range)
  • Comparing data with previously generated data
  • Graph type (line, column, area)

Based on the selected date range, the performance data gets collected from the BizTalk servers.

Once the analytics components, for which the data needs to be collected, are enabled, the different metrics for the custom widgets will get enabled. With the custom widgets, you can choose different metrics for which you want to view the data. Users can choose messaging performance/transmission failure of tracking data or performance data from the drop-down.

Conclusion

Do you wish to see more information on the widgets or from the product itself? Then, please put in your suggestions and feedback in our user voice portal. The existing ideas can also be voted for. We at BizTalk360 aim at providing the features that fulfill the customer requirements. It is from this feedback portal that the features get picked up for every release.

For more information about how these widgets work, check our Documentation Portal.

The post Performance Data Collection Optimization appeared first on BizTalk360.

September 8, 2019 Weekly Update on Microsoft Integration Platform & Azure iPaaS

September 8, 2019 Weekly Update on Microsoft Integration Platform & Azure iPaaS

Do you feel difficult to keep up to date on all the frequent updates and announcements in the Microsoft Integration platform and Azure iPaaS?

Integration weekly update can be your solution. It’s a weekly update on the topics related to Integration – enterprise integration, robust & scalable messaging capabilities and Citizen Integration capabilities empowered by Microsoft platform to deliver value to the business.

If you want to receive these updates weekly, then don’t forget to Subscribe!

 

Microsoft Announcements and Updates

 

Community Blog Posts

 

Videos

 

Podcasts

 

How to get started with iPaaS design & development in Azure?

  • Robust Cloud Integration with Azure
  • Microsoft Azure for Developers: What to Use When
  • Serverless Computing: The Big Picture
  • Azure Logic Apps: Getting Started
  • Azure Logic Apps: Fundamentals
  • Microsoft Azure Developer: Creating Enterprise Logic Apps
  • Microsoft Azure API Management Essentials
  • Azure Functions Fundamentals
  • Cloud Design Patterns for Azure: Availability and Resilience
  • Architecting for High Availability in Microsoft Azure

Feedback

Hope this would be helpful. Please feel free to reach out to me with your feedback and questions.