Run a GameDay
This section describes what a GameDay is, how a typical GameDay is run, and its outcomes.
This feature is currently behind a feature flag named
CHAOS_GAMEDAY_ENABLED. Contact Harness Support to enable the feature.
GameDay is a methodology to execute chaos experiments in your application during a specific time period. It acts as a template to schedule and execute one or more chaos experiments within your application. In general, GameDays help apply a fatal scenario to your application in a safe environment, thereby determining the resilience of the application and verifying the system at scale.
At every step in implementing a GameDay, you will either find a glitch in the system that you can address or gain confidence in your application.
A GameDay typically involves the following steps:
- Run chaos experiments on your application,
- Observe the impact of the failure,
- Discuss the technical outcomes.
GameDays help decide the type of failure the system would undergo based on the nature of the chaos experiments present within the GameDay. Hence, it is strongly recommended to begin with easy use cases where the blast radius is minimal, such as breaking one container, degrading one instance, and making one availability zone unavailable. Later on, you can delve into more complex failures, such as failing an entire service or affecting a large percentage of requests.
Running a GameDay by using CE’s GameDay feature involves the following steps:
- Plan your GameDay
- Create a GameDay and specify the details
- Add experiments to the GameDay and save it
- Schedule or run the GameDay
- Record the conclusion and action items
Once you create a GameDay in CE, you can run it as many times as you wish. CE saves information about every run, which includes the date, summary, and any notes you add.
You can create a GameDay provided you have the following prerequisites.
- CE account
- Access to a cluster
Creating a GameDay
You can create and run a GameDay with the following steps.
1: Plan your GameDay
Address the following questions before proceeding to run a Gameday:
- Which services should I test?
- What is the goal of the GameDay?
- What should I verify or determine by the end of the GameDay?
Once these questions have a viable answer, you can proceed to create a GameDay.
2: Create a GameDay and specify the details
- Creating a GameDay involves two steps:
- Specifying details about the GameDay,
- Adding chaos experiments to the GameDay. To create a GameDay, click +New GameDay.
- Add details such as GameDay name, Objectives, and Description (optional). Click Next-> Select Chaos Experiments.
3: Add experiments to the GameDay and save it
After creating a GameDay, add experiments to the GameDay by clicking New Chaos Experiment.
You can add experiments by selecting the ones available in the chaos hub.
Select a chaos infrastructure. Click Add experiments to the GameDay.
You can add up to 20 experiments to every GameDay, and every chaos experiment can be executed on a different chaos infrastructure.
This will lead you to a page that lists the experiments you selected for the current GameDay. You can add or delete experiments from this page.
Select the experiment to see a preview of the experiment's pipeline.
After adding the experiments to the GameDay, click Save.
4: Schedule or run the GameDay
Now that you have the experiments in the GameDay, you are all set to run them.
Click Start GameDay. This creates experiments within your GameDay.
Clicking GameDay leads you to the page that contains the experiments associated with the GameDay.
On this page, you can Run the experiment.
Click Run Experiment. This begins the execution of the experiment.
5: Record the conclusion and action items
You can add a summary of the experiments in the GameDay by clicking Add/View Notes.
You can mark a GameDay run as complete by clicking Mark Run as Complete. After this action, you will not be able to rerun the experiments inside the GameDay run. This completed run serves as a checkpoint within the GameDay that helps keep track of how the application fared during a specific situation.
Congratulations! You have successfully executed your first GameDay in CE. Don’t forget to check out other CE tutorials.