Eduardo Ramirez · Junior Dev

Docker &
Kubernetes

Whale carrying containers
scroll · ↓ · space
My roadmap: junior, backend, full-stack
01 · About me

Hi, I'm Eduardo 👋

22 years oldJunior devGoal: Full-stack
02 · Foundations

Operating systems

Windows, macOS and Linux

Linux runs the servers of the world.

The kernel connects apps and hardware
03 · The kernel

The heart of the OS

Apps ⇄ CPU · RAM · Devices

Docker uses itFast · Efficient
04 · The problem

“It works on my machine” 🤷

Works on my computer, fails on another
Different versionsMissing piecesConflicts
05 · The solution

What is Docker?

Pack the app + everything it needs.
Run it anywhere.

A container with app, libraries and config runs on laptop, server and cloud
06 · Key concepts

Dockerfile → Image → Container

Dockerfile builds an image, the image runs a container

Write the recipe once. Build. Run. Repeat.

07 · Why so light?

Containers vs VMs

Virtual machines need a full OS each, containers share the kernel
Docker Desktop runs a light Linux VM on Windows and macOS
08 · Windows & macOS

Servers = Linux

No graphic interface. Only the terminal.

$ ls
$ cd app
$ docker ps  
09 · Docker Compose

One file. Many services.

Compose runs a backend and a database together

What if we grow? 🚀

Many users. Many computers.

10 · Scale

One computer is not enough

Doing it by hand? Impossible.

Many users overload one server
Kubernetes cluster with nodes, pods and a service
11 · Kubernetes

Kubernetes

Clustergroup of computers
Nodeone computer
Podruns my app
Deploymenthow many copies
Serviceconnects users
12 · Magic

It heals itself ✨

A container fails and Kubernetes starts a new one
Need 3 copies? → Always 3Container down? → New one
13 · Together

Build. Ship. Run.

Docker builds, Kubernetes runs

Docker prepares it. Kubernetes runs it at scale.

My plan: Docker, Compose, Kubernetes
14 · My plan
“Learn something new every day.”

Goal: become a better developer.

Thank you!

Questions? 🐳

🎮 Play the trivia