Recently Updated Pages
Lesson: Multi-Service Apps with Compose
What you'll learn Explain what Docker Compose is and why a YAML file beats a pile of docker run ...
Lesson: How Containers Talk
What you'll learn Describe the three core Docker network modes: bridge, host, and none. Publish ...
Lesson: Two Engines, One Standard
What you'll learn Describe the daemon architecture of Docker and the daemonless architecture of ...
Lesson: Images, Containers & Layers
What you'll learn Explain what a container is and how it differs from a virtual machine (VM). Te...
Assignment 2: Cache it — add Redis and measure the difference
Goal: Prove to yourself that caching is worth it. Take the app from Assignment 1, add Redis as a ...
Assignment 1: Stand up Nginx in front of an app database
Goal: Put the whole module together: create a properly isolated per-app database and user on a la...
Lesson: Redis & Memcached
What you'll learn Why caching exists and how an in-memory cache speeds up an app. Redis core dat...
Lesson: A Document Database
What you'll learn The difference between the document model and the relational (table) model. Wh...
Lesson: MySQL/MariaDB & PostgreSQL
What you'll learn What a relational database (RDBMS) is and the core vocabulary (table, row, SQL...
Lesson: Web Server & Reverse Proxy
What you'll learn What a web server does and how Nginx fits into a typical app stack. How to ins...
Why an API gateway, not just an ingress
Once you can get an external IP, you need something to route HTTP to the right app and, ideally, ...
MetalLB in L2 mode
MetalLB has two modes: BGP (it speaks routing protocols to your network gear) and L2 (it answers ...
The bare-metal LoadBalancer problem
Ask Kubernetes for a Service of type LoadBalancer in the cloud and you get a real load balancer w...
TLS lives at the edge, not in the gateway
A natural instinct is to give Kong a certificate and let it serve HTTPS. I did that first — and t...
Securing the admin surface (the loopback trick)
Kong's Admin API is powerful — it can reconfigure the whole gateway — and the open-source edition...
Kong, backed by PostgreSQL
Kong can run config-only ("DB-less") or backed by a database. I chose DB-backed, against the exis...
Assignment 2: Branch, conflict, resolve, and open a PR
Goal: Practice the full collaboration loop — create a feature branch, deliberately cause a merge ...
Assignment 1: Version your Module 3 scripts on Gitea
Goal: Take the shell scripts you wrote in Module 3, turn their folder into a real Git repository ...
Lesson: Working with Gitea
What you'll learn What a remote is, and how your local repo and a server repo stay in sync. How ...
Lesson: Branches, Merges & Conflicts
What you'll learn What a branch really is (a cheap, movable pointer — not a copy of your files)....