Building fault tolerant applications with Kubernetes and Istio

By Sergii Bishyr

Elevator Pitch

In the era of microservices, a lot of this can and will go wrong. The network will fail, the services will crash, the errors will occur. But the application must sustain. That’s why you have to build a fault tolerant application. Kubernetes and Istio are here to help.

Description

Briefly about the talk

“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.

Notes

The only technical requirement is the internet connection for the live demo.