A Study on Chaos Engineering for improving Cloud Software Quality and Reliability
Suman De
Abstract
Software availability on the cloud is an essential aspect in every domain of software development. The growing demand for zero downtime of websites is a requirement for any successful development organization. Organizations like Netflix, Amazon, Flipkart, etc., have the challenge of serving their websites to millions of users at the same time. In peak hours of sale, like in a Big Billion Day sale, the load balancing capabilities are at risk of server failure, leading to growing dissatisfaction among customers. Platform-as-a-Service (PaaS) vendors provide various solutions to ensure that websites are scalable and have a higher uptime but still require comprehensive testing by all development organizations. This paper introduces a concept called Chaos Engineering, which looks at breaking a system or website in possible ways to test each resource and tool available to the end-user. We explore various scenarios where Chaos Engineering has been used to ensure higher uptime and fulfill the requirements of cloud products. This paper also highlights the usage and advantages of using various Chaos Engineering tools available in the market.