On-call training, as a game

Keep the cloudalive at 2AM.

Production is melting and you are the only engineer awake. Read the symptoms, fix the real config in a live terminal, and apply it before your SLA hits the floor.

Levels
0levels
Installs
0installs
SLA floor
0%SLA floor to survive
prod-web-01 — bash
SLA 94.10%
90% floordegraded

Fix real configs for

  • nginx
  • PostgreSQL
  • Docker Compose
  • Redis
  • HAProxy
  • Kafka
  • Gunicorn
  • Elasticsearch
  • Kubernetes

How it works

One shift, four moves

Every level follows the loop real incidents follow. Do it well and the SLA climbs back; rush it and you pay for it.

  1. 01

    Read the symptoms

    Live logs, netstat and systemctl status tell you what is failing. There are no hints about target numbers — you read the evidence.

  2. 02

    Fix the real config

    Open the file in nano or use sed, exactly as you would on a production box. Nothing is pre-filled for you.

  3. 03

    Apply it the right way

    Reload or restart? systemctl or kubectl? Picking the wrong way costs you error budget.

  4. 04

    Survive the traffic wave

    Partway through each level, load ramps up. A config that passed a moment ago can fall over — size it with headroom.

The curriculum

Ten levels, one stack at a time

Start with a web server and finish with a full Black Friday outage across web, workers and database.

  • 1nginx

    Web Server

    Worker limits, timeouts and body size

    systemctl reload nginx
  • 2PostgreSQL

    Database

    Why some settings need a restart, not a reload

    systemctl restart postgresql
  • 3Docker Compose

    Full Stack Under Load

    Replicas, memory and CPU limits

    docker-compose up -d
  • 4Redis

    Cache

    Memory ceilings and eviction policy

    systemctl restart redis
  • 5HAProxy

    Load Balancer

    Connection caps, timeouts and balancing

    systemctl reload haproxy
  • 6Kafka

    Message Queue

    Partitions, replication and retention

    systemctl restart kafka
  • 7Gunicorn

    App Server

    Concurrency and slow-request budgets

    systemctl reload gunicorn
  • 8Elasticsearch

    Search Cluster

    Heap safety and indexing back-pressure

    systemctl restart elasticsearch
  • 9Kubernetes

    Kubernetes

    Readiness probes and safe rollouts

    kubectl apply -f /opt/cloudrush/k8s/deployment.yaml
  • 10FinaleDocker Compose

    Black Friday

    Every layer at once, under surge traffic

    docker-compose up -d

Built for practice

Pressure without the pager

A real shell in your browser

Commands run in a sandboxed Node environment inside the page. Edit files, run commands, see real output.

❯ netstat
tcp 812 0.0.0.0:80 LISTEN
❯ sed -i 's/worker_connections 8/…2048/' nginx.conf
nginx.conf: 1 substitution made

Live SLA pressure

Uptime drains while checks fail and recovers when you fix them. Below 90% the shift is over.

An error budget

Five free failed applies per level. After that, every bad deploy costs real SLA.

5 free failed applies

Ten escalating levels

From a single nginx file to a full multi-service stack, each level adds a new tool and a new way to break.

Nothing to install

Open the page and start your shift. Progress is saved in your browser.

  • No virtual machine
  • No Docker
  • No cloud account

Learn by consequence

Every directive has a reference entry explaining why the wrong value hurts.

keepalive_timeout 0;

Every request pays a fresh TCP + TLS handshake. Under load, latency climbs and queues build.

FAQ

Before you clock in

Do I need to install anything?

No. The terminal runs entirely in your browser using a sandboxed Node.js environment. There is no server to set up and nothing touches your machine.

Is this a real server I am editing?

It is a real shell with real files, but a sandboxed one. The configs are realistic, and the game checks the values you set the same way an operator would judge them under load.

Which browsers work?

A current desktop Chromium-based browser such as Chrome or Edge gives the best experience. The terminal drawer also works on phones, but a keyboard makes the game far more enjoyable.

Do I need to be an SRE already?

No. The first levels are gentle, the Config Reference explains every directive, and you can retry any level. It is a good way to build intuition for how services behave under load.

Is my progress saved?

Yes, in your browser. Close the tab and come back later — the start screen offers to continue from the level you unlocked.

Your shift starts now

The pager is going off. Open the terminal and bring the SLA back above the line.