Skip to content
All tech roadmaps

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.

5 stages2 projectsIntermediate6 to 8 months, part time

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.

01

The operating system

Everything above depends on this, and almost nobody above understands it.

Required

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

Break the boot process on a virtual machine, then recover it from a rescue shell.

Next: Shell scripting.

Required

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

Write a script that audits a server's users, open ports and disk usage, and produces a readable report.

Next: Networking.

02

Networking from the machine's point of view

Where systems and networking meet, and where most confusing failures live.

Required

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

Use tcpdump to prove a connection is failing before it reaches your application.

Next: Storage.

03

Storage and filesystems

The layer where data loss actually happens.

Required

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

Fill a disk with inodes rather than bytes and diagnose it. It will surprise you once and never again.

Next: Backups.

Required

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

intermediate

A 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.

04

Virtualisation and containers

How one machine becomes many, which is what the entire cloud is built on.

Required

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.

Recommended

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

Create an isolated process using unshare and cgroups directly, with no container runtime at all.

Next: Performance.

05

Performance and hardening

Making a machine fast, and making it hard to misuse.

Advanced

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.

Required

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

advanced

A 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.

You 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.