By now the Kladde runs as a web application with a database, sign-in and a nightly import, but only on your computer. In this module it moves to Azure. The way there has four steps: the Kladde becomes a container image (lesson 2.9.2), Aspire starts it with everything that goes with it (2.9.3), you prepare your Azure subscription (2.9.4), and azd ships it to Azure Container Apps (2.9.5).

You already know containers a little: in lesson 2.4.1 you started SQL Server as a container. Back then, "a self-contained process with its own file system" was enough. This lesson catches up on the foundation: what an image is, how you start a container and look into it, where its data stays and which user it runs as. Nothing about the Kladde changes today.

Why containers

A program needs more than its own code: the .NET runtime in the right version, libraries of the operating system, time zone data, settings. If any of that is missing or different, it doesn't run on the server, even though it ran on your computer.

A container image packs everything together: the program, the runtime and the parts of the operating system that it needs. The same image runs on your computer, in the codespace, in the pipeline that comes in K3, and in Azure Container Apps. What you checked locally is exactly what runs later.