Managing Application Resiliency
Application resiliency is the ability of software applications to withstand faults and failures without any noticeable degradation of quality and level of service for its consumer. The move from monoliths to microservices has exacerbated the need for application resiliency in software design and architecture. In monolith applications, there is a single code base and single deployment whereas, in microservice-based architecture, there are many independent code bases each with its own deployment. When leveraging Kubernetes and other similar platforms, you also need to cater to deployment flexibility and the fact that multiple application instances are being deployed and scaled elastically; these dynamic instances need to not only coordinate with each other but also coordinate with all other microservices.
In this chapter, we will read about how to make use of Istio to increase the application resiliency of microservices. As we go through each section...