DevOps and cloud
Go from the Linux shell and Git to containers, automated delivery, infrastructure as code and Kubernetes, building the habits that keep software shipping reliably.
Intermediate 14 steps
Steps
Foundations
-
Linux and the command lineGet comfortable with the shell, files, processes and permissions, since almost every server, container and pipeline runs on Linux.
-
The Linux Command Line (William Shotts)
linuxcommand.orgfree
A comprehensive free learning resource and complete textbook introducing shell scripting and Linux system administration.
-
The Missing Semester of Your CS Education
missing.csail.mit.edufree
Free practical computer science course by MIT teaching shell tools, editors, version control, and computing environment mastery.
-
The Linux Command Line (William Shotts)
linuxcommand.orgfree
-
Version control with GitLearn commits, branches, merges and remotes well, because every automated pipeline starts from a change pushed to a repository.
-
Git Documentation & Pro Git Book
git-scm.comfree
Official comprehensive documentation manual, tutorials, and full online text of the Pro Git book.
-
A Successful Git Branching Model
nvie.comfree
Influential essay describing the Git Flow branching strategy, with develop, feature, release and hotfix branches for managing versioned software releases.
-
Git Documentation & Pro Git Book
git-scm.comfree
-
How operating systems work (optional)Study processes, memory, isolation and virtualization so containers and virtual machines stop feeling like magic.
-
Operating Systems: Three Easy Pieces (OSTEP)
pages.cs.wisc.edufree
A free online textbook by Remzi Arpaci-Dusseau and Andrea Arpaci-Dusseau covering virtualization, concurrency, and persistence.
-
QEMU Documentation
qemu.orgfree
Official documentation for QEMU, the open-source machine emulator and virtualiser, covering system emulation, invocation options and device configuration.
-
Operating Systems: Three Easy Pieces (OSTEP)
pages.cs.wisc.edufree
Containers
-
Running your first containersPackage an application with its dependencies into an image and run it the same way on any machine.
-
Docker Docs
docs.docker.comfree
Official Docker documentation with manuals, guides and references for building, running and networking containers with Docker Engine, Compose and related tools.
-
Podman
docs.podman.iofree
Daemonless open source container engine for building, running and managing OCI containers and pods, offering a Docker-compatible command line.
-
Docker Docs
docs.docker.comfree
-
Images, layers and registriesUnderstand image layers, the open container standards and public registries, so you can build small images and share them safely.
-
Open Container Initiative
opencontainers.orgfree
Linux Foundation project that maintains open industry specifications for container image formats, runtimes and distribution, with documentation of each standard.
-
Docker Hub
hub.docker.comfreemium
World's largest repository and registry database of container images for development environments and application runtimes.
-
Docker Internals
docker-saigon.github.iofree
Long-form technical explainer of how Docker builds on Linux kernel features such as namespaces, cgroups, layered storage and networking, for engineers who want to understand containers in depth.
-
Open Container Initiative
opencontainers.orgfree
-
Build a container runtime yourself (optional)Recreate namespaces, cgroups and chroot by hand to see exactly which Linux features a container engine combines.
-
Rubber Docker
github.comfree
Hands-on workshop that guides participants through rebuilding a minimal Docker-like container runtime in Python to learn the Linux primitives behind containers.
-
runc
github.comfree
Command-line tool that spawns and runs containers according to the OCI runtime specification, serving as the low-level runtime beneath Docker and other platforms.
-
Rubber Docker
github.comfree
Automation and delivery
-
Continuous integration and deliveryAutomate building, testing and releasing every change, so integration problems surface within minutes instead of at release time.
-
Martin Fowler's Bliki
martinfowler.comfree
An influential software engineering blog providing in-depth analysis of programming practices, testing, and agile principles.
-
Jenkins
jenkins.iofree
Open-source automation server providing hundreds of plugins to build, test, and deploy software across CI/CD pipelines.
-
Continuous Delivery Foundation Educational Guides
cd.foundationfree
Best practices, architecture patterns, and specifications for CI/CD pipelines, automation, and software supply chains.
-
Martin Fowler's Bliki
martinfowler.comfree
-
Configuration managementDescribe server setup as repeatable code instead of manual steps, so any machine can be rebuilt to a known state.
-
Ansible
redhat.comfree
Open source automation engine that configures systems, deploys software and orchestrates tasks over SSH using readable YAML playbooks, without agents on managed hosts.
-
Salt Project
saltproject.iofree
Open source configuration management and remote execution framework used to automate the provisioning and state of servers and infrastructure at scale.
-
Ansible
redhat.comfree
-
Infrastructure as codeDeclare networks, machines and cloud services in versioned files, review them like code and apply them predictably.
-
Terraform
github.comfree
Infrastructure as code tool that defines cloud and on-premises resources in declarative configuration files and plans and applies changes to them safely.
-
Terraform Best Practices on Google Cloud
docs.cloud.google.comfree
Google Cloud guide to structuring and styling Terraform configurations, covering module layout, naming and conventions for teams managing infrastructure as code.
-
Terraform
github.comfree
-
Reproducible development environments (optional)Pin tools and dependencies so every developer and every pipeline runs exactly the same environment.
-
Nix Learning Guides
nix.devfree
Official tutorials and beginner-friendly guides for configuring reproducible development environments and shells with Nix.
-
Development Container Specification
containers.devfree
Open specification defining how to configure and enrich containerized developer environments across varied tools and platforms.
-
Nix Learning Guides
nix.devfree
Cloud and orchestration
-
KubernetesLearn pods, deployments and services to run many containers across a cluster with scaling, rollouts and self-healing.
-
Kubernetes Documentation
kubernetes.iofree
Official guide and reference documentation for container orchestration, cluster architecture, and distributed service management.
-
Kubernetes Blog
kubernetes.iofree
Official blog highlighting architectural patterns, release features, and technical updates from the Kubernetes distributed computing ecosystem.
-
Kubernetes Documentation
kubernetes.iofree
-
Managed cloud platformsCompare serverless containers and reference architectures to decide how much infrastructure you actually want to operate yourself.
-
Cloud Run Documentation
docs.cloud.google.comfree
Google Cloud documentation for Cloud Run, a managed platform for running containers, covering deployment from source, the container contract and configuration.
-
Cloud Architecture Center
docs.cloud.google.comfree
Google Cloud collection of reference architectures, design guides and best practices for building reliable, secure and scalable systems in the cloud.
-
AWS Architecture Blog
aws.amazon.comfree
Technical articles, best practices, and patterns for building scalable, resilient distributed applications on cloud infrastructure.
-
Cloud Run Documentation
docs.cloud.google.comfree
-
Monitoring and error trackingCollect errors and performance data from production so problems are noticed and diagnosed before users report them.
-
Sentry
sentry.iofreemium
Developer-focused application monitoring and error tracking platform helping engineers diagnose and fix crashes in real time.
-
Sentry
sentry.iofreemium
-
Distributed systems thinking (optional)Study replication, partitioning and failure modes, the ideas underneath every cloud service you deploy to.
-
Designing Data-Intensive Applications
dataintensive.netpaid
An authoritative guide by Martin Kleppmann exploring principles of distributed databases, stream processing, and storage systems.
-
Distributed Systems
distributed-systems.netfree
A free online textbook by Maarten van Steen and Andrew S. Tanenbaum covering principles and paradigms of distributed computing.
-
Designing Data-Intensive Applications
dataintensive.netpaid
See also
External links, by their respective authors. This path is original IPL content.