While the microservices integration approach offers agility and flexibility to developers, many are finding out the hard way that there is a whole lot of complexity that comes along with it.
I asked Ann Marie Bond, Senior Manager of Product Marketing for AppMesh, what the secret is to managing microservices.
Q. Why are microservices such a big trend?
Ann Marie: It all started with the massive trend known as the cloud. Initially, businesses began adopting software-as-a-service in the cloud, signing up to be users of platforms managed by someone else. This eliminated the cost and IT effort needed to maintain hardware. But when it came to creating new, differentiating and unique products and services, you often needed to build them yourself. Now we are seeing microservices take on the critical role of building innovative applications in the cloud.
A recent report by O’Reilly finds that 77% of respondents have adopted microservices. That’s because a microservices architecture lets you make changes to an app’s services without the need to redeploy the full application. Unlike traditional packaged apps, microservices are built by small teams who can choose their own tools and languages. Microservices-based applications are made up of a network of services, each performing a specific business function. Services communicate with each other to request data and implement application logic. Being able to control individual parts of the app independently makes it easier to quickly modify and improve.
Q. Why are microservices so hard to manage?
Ann Marie: With this distributed model, getting control over the application is more challenging. The logic governing how services communicate becomes much more complex in the cloud, where security risks abound and networks can be unstable. In order to ensure that users never experience downtime or slowness, the connections between services must be carefully designed so they are resilient. One level of security is rarely enough to guard against hackers and protect private data; and as new, stronger security options become available, businesses want to adopt them as soon as possible. These functional considerations can be coded into each service, but today many IT leaders are moving towards the concept of a service mesh.
Q. How does a service mesh help?
Ann Marie: A service mesh helps with these basic network-level functions by extracting them to a separate layer of infrastructure. With cloud communications handled by a service mesh, app developers can focus on the business logic in their applications.
Unfortunately, service mesh doesn’t go far enough. Its focus is on the network connectivity between services and not on the application itself. As applications gain adoption, they may need to scale rapidly and add new features to meet business needs; in fact, your application may change quite a lot. Any changes that require coding will slow your progress.
When you pull back to the application level, it’s clear that as applications evolve, being able to personalize, enhance, and control services without code is how you can scale and develop faster. Instead of a service mesh, you need an application mesh.
This is what webMethods AppMesh offers. But instead of adding yet another tool to your landscape, AppMesh is embedded in your API management layer so you can manage not only APIs, but microservices and service meshes from a single place.
AppMesh consists of a set of lightweight, powerful microgateways that are controlled by a central API management platform. It gives you visibility into the behavior of both your users and your microservices at the application level. And you can easily reuse and govern those microservices just as you do with APIs.
AppMesh will continue to become even easier to install and use, with preconfigured scripts and support for different service meshes. It will move beyond IT and become a tool that application leaders are comfortable using for deep visibility into application usage. And it will become the foundation for developing cloud-native applications that leverage microservices for new capabilities and APIs for data access.
Q. Can anyone else provide a similar solution?
Ann Marie: There are quite a few service mesh products available today, many of which are open source. Some of them add extras for network-level management and even have loose integrations with API gateways. But no one else has a platform designed to manage APIs and microservices in a unified way that enables you to build and run sophisticated applications.
With an API Management platform for centralized operation of all your APIs, microservices, and meshes, you can successfully deploy and manage your applications with confidence. You can create context-specific rules for customer experiences that are personalized and targeted—without coding. This helps you achieve the agility that comes as a benefit of microservices without the complexity that can accompany microservices architectures.
You can learn more about AppMesh by clicking below.