1 Introducing the Istio service mesh


This chapter covers

  • Addressing the challenges of service-oriented architectures with service meshes
  • Introducing Istio and how it helps solve microservice issues
  • Comparing service meshes to earlier technologies

Software is the lifeblood of today’s companies. As we move to a more digital world, consumers will expect convenience, service, and quality when interacting with businesses, and software will be used to deliver these experiences. Customers don’t conform nicely to structure, processes, or predefined boxes. Customers’ demands and needs are fluid, dynamic, and unpredictable, and our companies and software systems will need to have these same characteristics. For some companies (such as startups), building software systems that are agile and able to respond to unpredictability will be the difference between surviving or failing. For others (such as existing companies), the inability to use software as a differentiator will mean slower growth, decay, and eventual collapse.

1.1 Challenges of going faster

1.1.1 Our cloud infrastructure is not reliable

1.1.2 Making service interactions resilient

1.1.3 Understanding what’s happening in real time

1.2 Solving these challenges with application libraries

1.2.1 Drawbacks to application-specific libraries

1.3 Pushing these concerns to the infrastructure

1.3.1 The application-aware service proxy

1.3.2 Meet the Envoy proxy

1.4 What’s a service mesh?

1.5 Introducing the Istio service mesh

1.5.1 How a service mesh relates to an enterprise service bus

1.5.2 How a service mesh relates to an API gateway

1.5.3 Can I use Istio for non-microservices deployments?

1.5.4 Where Istio fits in distributed architectures

1.5.5 What are the drawbacks to using a service mesh?