Absorb the Wave · player manual

How it works

Everything to know before your first wave: the mission, why the game exists, how real it is, how to play and the rules.

WAVE-01 Player manual READ BEFORE PLAYING 3 ranked runs a day!
01Mission

What 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.

02Background

Why 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 check

How 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.
04The waves

Ten minutes of customers

Each wave lasts ten minutes and is the same for every team. When traffic goes down, every instance you keep running still costs money.

  • Traffic grows 10 times in 15 seconds. How fast does your app react?
  • Traffic goes down, then comes back. Did you remove too many instances?
  • Ranked waves start at slightly different times, so a fixed schedule does not work
Double Wave · 10 min
  1. Warm-up
  2. Spike
  3. Calm
  4. Comes back
  5. Long tail
05The price of waiting

Downtime 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
$0
$0.25
$1

Same prices and the same 5-second limit for every business, so the leaderboard stays fair.

06Leagues

Four leagues, from beginner to expert

Each league adds new waves and new levers. Your settings must work for every wave in your league. A great result on one wave and a crash on another will not win.

  • Beginner: learn how your app reacts to a traffic spike
  • Intermediate: find the balance between speed and cost
  • Expert: cheap instances that the cloud can take back, and slow startups
  • KEDA: scale on the number of requests, scale to zero at night, and get ready before a planned spike
Beginner1 scenario · 5 levers · points ×1●○○○
Intermediate3 scenarios · 7 levers · points ×2●●○○
Expert5 scenarios · 11 levers · points ×3●●●○
KEDA3 scenarios · 13 levers · points ×4●●●●
07Scoring

How you score

Each request is fast (under 300 ms), slow (300 ms to 5 s) or failed (an error, or no answer after 5 s).

The score of a wave is: fast − slow − 5 × failed, divided by your cloud cost. If fewer than 99% of requests succeed, or the p95 latency is too slow, the score is cut in half.

Your league score is half your average wave score and half your lowest wave score.

  • If too many requests fail, your score is cut in half
  • If you go over the budget, the run does not count
  • You see the money you lose, live, during the wave
  • A new season every month: up to 3 ranked runs a day, and your best run counts
fast − slow − 5 × failed$ spent
Availability ≥ 99%p95 ≤ 300 msUnder budget
08How to win

Time, effort and tips

How much time do I need?

About 10 minutes for your first ranked run: name your team, play a few practice waves, then launch the run.

After that, a few minutes on most days is enough. The daily challenge takes about 2 minutes. You get 3 ranked runs a day, and only your best run of the month counts, so you don't need to play every day. More ranked runs give you more chances.

How to get on the podium

  1. Use practice waves before ranked runs. They are free and unlimited.
  2. Change one lever at a time, and watch the money lost after each wave.
  3. If your instances touch the max line, raise the max or lower the scale-up trigger.
  4. Watch the cloud cost too: instances that wait for nothing lose points.
  5. Move up a league. Places in harder leagues give 2 to 4 times more championship points.
  6. At the start of each month, read how last month's top 10 played on the leaderboard.

See what you can win

09Rules

The rules

  1. A season every monthEach calendar month is a season (UTC). The leaderboard starts again on the 1st.
  2. Teams of 1 to 3A player is in one team per season. A team plays one league per season.
  3. Four leaguesBeginner, Intermediate, Expert and KEDA. Each league adds waves and levers.
  4. 3 ranked runs a dayYour best ranked run of the month counts. Practice and training runs are unlimited and do not count.
  5. Stay under the budgetIf one wave of a run goes over the league budget, the run does not count.
  6. 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.
  7. 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.

Ready for the wave?

Name your team and start playing in about 2 minutes. It is free.