01MissionWhat is Absorb the Wave?
Absorb the Wave is a free monthly game for software engineers. Your team gets an app. Every month, the same waves of customers arrive at every app: a sale goes viral, a market opens, concert tickets go on sale.
You don't write code. You set the autoscaling levers of your app: when it adds instances, how many it can run, and how much CPU and RAM each instance gets. Then a wave hits your app, and the game counts what happens.
Fast requests earn points. Slow and failed requests cost money. Your cloud cost counts too. The team that serves its customers best for the lowest cost wins the month.
02BackgroundWhy we made it
Autoscaling is hard to learn. Most engineers only see the effect of a bad setting in production, when real customers are waiting and the cloud bill goes up.
In this game, you can test a setting in a few minutes, see what it changes, and try again. You can compare your choices with other engineers on a public leaderboard.
Qovery runs apps on Kubernetes for its customers. We built this game to make autoscaling easier to understand, and more fun.
03Reality checkHow real is it?
Ranked runs use real infrastructure. Some parts are smaller or simpler than a real production system, so the game stays fair, fast and cheap. Here is what is real and what is not.
The clusterRealRanked runs use a GKE cluster on Google Cloud, managed by Qovery.
Your appReal, but smallA small Go service. Each request uses about 8 ms of CPU. A real app also has a database and other services.
AutoscalingRealYour levers become real Kubernetes settings: the autoscaler target, min and max replicas, and CPU and memory requests.
TrafficReal, smallerA load generator inside your environment sends real requests. Waves are 40% of full size, so a run fits in 16 vCPU and 16 GB.
Cloud costRealA ranked run costs $0.15 to $0.25 of real cloud resources. Qovery pays it.
Money lostGame values$1 per failed request and $0.25 per slow one. The values are the same for every business, so the ranking stays fair.
Practice wavesSimulationPractice, the daily challenge and the home page panel use a simulation built from real runs. It is close, but ranked scores come only from real runs.
05The price of waitingDowntime has a price
Every customer has a value. The longer a customer waits, the more money you lose. Pick a business to see what it loses.
0 ms300 ms5 s or an error
Same prices and the same 5-second limit for every business, so the leaderboard stays fair.
- A season every monthEach calendar month is a season (UTC). The leaderboard starts again on the 1st.
- Teams of 1 to 3A player is in one team per season. A team plays one league per season.
- Four leaguesBeginner, Intermediate, Expert and KEDA. Each league adds waves and levers.
- 3 ranked runs a dayYour best ranked run of the month counts. Practice and training runs are unlimited and do not count.
- Stay under the budgetIf one wave of a run goes over the league budget, the run does not count.
- Play fairDon't access your environment outside the control room, don't detect or filter the load generator, and don't change settings during a ranked run.
- Win the monthThe three teams with the most points win Qovery plans and gift cards. See the prizes.
Read the FAQ and the official rules.