Users' patience with services not working is gradually decreasing as the quality of services online is improving. With current trends of moving services to the cloud and building smaller and network-intensive services, meeting these expectations can be challenging for us developers. We want to be able to build services that we can run confidently despite partial failures and outages.
In this workshop, you will learn how to simulate latency and failures in your web application and how to add strategies to deal with this. We will learn how changing the different parameters change the behavior of our application under load, and what trade-offs we ultimately must make.
We will use k6 for load testing a .NET Core web API. For resiliency strategies, we will use Polly, and we will use Simmy for fault injection. This is red-green testing, but for performance and resiliency. You will learn about service level indicators, service level objectives, and how to formulate and test such requirements.
Before the workshop, you will have to setup the dev environment before the start. The workshop should work on Windows/Mac/Linux using VS Code and Docker OR using Visual Studio Codespaces (online, in the browser). You can find the speaker's instruction here (https://github.com/bjartwolf/bounded-disturbances). If you can start the web API as described in the README on GitHub with "Run and watch web API" and run the "Intro" k6 test and make sure it outputs the everything is ready to go. If you will run into issues — don't hesitate to contact Bjørn via email or Telegram (email@example.com/bjartnes).