Microsoft IT (CSE) use of Logic Apps for Enterprise Integration - Divya Swarnkar & Amit Kumar Dua
Divya opened by explaining how essential business integration is for the internal processes and overall functioning of Microsoft. The company is actively migrating their B2B partner integrations from on-premise to the cloud. They use interesting integration patterns and developed a specialized migration tool to move B2B partner agreements from BizTalk to Logic Apps.
Diya discussed two dynamic integration patterns for B2B and A2A integration scenarios, where API Management plays a central role in routing incoming messages through a sequence of Logic Apps that each have a specialized function. This approach does not only facilitate versioning, exception handling and process monitoring, but it also covers hybrid integration connectivity.
After some nice demos, they wrapped up the talk with some very interesting learnings that you can find in the picture below.
API Management deep dive - Vladimir Vinogradsky & Miao Jiang
In this session, Vladimir Vinogradksy covered developer authentication, data plane security and deployment automation.
To implement developer authentication, you can use a combination of users, groups, products and subscriptions. Supported authentication methods are username/password, identity providers, delegated OAuth, Azure AD and Azure AD B2C.
Next, Vlad showed how to secure the API gateway using technologies like API keys, OAuth2, OpenID Connect, mutual certificates, IP filters, VNETs and network security groups. He focused quite a bit on the powerful JWT validation policy for advanced authorization.
Finally, he talked about deployment automation. You can include ARM templates into your CI/CD pipelines to publish API's and sub resources to Azure. These ARM templates can be constructed from a development environment and then be merged to a publisher repository with pull requests.
Logic Apps Deep Dive - Matt Farmer & Kevin Lam
Kevin Lam kicked off this deep dive session with some recaps of last year concerning the Logic Apps designer and internal workflow engine.
Then came the interesting stuff: Integration Service Environments will become available at the end of the year. This will spin some dedicated and isolated compute power which you can use to run your Logic Apps in. The base model, which will have a fixed price, will allow you to run 50M actions / month, includes 1 standard integration account and 1 enterprise connector with unlimited connections. It will also allow VNET connectivity to on-premise systems. If 50M actions is too little for you, you can buy additional processing units for 50M actions extra each.
Afterwards, Matt Farmer took to the stage and talked about custom connectors. He showed us how to easily create your own custom connector for any SOAP/REST API by using a simple wizard. To finish off he enlightened us about the requirements for connector certification.
Logic Apps Patterns & Best Practices - Kevin Lam & Derek Li
Kevin Lam was back again after the break to talk about Logic Apps patterns and best practices. He walked us through common workflow and messaging patterns. In a demo, he showed how easy it is to implement a peek-lock messaging pattern with Logic Apps: only 15 seconds to achieve this.
He talked about the try/catch possibilities, to make robust enterprise integrations. He stressed the point that the default mode of logic apps is to run in parallel, but you can control the level of concurrency!
Then Derek Li took over to show some best practices, focusing on variables and concurrency. Variables are global: something you should be aware of when using them inside a for each, as they can give unexpected results. He showcased several possibilities to loop through an array while using conditions, explained how you can use the filter array action or how splitting can be achieved by calling a child Logic App with a SplitOn trigger.
Microsoft Integration Roadmap - Jon Fancey & Matt Farmer
Jon and Matt kicked off this session by giving their view on integration and a retrospect on the past year. They are proud to have reached the leader status in Gartner's iPaaS quadrant.
Features that will be available soon in Logic Apps are:
- Availability in China cloud
- Smart designer, including favorites and intelligent suggestions
- Integration Service Environments
- Testability and mocking
- Ability to run in Azure Stack
- Managed Service Identity for all Azure connectors
- OAuth for request triggers
Next to that, there's the great announcement of Azure Integration Services, where Logic Apps, API Management, Service Bus and Event Grid will be positioned under one umbrella. This is not a pure marketing effort, they're really looking to glue these service together even better by creating reference architectures, templates for common solution patterns and guidance on CI/CD, disaster recovery and scalability.
Azure Integration Services will continue to on-board BizTalk functionality (business rules, HL7, RosettaNet…) and give it a cloud-native implementation. BizTalk is not positioned in this picture, but it will remain to play a crucial integration role for many customers.
What's there & what's coming in BizTalk360 & ServiceBus360 - Saravana Kumar
The first part of Saravana's session covered BizTalk360, that mainly provides operations, monitoring and analytics for BizTalk environments. A nice demo showed the value of BizTalk360, with customizable dashboards constructed with predefined widgets and by combining all admin tools in one web interface. Monitoring of several Azure Services has been added to the product, mainly to cover the management of Logic Apps for hybrid solutions, as more and more customers are exploring hybrid scenarios.
The second part focused on ServiceBus360, that will be renamed to Serverless360! The main goal of Serverless360 is getting rid of the silo offering in Azure, and approach monitoring as severless composite applications. After Sarvana concluded his demo, he continued with explaining the security features available in Serverless360, such as governance for serverless apps and secure user access at application level. With nice features like edit/resubmit, auto cleaning and more. He concluded his talk with the choice for hosting : SaaS or Private Hosting.
Serverless Messaging with Microsoft Azure - Steef-Jan Wiggers
Our very own Steef-Jan started his session with an introduction to serverless in general. He compared the Azure serverless messaging services with the four Daltons: they work together nicely and don't compete with each other. Here's an overview of the four Daltons:
- Service Bus for enterprise messaging. "Business state transition"
- Event Hubs for big data streams. "Flow data and telemetry in real-time"
- Storage queues for simple tasks. "Coordinate simple tasks across compute"
- Event Grid for reactive programming. "Reacting dynamically to the work around you"
He continued with impressive demos of interesting scenarios. He sent messages to Event Hubs, using .NET Kafka libraries. He showcased a tollbooth license plate recognition solution, leveragig Azure Event Grid integration with storage accounts. Besides that, he showed the power of the CosmosDb change feed for a serverless home automation scenario. Finally, he showed messaging with Kubernetes.
To summarize, he gave the following architectural advise:
- Choose the right messaging service(s)
- Look at the type of workloads
- Think about security and compliance
- Are there cross-platform requirements
- Take into account cost when architecting messaging solutions
- Automate your devops process
What's there & what's coming in Atomic Scope & Document360 - Saravana Kumar
According to Saravana Kumar, Atomic Scope provides end to end visualization for business integration processes. There is some instrumentation needed to be able to use the tool, but you gain a significant amount of time compared to writing a custom monitoring solution yourself. You can track BizTalk and Logic Apps integrations and messages from a functional perspective. According to Bart Scheurweghs, the added value is about tracking messages, message archiving, business exceptions, easy user configuration and dashboard. During a live demo, he showed an actual customer scenario, including exceptions. The session ended with some feedback from the field, with good suggestions that will be placed on the roadmap of Atomic Scope.
BizTalk Server: Lessons from the Road - Sandro Pereira
Sandro Pereiro was up next, with some ‘Lessons from the Road’. He started off by telling us to use the right tool for the right job, and stressed that BizTalk or Logic Apps might not always be that tool, using his usual sarcastic style as seen below:
He told us to ‘stop logging everything’: though BizTalk itself is GDPR compliant in itself, when you log entire messages, your application may not be. Another point he mentioned was that we should be careful with feature packs because they might break our code (calling out Microsoft for removing an assembly from the GAC instead of just adding a new version);
Cumulative updates on the other hand should always be installed. He finished his session by talking about patterns like singletons and sequence convoys that should be avoided in his opinion, as they can produce issues like ever-running instances or even zombies. Accordng to Sandro you can use alternative designs to avoid these types of patterns. All in all an entertaining session with some nice tips!
Using BizTalk Server as your Foundation to the Clouds - Stephen W Thomas
The last session of the day was by Stephen W. Thomas who showed us some use cases about connecting BizTalk Server with the cloud. The session was split in 2 parts: the first one was about how and why to connect BizTalk to your Logic Apps.
One reason to include Logic Apps is when you want to use special connectors for social media monitoring, customer communications, cross team communication and incident management. Second use case is batching, everybody has certainly done this before in BizTalk, but Logic Apps is a lot better in it, which he showed in a quick demo. You can do your inbound de-batching before sending the actual data to BizTalk. Inbound FTP/SFTP connections are another use case where Logic Apps can replace your BizTalk to do the grunt work. And the last use case is using Logic Apps to replace your reverse proxy. In all these use cases, you just use your BizTalk to do the actual on-premise processing.
The second part of the session covered some friction points that clients might raise because they don't want to move to Logic Apps or Azure in general. For every friction point, Stephen gave some pointers on how to handle these. Some will say "we already have BizTalk, why not use that", or that their data is too sensitive, or because the infrastructure manager says no. Another thing they throw your way is that the learning curve for Logic Apps is too high. Or that Azure changes to frequently. The last friction point was CEO/CTO says NO to the cloud.
Thank you for reading our blog post, feel free to comment or give us feedback in person.
This blogpost was prepared by:
Matthijs den Haan
Niels van der Kaap