This blog post is based on the internal work of Thomas Baumgart, former MuleSoft Client Architect, and is now being published by MuleSoft.
This is the third blog in a series explaining how MuleSoft’s Anypoint Platform can provide agile connectivity across monolith, SOA, and microservices architectures.
With the acquisition of MuleSoft in 2018, Salesforce extended its solution portfolio with the unified API management and integration platform “Anypoint Platform.”
Salesforce acquired MuleSoft due to its belief that existing connectivity approaches do not solve the integration challenges of the fourth industrial revolution. Point-to-point application integration is brittle and expensive to maintain. In theory, a service-oriented architecture (SOA) approach provides some instruction, but have been poorly implemented in practice. As stated in earlier blog posts, the principles of SOA are sound: well-defined services that are easily discoverable and easy to reuse. In practice, however, these goals were rarely achieved. The need for well-defined interfaces resulted in top-down, big-bang initiatives that became stuck during the process. Not enough thought, if any, was put into the discovery and consumption of services. Implementing SOA using SOAP-based WebServices technology proved to be a heavyweight approach that was ill-suited then and even more ill-suited for the mobile use cases of today.
A new approach that leverages existing investments, and enables IT to seize the moment to drive transformational change is needed; one that enables agility, but allows IT to maintain visibility and control. This requires the IT team to shift its mindset away from project delivery to delivering assets as services. This means enabling self-service for line of business teams, giving them the power to build their own connections, processes, and applications, while central IT governs access, SLAs, and data quality. In short, IT needs to become a platform for the business.
API-led connectivity: An evolution of SOA
While connectivity demands have changed, the central tenets of SOA have not, meaning that software as services are well-defined, reusable, and discoverable.
This vision is even more important given the proliferation of endpoints. Creating a customized view of the same data for different stakeholders, whether it be a core banking system or an ERP system, greatly increases the complexity with the number of channels through which that data must be provided. It also reinforces the need for data at the point of consumption to be decoupled and independent from the source data in the system of record, becoming variously more coarse-grained or fine-grained as the use case requires.
This leads to a service-oriented approach where logic is broken down into individual services, and reused across multiple channels. Yet, the heavyweight, top-down implementation approaches previously noted are not a fit for the agility that today’s digital transformation initiatives demand.
To meet today’s needs we propose a new construct that builds on the central tenets of SOA while adjusting its implementation for the challenges of today, this is what we call API-led connectivity.
API-led connectivity is a method for connecting and exposing your assets that shifts the way IT operates and promotes decentralized access to data and capabilities without compromising on governance. It changes the IT operating model by enabling the enterprise to leverage its assets and services without geographic or technical boundaries.
MuleSoft Anypoint Platform enables “API-led connectivity” by combining API interface contract, orchestration- and connectivity-logic at the node level. Here are a few ways Anypoint Platform does this:
- Instead of relying on a central (data) integration engine, Anypoint Platform provides the capability to create API/service-related integrations/transformations and orchestration flows.
- It brings the integrations/transformations closer to the source and closer to the consumer, enabling flexibility and agility.
- It can operate under massive load scenarios and implement agile development models to support technical and organizational scaling.
- It supports classic service mesh pattern-based utility services (like routing, security, and monitoring) and extends them by providing API-level management services.
- It can act as a service mesh Sidecar Proxy in appropriate Microservice Architecture setups, given the one-dimensional and lightweight nature of a Mule App node.
MuleSoft Anypoint “Modern API” Component
The “Single Dimension” architecture of the Anypoint Platform provides maximum flexibility. API-led integration architectures allows companies to use a Monolithic, SOA, or Microservices component-based architecture or other integration solutions (like ESB’s or Data Factories), whether they are on-premise or in the cloud. With it, concepts like DevOps can be introduced, assigning specific layers of APIs (groups) to dedicated teams and deploy them to independently scalable infrastructure or platform pools.
Ultimate flexibility and agility: Architecturally and organizational
The decentral architecture reduces the problems related to scalability and deployment while allowing the application of functionalities, such as security and connectivity, at the API/node level. This greatly supports the overall governance and consumption compared to other approaches in the past.
MuleSoft provides a flexible and scalable architecture enabling the creation of reusable services and application networks, and allows organizations to introduce SOA concepts without drawbacks.
Service mesh-like architecture
The Anypoint Platform consists of two planes, a Control Plane and a Runtime Plane. Services that are MuleApp instances are deployed in Mule runtimes. These can be hosted either on-prem or in cloud environments. The Control Plane handles the complete management process, from design to operation.
The MuleSoft Anypoint Platform
Services built using MuleSoft’s “Modern API” components can be proxied via configurable API Gateways that expose the APIs to various functions. These range from security enforcement to throttling to header manipulation. With this approach, existing services and external APIs could easily be integrated into the platform.
If setup with the proper granularity, an API Gateway fulfills some of the characteristics of a service mesh infrastructure. Anypoint Platform and the Mule Runtime provides a wide range of services (e.g. advanced monitoring, perimeter security, circuit breaking, AB testing, etc.) that can be compared to a service mesh.
In addition to security features such as perimeter security, data protection, ML-based DoD services, alerts and advanced monitoring functionalities, the implementation of the nodes themselves can act as a “service mesh side-car proxy” for the services they encapsulate and connect to. Since the “Modern API” can combine API Contract, Flow-, and Connectivity Logic, it provides custom “side-car proxy” logic with little effort.
“Build once, deploy anywhere”
The Mule Runtime provides an environment for operating all types of Mule-Apps and follows the “build once, deploy anywhere” principle. The Runtime, which is identical across both cloud and hybrid deployments, supports different deployment models that are flexible and adapt to the most complex of hybrid operation constructs.
In my next blog post, I will be outlining the differences between the traditional SOA approach and API-led connectivity.
For more information on Anypoint Platform and service mesh, see our October product update.