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.
- 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.
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 · freeMySQL 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 GitHubCourse
Available · freeMySQL 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 GitHubCourse
PlannedMySQL 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 roadmapCourse
PlannedTiDB 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.
Challenge #001
Available · freeThe 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.
- 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.
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