Module 8 of Path: DevOps for Developers
Let’s face it, bad things happen in software engineering, often when you least expect it. Servers go down, there are spikes in traffic, you receive networking errors. Luckily, you can avoid these problems. Enter chaos engineering. Chaos engineering is where you try to find the limits of a system and simulate adverse effects that might happen. These simulations then help you to determine the best way to improve your system and build up its resiliency. This course is divided into various sections to get you used to the different types of experiments you can run in chaos engineering. You will start by learning how to destroy application instances in order to show you the importance of scaling, fault tolerance, and high availability. You will then dive deep into other types of experiments such as destroying a network, draining and deleting nodes, and testing availability. Towards the end of the course, you will learn how to run experiments in a Kubernetes cluster.
94 Lessons
363 Code Snippets
6 Illustrations
Overview
Gist with Commands
Creating a Cluster
Installing Istio Service Mesh
Deploying the Application
Discovering Chaos Toolkit Istio Plugin
Aborting Network Requests
Rolling Back Abort Failures
Making the Application Resilient to Partial Network Failures
Increasing Network Latency
Aborting All Requests
Simulating Denial of Service Attacks
Running Denial of Service Attacks
Destroying What We Created
Overview
Gist with Commands
Creating a Cluster
Deploying the Application
Setting up Chaos Toolkit in Kubernetes
Types of Experiment Executions
Running One-Shot Experiments
Running Scheduled Experiments
Running Failed Scheduled Experiments
Sending Experiment Notifications
Sending Selective Notifications
Destroying What We Created
Overview
Gist with Commands
Creating a Cluster
Deploying the Application
Deploying Dashboard Applications
Exploring Grafana Dashboards
Exploring Kiali Dashboards
Preparing for Termination of Instances
Terminating Random Application Instances
Disrupting Network Traffic
Preparing for Termination of Nodes
Terminating Random Nodes
Monitoring and Alerting with Prometheus
Destroying What We Created
94 Lessons
363 Code Snippets
6 Illustrations