Skip to content
MOITOITECH
EET--:--:--
SUN--:--

MoiToi.TECHAcademy

Engineering Academy

Learn. Break. Fix. Repeat.

Practical production engineering, learned the way it is practised: break a real system on your own laptop, fix it, and let a script tell you whether the fix holds.

Free and open source. The first track is Database Reliability Engineering, starting with MySQL.


How it works

Learn by breaking a real system.

Every track is a public GitHub repository. You clone it, start the lab, and work against the same checks CI runs.
Real systems, on your machine
Labs run in Docker on a laptop: a real database server, a real dataset, real faults. Nothing needs a cloud account or a paid service.
A script checks the fix
Each exercise injects a fault and ships a check. You are done when the check passes, not when you have read the page.
The repository tests itself
CI starts each lab from scratch, injects every fault, applies the reference fix and resets it. Material that fails its own tests does not ship.
Open, and stays open
Course content is CC BY 4.0 and lab code Apache 2.0. No accounts, no tracking, no certificates. Your progress is the list of checks that pass.

Track 01 · DBRE

Database Reliability Engineering.

Running databases in production: transactions and locking, query plans, backup and point-in-time recovery, replication, monitoring and incident response. MySQL first; TiDB builds on it.

System administrators, junior DBAs, backend developers, DevOps engineers and SREs who look after MySQL, or are about to. You need a terminal, basic SQL and Docker.

  • Lab

    Available · free

    MySQL 8.4 production lab

    MySQL 8.4 LTS · Primary + replica · amd64 · arm64

    A MySQL 8.4 primary and replica in Docker, a deterministic shop dataset, fault-scenario tooling with automated checks, and optional Prometheus and Grafana. Tested from scratch in CI on both architectures.

    Open the lab on GitHub
  • Course

    Available · free

    MySQL Production DBA Fundamentals

    10 modules · 14 lab scenarios · MySQL 8.4 LTS

    Ten modules from architecture to incident response, each ending in an exercise with an automated check: a blocked checkout, a slow query, a broken replica, a deleted table, a server that will not start. About 13–15 hours, free and openly licensed; CI runs every exercise on amd64 and arm64.

    Start the course on GitHub
  • Course

    Planned

    MySQL in Production (advanced)

    After the fundamentals

    High availability beyond async replication, online schema change, connection routing, major-version upgrades and SLOs for a database service. A plan in the repository roadmap, not material yet.

    Read the roadmap
  • Course

    Planned

    TiDB Reliability Engineering

    Builds on MySQL

    Architecture, regions and placement, distributed transactions, hotspots, backup with BR, TiCDC, upgrades and incident response on a distributed SQL database. Planned after the MySQL courses.

    Read the roadmap

DBRE is the first track. Other tracks will be listed here when they exist as material, not before.


Challenges

Production Incident Challenges.

A challenge is one production incident you can finish in under an hour, without taking a course: a briefing, a lab that reproduces the symptom, and a check that only passes when the cause is fixed. The spoiler-free briefing is the whole learner README; the reasoning lives in a separate instructor guide.
  • Challenge #001

    Available · free

    The database is slow. Nobody changed anything.

    MySQL 8.4 · 20–40 minutes · Intermediate

    Latency climbs overnight while CPU, disk and memory look normal, and nothing was deployed. Investigate a real MySQL server, find the cause, fix it without losing data and prove the fix holds. Free, runs on your laptop, tested from scratch on amd64 and arm64.

    Take the challenge on GitHub

Solved one? When the check passes, the lab prints a link to share it on LinkedIn: what you solved and how long it took, never the answer. Self-reported, no account.


Later

Planned: recorded courses and workshops.

The open material is the Academy, not a trial of it. These are plans. Nothing below is recorded, scheduled or for sale.
  • Planned

    Recorded courses by independent engineers

    Polished, asynchronous courses with practical labs, recorded by practising engineers who keep their own work. Nothing is recorded or on sale yet; the first one will be listed only once it is finished and reviewed.

  • Planned

    Instructor-led workshops

    Occasional live training for engineering teams, built on the same labs. Not scheduled. Teams that want one now can ask, and the answer will be honest about what exists.


Questions

Academy questions, answered.

Is the Academy free?
The open tracks and challenges are free and openly licensed: course content under CC BY 4.0, lab code under Apache 2.0. Paid recorded courses may come later, separately; they will never gate the open repositories.
Do I need an account?
No. Clone the repository, start the lab with Docker and work through the exercises. There is no sign-up and nothing is tracked. Your progress is the list of checks that pass on your machine.
What do I need to run the labs?
Docker with Compose v2 and about 4 GiB of memory for Docker, on amd64 or Apple silicon. On Windows, use WSL 2. The lab's doctor command checks Docker, memory and ports before you start.
Is there a certificate?
No. The courses state outcomes as skills you can demonstrate, and each exercise is checked by a script. A certificate would claim more than a passing check on your laptop can prove.
What is the difference between a course and a challenge?
A course is a sequence of modules that builds a skill over many hours. A challenge is a single incident you can solve in under an hour without the course, designed to be shared with a colleague or a team.
Can I show that I solved it?
Yes. When a challenge's verify or an exercise's check passes, the lab prints a LinkedIn share link to a page that names what you solved, without the answer. It is self-reported: the check ran on your machine and nothing is tracked, so it shows the work, not a credential.
Can I contribute or report a mistake?
Yes. Each track is a public GitHub repository with issue templates for lab problems and content corrections, and a contributing guide for new scenarios and lessons.

Start

Start the lab in ten minutes.

Docker with Compose v2 and about 4 GiB of memory for Docker. amd64 and Apple silicon both work.
git clone https://github.com/MoiToiTech/dbre-academy.git
cd dbre-academy/labs
./lab doctor   # checks Docker, memory and ports
./lab up       # first run builds the lab image
./lab sql      # you are root on the primary