Software engineer @ Lohika

Building fault-tolerant applications with Kubernetes and Istio

“If anything can go wrong, it will!” says Murphy’s law. With Microservice architecture there is a lot of things that can go wrong. And the engineers are the ones who must make sure the application is ready to face these failures. Kubernetes and Istio can provide you some features to build a fault-tolerant application out the box. I will explain what are these features and will show them in practice. Agenda What is fault tolerance Kubernetes and Istio Demo Summary What is fault tolerance In this part of the talk, I will give a short introduction to what fault tolerance is why does it matter and why it’s essential when building microservices. Kubernetes and Istio Kubernetes gives a pack of fault tolerance features out of the box, such as load balancer, liveness and readiness probes, self-healing, scaling, etc. Istio extends it and gives a lot of new possibilities for dealing with failures, and even to test the application using chaos engineering. I will review the main features of Kubernetes and Istio for building and testing fault tolerant application. Demo The live demo is based on an application that doesn’t have any fault tolerance features implemented in the code. I will show how Kubernetes and Istio can contribute to its fault tolerance.