In this article, we look at the development and maintenance of bigger Integration solutions. What are the differences between MuleSoft Anypoint and Azure Integration?
A Mule app/service can contain multiple flows and subflows, which provides a way to add structure and eases navigation through the flows. Logic can also be shared across Mule apps, which makes it possible to standardize logic for error handling and logging.
MuleSoft has a dedicated transformation language (Dataweave) that has more expression power than the traditional XSLT language. The Dataweave language is used also for inline expressions, so once developers are familiar with the language, it can be effectively used in all places. For non-standard logic or transformations, custom Java can be embedded.
MuleSoft apps are usually developed in an IDE (Anypoint Studio), although there is also a web-based designer, with a smaller feature set. The MuleSoft IDE is mature; coming with programming language features like typed variables, debugging flows (breakpoints, variable inspection and editing) and ‘step into’ navigation through (sub)flows. For unit testing individual Integration flows, MuleSoft’s provides a test framework (MUnit). This allows developers to define various assertions and mock consumed services. Developers can use the Test Recorder feature to build the unit test based on observed request/response messages.
A regular Logic App is a single workflow consisting of a trigger (timer, event or request) and 1 or more actions. However, with the new single-tenant Standard Logic App, multiple flows can be bundled in a single app. This does not however include the ability of (internal) flow-to-flow invocation.
The single-tenant Logic Apps offer a choice between stateful or stateless workflows. Stateless workflows will be faster by avoiding state storage and are suitable for request-response and IoT scenarios.
Integrating with other Azure services is made straightforward with the concepts of a managed connector (the connector is hosted outside the Logic App and managed by Microsoft) and managed identity (automating the setup of a token for authentication). This approach directly supports event-driven scenarios where events originate in other Azure services.
Azure Logic Apps initially offered only a web UI, but can now be developed locally (in the Visual Studio or VS Code IDE), thereby enabling version control and a modern delivery approach with a CI/CD pipeline. With the 2021 designer update, complex workflows can be visualized and edited. It now also includes debugging features for Logic Apps, which are not as advanced yet (e.g. cannot edit variable values; some actions must be done from code view).
There is no built-in support for unit testing flows. So developers have to rely on an API testing tool like Postman and tooling for mocking backend systems. With the managed connector functionality, connecting to external services (especially Azure services) and use them as event-based trigger is straightforward. Combined with the dynamic suggestions while configuring the actions, it is easy to develop the workflow.
The web-based development experience for Logic Apps is smooth, thanks to Azure taking care of the connectivity setup and authentication through ‘managed identity’. For high throughput or low latency requirements, the consumption Logic Apps will be insufficient. These scenarios are traditionally handled through custom coding using Azure Functions. The new single-tenant Logic Apps pose a promising alternative and can be evaluated as well. Limitations still apply, e.g. around the managed connectors which have limitations on throughput (number of requests per minute) and have higher latency compared to built-in connectors.
For complex Integration scenarios (being developed by Integration developers), the web-based experience will inherently be too limited, as local development offers benefits like better version control, debugging, better responsiveness and more advanced editing options. MuleSoft has traditionally been strong in IDE capabilities (like debugging and designing complex flows). For Azure, the recently introduced Logic Apps Standard are significant steps forward for designing complex workflows.
With Azure, adhering to a delivery methodology and architecture is obviously possible, but will require more effort (defining the architecture and standards and ensuring compliance).
Devoteam can help you evaluate Integration products based on the requirements that are important to your organization. Any questions or would you like to receive more information about our Integration & API services? Don’t hesitate and reach out to us.
Devoteam’s Integration consulting services
Building on 20+ years of extensive Integration experience at both multinationals and SMEs, we support our customers with Integration technology services. Our experts cover the full spectrum of skills, experiences, and proven approaches needed for the Integration of processes regarding customers, services, products, and operating models. In short, we enable seamless ecosystem connectivity for your entire value chain. We enable organizations to easily connect with their prospects, customers, suppliers & partners by:
- Setting up (hybrid) Integration platforms, from architecture to configuration
- Taking care of your Integration environment through a managed services model with different support levels
- APIs & API Management
- Electronic Data Interchange (EDI)