API integration of microservices needs more than a service mesh
- As enterprises turn to microservices for business agility, they need an API architecture for integration that goes beyond service mesh, writes Software AG's Dr Stefan Sigg
There has never been a more compelling time to be in the API integration and management software business. From new technologies such as cloud-based microservices to 5G, from the Industrial Internet of Things to non-digital disruptive events such as the pandemic, change is accelerating. Global supply chain fault lines have been exposed by the tectonic shifts in economies, driving the need for ever more sophisticated integration.
The reason is simple. A fractured, non-digitalized enterprise cannot hope to survive, never mind compete anymore. The pace of change and the pace of reaction are just too fast. Half answers from disconnected enterprise assets, resulting in ill-founded decisions or business reaction times that are too slow to be effective, were once just the bad business practices of yesterday. Today they are fatal.
As we get into the core of these issues with customers, we have seen that business resilience during these turbulent times has been firmly based on digital fluency. Successful enterprises are bending but not breaking — and are rebounding to business as unusual with impressive speed.
Microservices and API frameworks are at the heart of this fluency. Application architectures built on microservices are providing the speed, scalability and flexibility fundamental to digital business models. How? By providing a better approach to integration via consumable, interoperable services — all based on the same underlying data model and well-defined, secure APIs.
When companies do this right, they can more effectively address the needs of millions of mobile, or locked-down, customers. They also bolster the speed of innovation, as they decouple core systems that are rarely touched from the continuously changing business apps.
Why microservices - why now?
Increased profit amidst cost control pressure is the simple answer. Microservices can deliver in many ways:
- Reduced upfront IT investment through cloud hosted applications.
- Reduced time to market with accelerated application development.
- Just-in-time IT infrastructure availability through containerization, matching application demand with application deployment.
- And always staying one step ahead of the competition. Containers are the best hosting environment for the continuous application delivery pipelines necessary in today's digital business models. This architecture allows for rapid roll-out of microservice and application enhancements for maximum customer satisfaction.
In addition, cloud microservices provide the reliability (in excess of 99.99%) and the scalability that mobile and edge applications require. That kind of scalability cannot be predicted at the time of application deployment — but you may need it later.
This in turn drives a need for dynamic integration and reliable API exposure. Every major innovation in application development and deployment demands a corresponding innovation in integration and API technology — and microservices are no different. It's particularly important to get integration right with microservices, because of the myriad connection paths and constantly changing ecosystem. Without the right level of integration, governance and control, your IT infrastructure will resemble the Wild West.
Dynamic integration and well-defined APIs are needed for microservices
At Software AG, we call this integration ‘Dynamic' because there are so many things within the infrastructure that can move around. Data can be migrated; virtual machines can move or change in a heartbeat. To handle this type of integration, many have turned to the concept of the service mesh. In brief, a service mesh provides the abstraction needed to adapt and communicate in an ever-changing cloud deployment environment.
Think of a service mesh as an infrastructure layer to help microservices communicate via business APIs. This layer can add increased observability, ensure secure communications, and manage failed requests.
However, we don't believe that a service mesh takes this far enough.
Why the service mesh needs more semantics
Service mesh is a necessary basis for running an environment that uses microservices, but it is only a basis. It evolved to better manage communications between microservices, but it is also a fairly technical concept. What's more, it's not addressing fundamental application management features. A service mesh is like a steering wheel on a car…it's fundamental, but on its own it isn't going to get you very far.
What we need goes beyond that. A proper microservices architecture is like the satellite navigation and the driverless capability on that car. It automatically exposes all microservices as semantic-rich APIs. What that means is that you can:
- Find all microservices,
- Access/update them through one place. This allows for total API governance and management from one console or control plane.
- IT managers can secure and govern the app so only authorized users can access each service.
- On the business side, app owners can now understand how the apps are being used by, potentially, millions of users, pinpointing areas for improvement and enhancement and the ability to introduce these changes without interrupting the running infrastructure, without the user noticing
An effective microservices architecture is the nerve center that brings the integration and governance sophistication needed to fully manage an IT infrastructure of cloud native applications, accessed by millions of users. This is an order of magnitude above on-premise business applications.
Getting started - customer tips and lessons on managing microservices
As enterprises double down on microservices and API enablement, they face the problem of managing microservices at scale. How that's done is a topic we will return to in future diginomica articles. But for now, here are our top tips for winning with microservices:
- It is not all or nothing. When you rebuild with microservices don't bite off more than you can chew. Start by identifying areas of the business that need to transform to microservices most urgently and use APIs to expose systems of record that don't or can't change rapidly.
- You don't have to DIY. Getting a robust, scalable and agile infrastructure is complex. It requires specialist skills and an understanding of detailed technical requirements. To do this yourself will likely slow down the delivery of business features. Let a service mesh do the heavy lifting and choose a platform that lets you focus on the business
- Don't lose the big picture. App owners, app developers, and infrastructure operators need to become closer. This combines the outcome-related goals of the app with the deep understanding of its usage. In practice, use policies to apply rules without changing code and share microservices as APIs so they can be managed — this keeps the focus on what the app was created to do.
- Think about tomorrow, don't just live for today. You need a platform that helps cope with an unpredictable future. Characteristics of these platforms include neutral/standards-focused; proven to be scalable; history of performance with large customers; based on backwards compatible components. Because we don't know what the next challenge will be, we need to prepare to be prepared.
For more details on our integration methodology, check out our API integration white paper, "Transform faster to accelerate innovation."