Laptop to Production

The roadmap

Where QuickCart starts, and where it ends up.

Time
15 minutes
Level
Beginner
Read first
Nothing — you can start here

Part 1: The problem

QuickCart, the very beginning

Maya is a mobile developer. On a weekend, she builds QuickCart: a food-ordering app with a small backend that stores the menu and the orders.

The backend runs on her laptop. Her friends install the app, order lunch, and it works. Then a local food blogger mentions QuickCart. That evening, a thousand people try it at once.

The laptop is asleep in Maya’s bag. Every order fails.

Maya now needs to learn a pile of things at once: servers, networks, databases, containers, Terraform, pipelines. Each one comes with a list of tools. It is hard to know where to start, or what any of it is for.

This course answers that by following QuickCart, one problem at a time.

Part 2: The idea

DevOps is everything that happens to code after a developer writes it: getting it to users safely, often, and keeping it running once it’s there.

The name joins two words, development and operations. In many companies these used to be separate teams. Developers wrote code and handed it over. An operations team ran it. Releases were slow and painful, because the people who wrote the code never saw it fail, and the people who saw it fail couldn’t change it. DevOps is the idea that one team owns both halves.

Every tool answers one problem

QuickCart grows from one laptop to millions of users. At each size, something new breaks. Each module in this course is the fix for one of those breaks.

ModuleWhat goes wrong for QuickCartWhat it teaches
00 Start hereNothing yetThis roadmap, safe practice, and your computer
01 How software shipsMonthly releases hurt, and nobody knows which change broke thingsSmall releases, measuring delivery, reliability targets, safe ways to release
02 The cloud, simplyThe backend needs a computer that is always onRenting servers from AWS, and who is allowed to do what
03 NetworkingThe database can be reached from the internetA private network where you choose what is exposed
04 Running codeOne server falls over on launch nightMore servers, a load balancer in front, and adding servers automatically
05 DataOrders must never be lost, and passwords are in the codeManaged databases, file storage, secrets
06 Watching it runCheckout fails for an hour and nobody noticesLogs, metrics, alarms, and a record of who changed what
07 Containers“It worked on my laptop”Packaging the app so it runs the same everywhere
08 Running containersReleases drop requestsRunning containers, and releasing without downtime
09 Infrastructure as codeA second country takes a week of clickingDescribing everything in code with Terraform
10 AutomationReleases need a person awake at 2amA pipeline that takes a commit all the way to production
11 When things breakIt’s 3am and checkout is downWhere to look first, and runbooks
ProjectsEverything at onceFive builds that combine the modules
Key point: Every tool in this course is the answer to a problem QuickCart has at a certain size. Meet the problem first, and the tool makes sense.

Two ways to use the course

If you want toDo this
Learn DevOps from zeroGo in order, from here to Project 5. Each module builds on the one before
Learn one topicGo straight to it. Each lesson’s header lists the few lessons to read first
Answer one question, like “why can’t my server reach the internet?”Use Which lesson do I need?, or search with /

What you need

You needWhyWhere it’s covered
A computer running macOS, Windows 10 or 11, or LinuxEvery command in the course runs in a Unix-style terminal. macOS and Linux have one; Windows gets one through WSL 2Set up your computer
About 20 GB of free disk spaceDocker images and tools take roomThe lab below
An AWS account and a payment cardAWS asks for a card even for free useHow this course works
A small budgetMost labs are free or cost pennies. A few cost a little while they runEvery lab starts with a cost badge
TimeEach lesson takes 15 to 45 minutes. The projects take a few hours eachEach lesson’s header

You don’t need any backend experience. If you can write an app and use a terminal a little, you have enough.

Part 3: See it

Below is QuickCart’s route. Choose Grow QuickCart to add users. At each stage, see what breaks, and which module fixes it. You can also jump to any stage on the line.

1 userA laptop

What goes wrong

QuickCart runs on Maya's laptop. It works, but only while the laptop is open, and only Maya can use it.

What fixes it

00Start here

The roadmapHow this course worksSet up your computer

Stage 1 of 12: A laptopThis is where every app starts. Choose Grow QuickCart to add users and see what breaks next.

What to notice: no stage needs everything. A laptop doesn’t need Kubernetes, and a site with 50 users doesn’t need a pipeline. Knowing which problem you actually have is how you pick the right tool, and how you avoid building things you don’t need yet.

Part 4: Do it

Free — nothing in this lab touches AWS.

You’ll check that your computer is ready for the course, and write down a plan: which route you’ll take, how much time you have, and what you’re willing to spend. About 10 minutes.

On macOS, open the Terminal app (search for it with Spotlight). On Linux, open your Terminal. On Windows, you’ll set up a terminal in Set up your computer; for this lab, use the Windows settings described in each step instead.

  1. Check your system and its chip

    On macOS or Linux:

    Terminal
    uname -sm
    PartWhat it means
    unameprint information about the system
    -sthe name of the operating system’s kernel: Darwin on macOS, Linux on Linux
    -mthe machine’s hardware type: which kind of chip
    You should see
    Linux x86_64

    A Mac with an Apple chip prints Darwin arm64. On Windows, open Settings → System → About: System type shows the same thing, such as 64-bit operating system, x64-based processor.

    You seeIt means
    x86_64 or x64-basedAn Intel or AMD chip, like most servers on AWS
    arm64 or ARM-basedAn ARM chip, such as Apple’s M-series or some Windows laptops

    Both work for this course. It matters later: a container image built on an ARM chip is built for ARM by default, and it won’t run on an Intel or AMD server unless you build it for that. The Dockerfile lesson shows how.

    Your system should be reasonably up to date. The tools in this course support recent versions of macOS, Windows 11 or Windows 10 (version 22H2), and current Linux releases such as Ubuntu 22.04 or 24.04. If yours is several years behind, update it first.

  2. Check your free disk space

    On macOS or Linux:

    Terminal
    df -h /
    PartWhat it means
    dfshow how much space is free on your disks (short for disk free)
    -hhuman-readable: show sizes like 212G instead of counting blocks
    /only the main disk, the one your system runs from
    You should see
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/nvme0n1p2  468G   94G  350G  22% /

    Look at the Avail column. Your numbers will differ, and macOS shows a few more columns, but Avail means the same everywhere. On Windows, open File Explorer → This PC: the free space on the C: drive is the number that matters.

  3. Choose your route

    Pick one of these. You can change your mind later.

    RouteModulesGood for
    The whole line00 to 11, then all five projectsGoing from zero to job-ready
    AWS first00, 02 to 06, then Project 1 and Project 2Understanding what your app’s backend really runs on
    Ship faster00, 01, 07, 08, 10Containers, releases and pipelines, if someone else runs the cloud side

    Write your choice down, in a notes app or on paper.

  4. Decide your time and budget

    Fill in this table in the same note:

    QuestionExample answer
    How many hours a week can you give this?4 hours: two evenings
    Which days?Tuesday and Thursday
    What’s the most you’ll spend on AWS in a month?$10
    Who can you ask when you’re stuck?A friend who works on backend, or a community forum

    The budget number matters. In the next lesson you’ll set up an alert that emails you before you reach it.

    You should see

    A short note with your route, your hours, and your monthly limit. That’s your plan.

  5. Clean-up step: Clean up

    Nothing to delete. You only ran commands that read information; none of them changed anything.

    Keep your plan somewhere you’ll see it. When you finish a lesson, press Mark as done at the bottom of the page. Your progress fills in on the route map on the home page, and it stays in this browser.

Part 5: Check yourself

What is DevOps mostly about?

Why does this course introduce each tool only when QuickCart needs it?

You only want to learn Terraform. What should you do?

A small site gets mentioned on a huge news site and goes down within minutes. What is this usually called?

Roughly what should you expect to spend on AWS if you follow the whole course and clean up after each lab?

Part 6: Cheat sheet

On one card
IdeaIn one line
DevOpsGetting changes to users safely and often, and keeping them running
This courseOne app, QuickCart, from a laptop to millions of users
Every lessonProblem, idea, see it, do it, check yourself, cheat sheet
Every toolThe answer to one problem at one size. Meet the problem first
Jumping inRead the lessons listed under Read first, then start anywhere
uname -smYour system and chip: x86_64 for Intel or AMD, arm64 for ARM
df -h /Free disk space. Look at Avail. You want 20 GB or more
CostEvery lab has a badge. The paid ones have a clean-up step

Finished the build and the quiz? Mark it done to fill in its stop on the route map.