Chapter 1

Welcome: Build a Cloud-Native Simple App

Meet the application, the learning path, and the safe practice loop used throughout the tutorial.

Just started Saved in this browser.

You are about to turn one small web page into a real cloud-native application. No Kubernetes experience is assumed. Each lesson gives you a complete snapshot, commands you can copy, a result to check, and clues for recovering when reality differs from the example.

Four steps from a static page to a persistent application

Step by step

Download this chapter's files

Use your browser to download either ivia-chapter-01.tar.gz or ivia-chapter-01.zip. The archive is self-contained; you do not need this tutorial repository.

Open a terminal after the browser download:

cd ~/Downloads
tar -xzf ivia-chapter-01.tar.gz
cd ivia-chapter-01

All remaining relative paths in this chapter start from that extracted directory.

Do this

The challenge

Challenge: identify each layer of the final application and prove that your command-line tools are reachable. This is one challenge with two small checkpoints: understanding the destination and checking your starting point.

Prepare

Prerequisites

  • A terminal: Terminal on macOS/Linux or PowerShell on Windows.

  • The small Chapter 1 resources archive downloaded above.

  • Curiosity and permission to create containers and a local Kubernetes cluster.

  • About 6 GB of free memory and 20 GB of free disk space for later chapters.

  • No cloud account is required; Chapter 3 covers the remaining tools.

Outcome

Learning goals

  • Describe the roles of the browser, frontend, backend, container image, Helm release, and Kubernetes cluster
  • Distinguish source code from a built image and a running container
  • Use the tutorial's build → deploy → observe → improve loop
  • Find complete stage snapshots as known-good references
Step by step

Orient yourself

Confirm that you are in the extracted chapter directory:

pwd
find . -maxdepth 1 -type f -print

Later chapter downloads are deliberately complete: the static package contains nginx and chart values, the full-stack package adds React and FastAPI, and the persistent package adds SQLite storage.

The IVIA generic chart is fixed to version 4.8.0 in every Helm command. Pinning makes today's lesson reproducible even after a newer chart is published.

Step by step

The practice loop

  1. Build an immutable container image from source.
  2. Deploy that image by describing values, not by hand-editing cluster objects.
  3. Observe Pods, Services, logs, and HTTP responses.
  4. Improve one concern—configuration, health, networking, or persistence.

Kubernetes is a collection of control loops. You state the result you want; controllers continually work toward it. A failing Pod is useful evidence, not a verdict on your ability.

Verify

Expected validation

Your path should end in ivia-chapter-01, and the final command should list README.txt. Nothing is built or deployed in this chapter.

Say the architecture aloud in one sentence: “A browser loads React from nginx, React calls FastAPI through ingress, and the backend optionally stores messages on a persistent volume.” If that sentence makes sense, the challenge is complete.

Troubleshoot

Troubleshooting and common pitfalls

  • Wrong directory: return to your Downloads folder and enter ivia-chapter-01.
  • find is unavailable in PowerShell: use the PowerShell command shown above.
  • Trying to memorize everything: use the snapshots. Experienced engineers rely on known-good references too.
  • Treating warnings as failures: read the final status and exit code; a warning may still lead to a successful command.

You have already taken the most important step: starting with a small, inspectable system. We will add one idea at a time.

Reference

Official references

Just started Saved in this browser.