All 30 tasks, level by level
The real graded Site Reliability Engineering tasks the portal assigns, grouped into three levels.
The portal assigns these Site Reliability Engineering tasks. Finish Level 1 before Level 2 and Level 2 before Level 3. Your mentor may mark some tasks as required for the certificate.
Level 1: Foundations (12 tasks)
| Task | What to do |
|---|---|
| What SREs do | In a repo named sre-internship, explain SRE, uptime, SLIs, SLOs, SLAs and error budgets with a worked example for a college results website. |
| Linux for operations | On a Linux VM or WSL, practise top, ps, df, du, free, ss, journalctl and systemctl. Document what each one tells you with screenshots. |
| Run a service with systemd | Run a small web app as a systemd service that restarts on failure. Kill it and show that it comes back. |
| Nines of availability | Make a table of the downtime allowed per day, month and year for 99%, 99.9%, 99.95% and 99.99% and explain the cost of each extra nine. |
| Containerise an app | Write a Dockerfile for a small API, add a health-check endpoint and run it with Docker Compose together with a database. |
| Metrics with Prometheus | Run Prometheus and node_exporter with Docker Compose and query CPU, memory and disk metrics using PromQL. |
| Grafana dashboard | Build a Grafana dashboard showing the four golden signals (latency, traffic, errors, saturation) for your API. |
| Instrument your app | Add a Prometheus client to your API to expose request count, error count and latency histograms. |
| Uptime monitoring | Set up a free uptime checker (Uptime Kuma or a free hosted service) for your app and show an alert when it goes down. |
| Structured logs | Change your app to write JSON logs with request ID, path, status and duration, and search them with grep or jq. |
| Write a runbook | Write a runbook for 'API is returning 500 errors': checks to run, likely causes, commands and when to escalate. |
| Define SLOs | Choose SLIs and set SLOs for your API (for example 99.5% of requests succeed and 95% finish under 300 ms) and justify the numbers. |
Level 2: Building real features (10 tasks)
| Task | What to do |
|---|---|
| SLO-based alerts | Write Prometheus alert rules for your SLOs, including a burn-rate alert, and route them to email or a chat webhook with Alertmanager. |
| Load testing | Load test your API with k6 or Locust. Find the request rate where latency or errors break the SLO and record the bottleneck. |
| Kubernetes basics | Deploy your API to a local Kubernetes cluster (kind, minikube or k3d) with a Deployment, Service and ConfigMap. |
| Probes and self-healing | Add liveness and readiness probes, then make the app hang. Show Kubernetes restarting it and removing it from traffic. |
| Autoscaling | Add a Horizontal Pod Autoscaler and show the pod count growing during a load test and shrinking afterwards. |
| Distributed tracing | Add OpenTelemetry tracing to two services that call each other and view a request's full trace in Jaeger or Grafana Tempo. |
| Safe releases | Do a rolling update with a bad version, catch the failure with probes and roll back. Write the commands and timeline. |
| Retries and timeouts | Make one service call a slow dependency. Add timeouts, retries with backoff and jitter, and a circuit breaker, and show the effect on errors. |
| Infrastructure as code | Create your monitoring stack or a cloud VM with Terraform or Ansible. Show plan and apply output and keep the code in Git. |
| Backup and restore drill | Back up your database on a schedule, delete data on purpose and restore it. Record your RPO and RTO. |
Level 3: Professional work and capstone (8 tasks)
| Task | What to do |
|---|---|
| Incident game day | Inject 3 failures (database down, disk full, bad config) and respond to each as if live. Keep a timeline and measure time to detect and to recover. |
| Blameless postmortem | Write a full postmortem for one game-day incident: impact, timeline, root cause, what went well and action items with owners. |
| Chaos experiment | Use a chaos tool (Chaos Mesh, LitmusChaos or a simple script) to kill pods or add network delay, and prove your system degrades gracefully. |
| Toil automation | Find one repeated manual task in your setup (log cleanup, certificate renewal, restarts) and automate it with a script or cron job. Estimate the time saved. |
| Capacity plan | Using your load-test results, write a capacity plan for 10 times today's traffic: servers, database, cost and when to scale. |
| On-call handbook | Write an on-call guide: rota, escalation, alert severity levels, handover notes and rules that keep on-call healthy. |
| Reliability review | Review an open-source app or your own project for single points of failure, missing alerts and risky deploys, and list fixes by priority. |
| Capstone: reliable service | Run a small production-like service with SLOs, dashboards, alerts, runbooks, safe deploys and a tested backup. Submit the repo, screenshots and a 2-minute video tour. |