Istio Circuit Breaker: When Failure Is An Option

The phrase “Failure is not an option” is tossed about with much bravado, as though one could make something work by just their strength of will. But the fact remains, things eventually fail. Everything. How then, do you handle the inevitable failure of your microservices? Well, by combining containers, Kubernetes, Red Hat OpenShift, and Istio, we can skip over-the-top displays of swagger, let the system handle things, and get some sleep at night.

Once again, Istio provides the basis of a popular and well-tested technology: The Circuit Breaker Pattern.

Like a circuit breaker in an electrical circuit, the software version allows flow to a service to be shut off. The circuit opens in the case where the endpoint is not functioning correctly. The endpoint may have failed or may just be too slow, but it represents the same problem: this container is not working.

Continue reading “Istio Circuit Breaker: When Failure Is An Option”


Microservices Patterns With Envoy Sidecar Proxy, Part I: Circuit Breaking

This blog is part of a series looking deeper at Envoy Proxy and and how it enables a more elegant way to connect and manage microservices. Follow me @christianposta to stay up with these blog post releases. I think the flow for what I cover over the next series will be something like:

  • What is Envoy Proxy, how does it work?
  • How to implement some of the basic patterns with Envoy Proxy?
  • How Istio Mesh fits into this picture?
  • How Istio Mesh works, and how it enables higher-order functionality across clusters with Envoy?
  • How Istio Mesh auth works?

Here’s the idea for the next couple of parts (will update the links as they’re published):

  • Circuit breakers (Part I)
  • Retries/Timeouts (Part II)
  • Distributed Tracing (Part III)
  • Metrics collection with Prometheus (Part IV)
  • The next parts will cover more of the client-side functionality (Service Discovery, Request Shadowing, TLS, etc); just not sure, which parts will be which yet.  🙂

Continue reading “Microservices Patterns With Envoy Sidecar Proxy, Part I: Circuit Breaking”