Cloud & Infrastructure
Systems & Infrastructure Engineering
Systems engineers work below the application: operating systems, storage, virtualisation and the physical or virtual machines themselves. It is the layer that becomes visible only when something is wrong, and the people who understand it are the ones who fix outages nobody else can.
Start here
Install Linux on an old laptop or a virtual machine and break it deliberately, then fix it. That loop is the whole discipline. Start at Stage 1.
The operating system
Everything above depends on this, and almost nobody above understands it.
RequiredLinux in depth
Not 'can use the terminal' but 'knows what the terminal is doing'. That difference is the job.
Linux in depth
Not 'can use the terminal' but 'knows what the terminal is doing'. That difference is the job.
What to learn
- Processes, signals and the process tree
- The filesystem hierarchy
- Permissions, ownership and setuid
- systemd and services
- Package management
- Logs and journald
Tools
- Any Linux distribution
- systemctl
- journalctl
Practice
Next: Shell scripting.
RequiredShell scripting and automation
Anything done twice by hand should be a script. This is where infrastructure automation actually begins.
Shell scripting and automation
Anything done twice by hand should be a script. This is where infrastructure automation actually begins.
What to learn
- Bash beyond one-liners
- Exit codes and error handling
- Text processing with grep, sed and awk
- cron and timers
- Writing scripts other people can run safely
Practice
Next: Networking.
Networking from the machine's point of view
Where systems and networking meet, and where most confusing failures live.
RequiredHost networking
Being able to prove whether a problem is the application, the host or the network is the most useful diagnostic skill there is.
Host networking
Being able to prove whether a problem is the application, the host or the network is the most useful diagnostic skill there is.
What to learn
- Interfaces and routing tables
- iptables and nftables
- DNS resolution on the host
- Sockets and ports
- Packet capture
Tools
- ip
- ss
- tcpdump
- dig
Practice
Next: Storage.
Storage and filesystems
The layer where data loss actually happens.
RequiredStorage fundamentals
Disk full and disk slow are two of the most common production incidents, and both are diagnosable here.
Storage fundamentals
Disk full and disk slow are two of the most common production incidents, and both are diagnosable here.
What to learn
- Filesystems and their trade-offs
- LVM and partitioning
- RAID levels
- Mounting and fstab
- Inodes and why the disk is full when it is not full
Tools
- lsblk
- df
- du
- LVM tools
Practice
Next: Backups.
RequiredBackup and recovery
An untested backup is a rumour. This is the least glamorous and most important node on this path.
Backup and recovery
An untested backup is a rumour. This is the least glamorous and most important node on this path.
What to learn
- Backup strategies and retention
- Snapshots versus backups
- Testing a restore
- Recovery time and recovery point objectives
- Offsite and immutability
Project
intermediateA recoverable server
Build a server running a real service, back it up automatically, then destroy it and restore from backup onto fresh infrastructure. Time the restore.
- A backup tool
- A cloud provider or hypervisor
You know your actual recovery time because you measured it, not because you estimated it.
Next: Virtualisation.
Virtualisation and containers
How one machine becomes many, which is what the entire cloud is built on.
RequiredVirtualisation
Understanding the hypervisor is what makes cloud compute stop being magic.
Virtualisation
Understanding the hypervisor is what makes cloud compute stop being magic.
What to learn
- Hypervisors
- Virtual machine lifecycle
- Resource allocation and overcommit
- Networking for virtual machines
Tools
- KVM/QEMU
- Proxmox
- VirtualBox for practice
Next: Containers, from underneath.
RecommendedHow containers actually work
Namespaces and cgroups are the real mechanism. Knowing them is what lets you debug a container that will not start.
How containers actually work
Namespaces and cgroups are the real mechanism. Knowing them is what lets you debug a container that will not start.
What to learn
- Namespaces
- cgroups and resource limits
- Union filesystems
- Container runtimes below Docker
Practice
Next: Performance.
Performance and hardening
Making a machine fast, and making it hard to misuse.
AdvancedPerformance analysis
'The server is slow' is a symptom with a dozen causes. Method separates the people who can narrow it down from the people who reboot.
Performance analysis
'The server is slow' is a symptom with a dozen causes. Method separates the people who can narrow it down from the people who reboot.
What to learn
- CPU, memory, disk and network as four separate questions
- Load average and what it really means
- Profiling tools
- Kernel tuning
- Identifying the actual bottleneck before changing anything
Tools
- top and htop
- iostat
- vmstat
- perf
- eBPF tools
Next: Hardening.
RequiredSystem hardening
A server on the internet is scanned within minutes. Sensible defaults do most of the work.
System hardening
A server on the internet is scanned within minutes. Sensible defaults do most of the work.
What to learn
- Minimal installs and closed ports
- SSH hardening and key-only access
- Patching strategy
- Least privilege and sudo policy
- Host firewalls
- Log retention
Project
advancedA hardened, monitored host
Build a server from scratch: hardened SSH, host firewall, automatic security updates, monitoring and alerting on disk and memory, automated tested backups, and a documented recovery procedure.
- Linux
- A monitoring agent
- A backup tool
You can hand over a server with a runbook someone else could operate.
Where this leads
You do not have to pick one now. These are the directions this path opens up once you are working.
Continue your journey
The paths closest to this one. Skills overlap more than the job titles suggest.
Cloud Engineering
From never opening a cloud console to running real workloads on one.
ViewNetwork Engineering
Design and run the networks everything else quietly depends on.
ViewDevOps Engineering
Automate the path from a commit to something running in production.
ViewSite Reliability Engineering
Treat uptime as an engineering problem with a budget, not a hope.
ViewYou do not have to do this alone
Our programs are free, taught live, and built around the same progression. Join one and work through it alongside other people.
