Open source Istio brings "service mesh" to micro-services architecture

By Galo Gimenez, architect for the Common Web Platform, HP CTO office

Anyone tracking advancements in cloud software has heard the term “micro services.” Micro-services architecture is the natural evolution of the Service Oriented Architecture, in which applications are composed of multiple services. The micro-services model came about in response to teams employing agile and continuous delivery methodologies to speed up velocity – the rate at which new features are delivered into products.

As monolithic applications transition towards a distributed micro-service architecture, they become more difficult to manage and understand. These architectures need basic services such as:

  • Discovery
  • Load balancing
  • Failure recovery
  • Metrics and monitoring
  • Complex operational requirements:
    • A/B testing
    • Canary releases
    • Rate limiting
    • Access control
    • End-to-end authentication

Istio Service Mesh
The term “service mesh” is used to describe the network of micro-services that make up applications and the interactions between them. As the service mesh grows in size and complexity, it becomes harder to understand and manage.

Istio (https://istio.io/) is an open source project announced May 24, 2017 by Google, IBM, and Lyft that is developing a high-level network fabric to provide key capabilities uniformly across services, regardless of the language in which they are written.

These capabilities fall into four big categories:

  • Intelligent routing and load balancing
  • Resilience across languages and platforms
  • Fleet wide policy enforcement
  • In-depth telemetry

At Google, the Apigee and Kubernetes teams are using Istio to bring the rich API management capabilities of Apigee Edge into the micro-services world. Istio leverages core functionality from the Kubernetes services-orchestration framework. At this point the first implementation of Istio focuses on Kubernetes, but the  community has plans to support other models, such as VMs or Docker Swarm frameworks.

At HP many groups are already adopting micro-services and container orchestration technology to deliver products faster and cheaper. The HP Developer Program and the HP CTO Common Web Platform teams are working together with Apigee and the Istio project to implement HP’s requirements around API Management and policy enforcement. This includes integration of HP-ID, the new HP identity management system.

For more information, access the Kubernetes Blog (http://blog.kubernetes.io/2017/05/managing-microservices-with-istio-service-mesh.html) or our internal project (https://pages.github.azc.ext.hp.com/gdrs/servicemesh/)