How to reduce microservices complexity with Apigee and Anthos Service Mesh
Sai Saran Vaidyanathan
Technical Solutions Consultant
Product Marketing Manager, Apigee
Try Google Cloud
Start building on Google Cloud with $300 in free credits and 20+ always free products.Free trial
In today’s modern development world, a microservices-based architecture is a go-to pattern for developing applications that are independent, flexible, modular, and language-neutral, and offers significant agility benefits over a monolithic architecture. A great example of an organization that has made this transition is L.L.Bean, where its legacy on-premises system had been constraining the company's ability to be innovative and responsive. This led to a company-wide effort to modernize with Google Kubernetes Engine (GKE) and a microservices architecture. With this approach, L.L.Bean streamlined the process of upgrading nodes and delivered cross-channel services faster by cutting feature release cycles.
But while decoupling an application into multiple microservices can have a lot of benefits, there are complexities with this approach. In particular, it can be challenging to standardize and secure all your microservices if they need to be easily accessible and consumable by internal developers — or in some cases, by external developers. Access to these services also needs to be managed and secured to enable safe growth in service consumption. In this post we’ll summarize how to manage microservices with Google Cloud solutions and share a demo to help you get you started.
How API management and service mesh simplify a microservices architecture
Adding a service mesh into a microservices-based application allows network and service operators to improve reliability, increase security and compliance, and spend less time managing the environment. Just as Kubernetes helps with container orchestration, a service mesh helps to standardize complex network functions within the services. A service mesh provides deep visibility into service-to-service transactions, and simplifies and manages security controls like authentication, authorization and encryption.
Moreover, organizations can extend their microservices as APIs to outside consumers such as partners, developers, web apps, mobile devices, and other business units within their organization. APIs make it easy to extend microservices to external partners and customers with security, visibility, and control. This is where an API management solution comes into play: to protect API traffic from external consumers. A full-lifecycle API management tool gives developers secure access to your microservices while providing tools to measure API consumption with analytics.
Google Cloud provides service management capabilities through Anthos Service Mesh and API management capabilities through Apigee, which are tightly integrated with one another. Here is an architecture diagram of the two solutions working together.
For a real-world example, imagine a retailer who wants to modernize their monolithic application by fragmenting it into microservices, while using cloud-native technologies.
Our demo application uses Apigee, GKE, and Anthos Service Mesh together, extending the existing Google Cloud Boutique Shop microservices demo to illustrate how to use Apigee for exposing the internal gRPC services (within the mesh) as RESTful APIs to external consumers.
The demo assumes you are deploying all components in Google Cloud and you are using Apigee X in combination with GKE and Anthos Service Mesh. Please follow the steps provided in the GitHub Repo.
Better together: API management + service mesh
Both APIs and microservices are critical to application modernization. By adopting API management and service mesh solutions together, IT teams can standardize their microservices and gain visibility into their operations with full lifecycle management and performance analytics for their APIs.
Google Cloud’s Apigee and Anthos Service Mesh work together to enable organizations to reduce microservices complexity and increase their consumption, securely extending those services to internal as well as external developers.
Wherever you are on your application modernization journey, Google Cloud can help. To learn more about the benefits of deploying service management and API management together, read this whitepaper.