From 8d46656ddfd2689a437434819fff8286c4bc27e4 Mon Sep 17 00:00:00 2001 From: Simon Kurtz Date: Wed, 13 Nov 2024 17:16:19 -0500 Subject: [PATCH] Update container optimization --- .../Backend.Api.Dockerfile.chiseled | 15 +- .../Backend.Api.Dockerfile.chiseled.aot | 24 -- .../Backend.Api.Dockerfile.concise | 15 + .../Backend.Svc.Dockerfile.chiseled | 15 + .../Backend.Svc.Dockerfile.chiseled.aot | 24 -- .../Backend.Svc.Dockerfile.concise | 15 + .../Frontend.Ui.Dockerfile.chiseled | 15 + .../Frontend.Ui.Dockerfile.chiseled.aot | 24 -- .../Frontend.Ui.Dockerfile.concise | 15 + docs/aca/12-optimize-containers/index.md | 280 ++++++------------ .../backend-api-chiseled-aot-image-stats.png | Bin 25578 -> 0 bytes .../backend-api-chiseled-aot.png | Bin 4421 -> 0 bytes .../backend-api-chiseled-image-stats.png | Bin 25450 -> 32533 bytes .../backend-api-status-quo-image-stats.png | Bin 25953 -> 35167 bytes .../docker-chiseled.png | Bin 0 -> 21265 bytes .../docker-status-quo.png | Bin 0 -> 4415 bytes 16 files changed, 171 insertions(+), 271 deletions(-) delete mode 100644 docs/aca/12-optimize-containers/Backend.Api.Dockerfile.chiseled.aot create mode 100644 docs/aca/12-optimize-containers/Backend.Api.Dockerfile.concise create mode 100644 docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.chiseled delete mode 100644 docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.chiseled.aot create mode 100644 docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.concise create mode 100644 docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.chiseled delete mode 100644 docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.chiseled.aot create mode 100644 docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.concise delete mode 100644 docs/assets/images/12-optimize-containers/backend-api-chiseled-aot-image-stats.png delete mode 100644 docs/assets/images/12-optimize-containers/backend-api-chiseled-aot.png create mode 100644 docs/assets/images/12-optimize-containers/docker-chiseled.png create mode 100644 docs/assets/images/12-optimize-containers/docker-status-quo.png diff --git a/docs/aca/12-optimize-containers/Backend.Api.Dockerfile.chiseled b/docs/aca/12-optimize-containers/Backend.Api.Dockerfile.chiseled index 86d1e5f1..c17d1f56 100644 --- a/docs/aca/12-optimize-containers/Backend.Api.Dockerfile.chiseled +++ b/docs/aca/12-optimize-containers/Backend.Api.Dockerfile.chiseled @@ -5,20 +5,11 @@ EXPOSE 8080 ENV ASPNETCORE_URLS=http://+:8080 USER app -FROM mcr.microsoft.com/dotnet/sdk:8.0-jammy AS build -ARG configuration=Release +FROM mcr.microsoft.com/dotnet/sdk:8.0-jammy AS publish WORKDIR /src -COPY ["TasksTracker.TasksManager.Backend.Api/TasksTracker.TasksManager.Backend.Api.csproj", "TasksTracker.TasksManager.Backend.Api/"] -RUN dotnet restore "TasksTracker.TasksManager.Backend.Api/TasksTracker.TasksManager.Backend.Api.csproj" COPY . . -WORKDIR "/src/TasksTracker.TasksManager.Backend.Api" -RUN dotnet build "TasksTracker.TasksManager.Backend.Api.csproj" -c $configuration -o /app/build - -FROM build AS publish -ARG configuration=Release -RUN dotnet publish "TasksTracker.TasksManager.Backend.Api.csproj" -c $configuration -o /app/publish /p:UseAppHost=false +RUN dotnet publish -o /app/publish FROM base AS final -WORKDIR /app COPY --from=publish /app/publish . -ENTRYPOINT ["dotnet", "TasksTracker.TasksManager.Backend.Api.dll"] +ENTRYPOINT ["dotnet", "TasksTracker.TasksManager.Backend.Api.dll"] \ No newline at end of file diff --git a/docs/aca/12-optimize-containers/Backend.Api.Dockerfile.chiseled.aot b/docs/aca/12-optimize-containers/Backend.Api.Dockerfile.chiseled.aot deleted file mode 100644 index 33737fb0..00000000 --- a/docs/aca/12-optimize-containers/Backend.Api.Dockerfile.chiseled.aot +++ /dev/null @@ -1,24 +0,0 @@ -FROM mcr.microsoft.com/dotnet/nightly/runtime-deps:8.0-jammy-chiseled-aot AS base -WORKDIR /app -EXPOSE 8080 - -ENV ASPNETCORE_URLS=http://+:8080 - -USER app -FROM mcr.microsoft.com/dotnet/nightly/sdk:8.0-jammy-aot AS build -ARG configuration=Release -WORKDIR /src -COPY ["TasksTracker.TasksManager.Backend.Api/TasksTracker.TasksManager.Backend.Api.csproj", "TasksTracker.TasksManager.Backend.Api/"] -RUN dotnet restore "TasksTracker.TasksManager.Backend.Api/TasksTracker.TasksManager.Backend.Api.csproj" -COPY . . -WORKDIR "/src/TasksTracker.TasksManager.Backend.Api" -RUN dotnet build "TasksTracker.TasksManager.Backend.Api.csproj" -c $configuration -o /app/build - -FROM build AS publish -ARG configuration=Release -RUN dotnet publish "TasksTracker.TasksManager.Backend.Api.csproj" -c $configuration -o /app/publish /p:UseAppHost=false - -FROM base AS final -WORKDIR /app -COPY --from=publish /app/publish . -ENTRYPOINT ["dotnet", "TasksTracker.TasksManager.Backend.Api.dll"] diff --git a/docs/aca/12-optimize-containers/Backend.Api.Dockerfile.concise b/docs/aca/12-optimize-containers/Backend.Api.Dockerfile.concise new file mode 100644 index 00000000..cc4d8ab4 --- /dev/null +++ b/docs/aca/12-optimize-containers/Backend.Api.Dockerfile.concise @@ -0,0 +1,15 @@ +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +WORKDIR /app +EXPOSE 8080 + +ENV ASPNETCORE_URLS=http://+:8080 + +USER app +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS publish +WORKDIR /src +COPY . . +RUN dotnet publish -o /app/publish + +FROM base AS final +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "TasksTracker.TasksManager.Backend.Api.dll"] \ No newline at end of file diff --git a/docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.chiseled b/docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.chiseled new file mode 100644 index 00000000..1771b846 --- /dev/null +++ b/docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.chiseled @@ -0,0 +1,15 @@ +FROM mcr.microsoft.com/dotnet/aspnet:8.0-jammy-chiseled AS base +WORKDIR /app +EXPOSE 8080 + +ENV ASPNETCORE_URLS=http://+:8080 + +USER app +FROM mcr.microsoft.com/dotnet/sdk:8.0-jammy AS publish +WORKDIR /src +COPY . . +RUN dotnet publish -o /app/publish + +FROM base AS final +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "TasksTracker.Processor.Backend.Svc.dll"] \ No newline at end of file diff --git a/docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.chiseled.aot b/docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.chiseled.aot deleted file mode 100644 index 893be3c7..00000000 --- a/docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.chiseled.aot +++ /dev/null @@ -1,24 +0,0 @@ -FROM mcr.microsoft.com/dotnet/nightly/runtime-deps:8.0-jammy-chiseled-aot AS base -WORKDIR /app -EXPOSE 8080 - -ENV ASPNETCORE_URLS=http://+:8080 - -USER app -FROM mcr.microsoft.com/dotnet/nightly/sdk:8.0-jammy-aot AS build -ARG configuration=Release -WORKDIR /src -COPY ["TasksTracker.Processor.Backend.Svc/TasksTracker.Processor.Backend.Svc.csproj", "TasksTracker.Processor.Backend.Svc/"] -RUN dotnet restore "TasksTracker.Processor.Backend.Svc/TasksTracker.Processor.Backend.Svc.csproj" -COPY . . -WORKDIR "/src/TasksTracker.Processor.Backend.Svc" -RUN dotnet build "TasksTracker.Processor.Backend.Svc.csproj" -c $configuration -o /app/build - -FROM build AS publish -ARG configuration=Release -RUN dotnet publish "TasksTracker.Processor.Backend.Svc.csproj" -c $configuration -o /app/publish /p:UseAppHost=false - -FROM base AS final -WORKDIR /app -COPY --from=publish /app/publish . -ENTRYPOINT ["dotnet", "TasksTracker.Processor.Backend.Svc.dll"] diff --git a/docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.concise b/docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.concise new file mode 100644 index 00000000..40baa9c0 --- /dev/null +++ b/docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.concise @@ -0,0 +1,15 @@ +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +WORKDIR /app +EXPOSE 8080 + +ENV ASPNETCORE_URLS=http://+:8080 + +USER app +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS publish +WORKDIR /src +COPY . . +RUN dotnet publish -o /app/publish + +FROM base AS final +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "TasksTracker.Processor.Backend.Svc.dll"] \ No newline at end of file diff --git a/docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.chiseled b/docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.chiseled new file mode 100644 index 00000000..86125801 --- /dev/null +++ b/docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.chiseled @@ -0,0 +1,15 @@ +FROM mcr.microsoft.com/dotnet/aspnet:8.0-jammy-chiseled AS base +WORKDIR /app +EXPOSE 8080 + +ENV ASPNETCORE_URLS=http://+:8080 + +USER app +FROM mcr.microsoft.com/dotnet/sdk:8.0-jammy AS publish +WORKDIR /src +COPY . . +RUN dotnet publish -o /app/publish + +FROM base AS final +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "TasksTracker.WebPortal.Frontend.Ui.dll"] \ No newline at end of file diff --git a/docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.chiseled.aot b/docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.chiseled.aot deleted file mode 100644 index 9af28f90..00000000 --- a/docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.chiseled.aot +++ /dev/null @@ -1,24 +0,0 @@ -FROM mcr.microsoft.com/dotnet/nightly/runtime-deps:8.0-jammy-chiseled-aot AS base -WORKDIR /app -EXPOSE 8080 - -ENV ASPNETCORE_URLS=http://+:8080 - -USER app -FROM mcr.microsoft.com/dotnet/nightly/sdk:8.0-jammy-aot AS build -ARG configuration=Release -WORKDIR /src -COPY ["TasksTracker.WebPortal.Frontend.Ui/TasksTracker.WebPortal.Frontend.Ui.csproj", "TasksTracker.WebPortal.Frontend.Ui/"] -RUN dotnet restore "TasksTracker.WebPortal.Frontend.Ui/TasksTracker.WebPortal.Frontend.Ui.csproj" -COPY . . -WORKDIR "/src/TasksTracker.WebPortal.Frontend.Ui" -RUN dotnet build "TasksTracker.WebPortal.Frontend.Ui.csproj" -c $configuration -o /app/build - -FROM build AS publish -ARG configuration=Release -RUN dotnet publish "TasksTracker.WebPortal.Frontend.Ui.csproj" -c $configuration -o /app/publish /p:UseAppHost=false - -FROM base AS final -WORKDIR /app -COPY --from=publish /app/publish . -ENTRYPOINT ["dotnet", "TasksTracker.WebPortal.Frontend.Ui.dll"] diff --git a/docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.concise b/docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.concise new file mode 100644 index 00000000..9f9bdb9c --- /dev/null +++ b/docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.concise @@ -0,0 +1,15 @@ +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +WORKDIR /app +EXPOSE 8080 + +ENV ASPNETCORE_URLS=http://+:8080 + +USER app +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS publish +WORKDIR /src +COPY . . +RUN dotnet publish -o /app/publish + +FROM base AS final +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "TasksTracker.WebPortal.Frontend.Ui.dll"] \ No newline at end of file diff --git a/docs/aca/12-optimize-containers/index.md b/docs/aca/12-optimize-containers/index.md index 7cdae4f0..53810940 100644 --- a/docs/aca/12-optimize-containers/index.md +++ b/docs/aca/12-optimize-containers/index.md @@ -30,277 +30,183 @@ In this module, we will look into the benefits of optimized containers such as: While available prior to .NET 8, the general availability introduction of .NET 8 in November 2023 came with an expanded focus on container optimization and a move away from general-purpose containers. You can apply similar steps for .NET versions newer than 8, but we omit them here for brevity. +**For .NET 9, replace `8.0-jammy` with `9.0-noble`.** + Please ensure you have the Docker daemon ready. Running *Docker Desktop* does it. #### 1.1 The Status Quo Let's focus on our first project, the Backend API. This is an ASP.NET Core application. -Our original `Dockerfile` looks like this: +Our original `Dockerfile` files look like this: === "Backend.Api Dockerfile" -```Dockerfile ---8<-- "docs/aca/12-optimize-containers/Backend.Api.Dockerfile" -``` + ```Dockerfile + --8<-- "docs/aca/12-optimize-containers/Backend.Api.Dockerfile" + ``` + +=== "Backend.Svc Dockerfile" + ```Dockerfile + --8<-- "docs/aca/12-optimize-containers/Backend.Svc.Dockerfile" + ``` + +=== "Frontend.Ui Dockerfile" + ```Dockerfile + --8<-- "docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile" + ``` ```shell cd ~\TasksTracker.ContainerApps -``` -```shell docker build -t backend-api-status-quo -f .\TasksTracker.TasksManager.Backend.Api\Dockerfile . +docker build -t backend-svc-status-quo -f .\TasksTracker.Processor.Backend.Svc\Dockerfile . +docker build -t frontend-ui-status-quo -f .\TasksTracker.WebPortal.Frontend.Ui\Dockerfile . docker image list ``` -This yields a sizable image at **222 MB**! +This yields sizable images at **226+ MB**! -![Backend API Status Quo](../../assets/images/12-optimize-containers/backend-api-status-quo.png) +![Docker Status Quo](../../assets/images/12-optimize-containers/docker-status-quo.png) -This image is comprised of two images, 452 packages, and has 19 vulnerabilities. +For example, the Backend API image is comprised of two images, 452 packages, and has 19 vulnerabilities. ![Backend API Status Quo Image Stats](../../assets/images/12-optimize-containers/backend-api-status-quo-image-stats.png) -#### 1.2. Chiseled Images +#### 1.2 More Concise Dockerfile -Microsoft and Ubuntu's creator, Canonical, collaborated on the concept of a [chiseled image for .NET](https://learn.microsoft.com/dotnet/core/docker/container-images#scenario-based-images){target=_blank}. Take a general-purpose base image and start chiseling away until you are left with an image that contains nothing more than the bare necessities to run your workload. No shell, no package manager, no bloat. +The VS Code Docker extension produces a Dockerfile that's helpful for development but not as ideal for creation of production containers. We can significantly simplify and streamline the files (note that `publish` builds for `Release` by default, so we don't need to declare the configuration). These changes do not immediately impact image size yet. -=== "Backend.Api Dockerfile.chiseled" -```Dockerfile hl_lines="1 8" ---8<-- "docs/aca/12-optimize-containers/Backend.Api.Dockerfile.chiseled" -``` +=== "Concise Backend.API Dockerfile" + ```Dockerfile + --8<-- "docs/aca/12-optimize-containers/Backend.Api.Dockerfile.concise" + ``` -Create a new file, `Dockerfile.chiseled` in the Backend Api root directory, then build the image again: +=== "Concise Backend.Svc Dockerfile" + ```Dockerfile + --8<-- "docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.concise" + ``` + +=== "Concise Frontend.Ui Dockerfile" + ```Dockerfile + --8<-- "docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.concise" + ``` + +Create three new files, `Dockerfile.concise` in each of their respective directories, then run the following commands from the project root directory to build the concise images. All images will build, but they will continue to essentially be identical to the status quo images. ```shell -docker build -t backend-api-chiseled -f .\TasksTracker.TasksManager.Backend.Api\Dockerfile.chiseled . +docker build -t backend-api-concise -f .\TasksTracker.TasksManager.Backend.Api\Dockerfile.concise .\TasksTracker.TasksManager.Backend.Api +docker build -t backend-svc-concise -f .\TasksTracker.Processor.Backend.Svc\Dockerfile.concise .\TasksTracker.Processor.Backend.Svc +docker build -t frontend-ui-concise -f .\TasksTracker.WebPortal.Frontend.Ui\Dockerfile.concise .\TasksTracker.WebPortal.Frontend.Ui docker image list ``` -Our image now stands at a much smaller **115 MB** - a drop of 107 MB and a size just 51.8% of the status quo image! - -![Backend API Chiseled](../../assets/images/12-optimize-containers/backend-api-chiseled.png) +#### 1.3 Chiseled Images -This image is comprised of one image, 331 packages, and has five vulnerabilities. - -![Backend API Status Quo Image Stats](../../assets/images/12-optimize-containers/backend-api-chiseled-image-stats.png) +Microsoft and Ubuntu's creator, Canonical, collaborated on the concept of a [chiseled image for .NET](https://learn.microsoft.com/dotnet/core/docker/container-images#scenario-based-images){target=_blank}. Take a general-purpose base image and start chiseling away until you are left with an image that contains nothing more than the bare necessities to run your workload. No shell, no package manager, no bloat. -#### 1.3 Chiseled & Ahead-of-time (AOT) Compilation +=== "Chiseled Backend.API Dockerfile" + ```Dockerfile + --8<-- "docs/aca/12-optimize-containers/Backend.Api.Dockerfile.chiseled" + ``` -[Ahead-of-time (AOT) compilation](https://learn.microsoft.com/dotnet/core/deploying/native-aot){target_blank} was first introduced with .NET 7. AOT compiles the application to native code instead of Intermediate Language (IL). This means that we must have foresight as to what platform will be hosting the application. Our process is simplified by the fact that containers in Azure Container Apps are only Linux-hosted. By using native code, we will bypass the just-in-time (JIT) compiler when the container executes, which means we will have faster startup and a smaller memory footprint. It also means these images can run in environments where JIT compilation may not be permitted. +=== "Chiseled Backend.Svc Dockerfile" + ```Dockerfile + --8<-- "docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.chiseled" + ``` -=== "Backend.Api Dockerfile.chiseled.aot" -```Dockerfile hl_lines="1 8" ---8<-- "docs/aca/12-optimize-containers/Backend.Api.Dockerfile.chiseled.aot" -``` +=== "Concise Frontend.Ui Dockerfile" + ```Chiseled + --8<-- "docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.chiseled" + ``` -Create a new file, `Dockerfile.chiseled.aot` in the Backend Api root directory, then build the image again: +Create three new files, `Dockerfile.chiseled` in each of their respective directories, then run the following commands from the project root directory to build the chiseled images: ```shell -docker build -t backend-api-chiseled-aot -f .\TasksTracker.TasksManager.Backend.Api\Dockerfile.chiseled.aot . +docker build -t backend-api-chiseled -f .\TasksTracker.TasksManager.Backend.Api\Dockerfile.chiseled .\TasksTracker.TasksManager.Backend.Api +docker build -t backend-svc-chiseled -f .\TasksTracker.Processor.Backend.Svc\Dockerfile.chiseled .\TasksTracker.Processor.Backend.Svc +docker build -t frontend-ui-chiseled -f .\TasksTracker.WebPortal.Frontend.Ui\Dockerfile.chiseled .\TasksTracker.WebPortal.Frontend.Ui docker image list ``` -!!! note "Nightly Images" - - As the name implies, these images are produced nightly. They are not yet images that are versioned and stable in the registry. Your mileage may vary. +**Our images are half of their original size now!** -Another massive reduction takes the image down to a mere **16 MB** - a total drop of 206 MB and a size just 7.2% of the status quo image! +![Docker Chiseled](../../assets/images/12-optimize-containers/docker-chiseled.png) -![Backend API Chiseled AOT](../../assets/images/12-optimize-containers/backend-api-chiseled-aot.png) +This image is comprised of one image, 331 packages, and has five vulnerabilities. -This image is comprised of one image, just 23 packages, and has nine vulnerabilities. -Notably, the four additional vulnerabilities are in the `openssl 3.0.2` package in this image. +![Backend API Status Quo Image Stats](../../assets/images/12-optimize-containers/backend-api-chiseled-image-stats.png) -![Backend API Status Quo Image Stats](../../assets/images/12-optimize-containers/backend-api-chiseled-aot-image-stats.png) -#### 1.4 Deploying the new Status Quo +#### 1.4 Deploying the Updated Images While the image is vastly reduced, what hasn't changed is the functionality of the API. Whether you are executing it locally or deploying to Azure, the Backend API will continue to function as it always has. However, now it has less vulnerabilities, less time to transfer from the registry, less startup time, and less of a memory footprint. Furthermore, 16 MB is the uncompressed image. With compression, we are likely to continue dropping in size. Let's update our existing Backend API container app with a new build and revision: ```shell hl_lines="6" -## Build Backend Service on ACR and Push to ACR +## Build ACR and Update the Container Apps az acr build ` --registry $AZURE_CONTAINER_REGISTRY_NAME ` --image "tasksmanager/$BACKEND_API_NAME" ` ---file 'TasksTracker.TasksManager.Backend.Api/Dockerfile.chiseled.aot' . - -# Update Backend API App container app and create a new revision -az containerapp update ` ---name $BACKEND_API_NAME ` ---resource-group $RESOURCE_GROUP ` ---revision-suffix v$TODAY-6 ` ---set-env-vars "ApplicationInsights__InstrumentationKey=secretref:appinsights-key" -``` - -Verify that the application continues to work: - -```shell -$FRONTEND_UI_BASE_URL -``` - -### 2. Optimizing Frontend UI & Backend Service Containers - -As all three projects use ASP.NET Core, we can follow the same approach with these two projects as well.how much you are able to reduce! - -#### 2.1 Frontend UI - -#### 2.1.1 The Status Quo - -Our original `Dockerfile` looks like this: - -=== "Frontend.Ui Dockerfile" -```Dockerfile ---8<-- "docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile" -``` - -```shell -cd ~\TasksTracker.ContainerApps -``` - -```shell -docker build -t frontend-ui-status-quo -f .\TasksTracker.WebPortal.Frontend.Ui\Dockerfile . - -docker image list -``` - -This yields an image size of **227 MB**. - -#### 2.1.2 Chiseled & Ahead-of-time (AOT) Compilation - -Skipping straight to AOT images: - -=== "Frontend.Ui Dockerfile.chiseled.aot" -```Dockerfile hl_lines="1 8" ---8<-- "docs/aca/12-optimize-containers/Frontend.Ui.Dockerfile.chiseled.aot" -``` - -Create a new file, `Dockerfile.chiseled.aot` in the Frontend Ui root directory, then build the image again: +--file 'TasksTracker.TasksManager.Backend.Api/Dockerfile.chiseled' .\TasksTracker.TasksManager.Backend.Api -```shell -docker build -t frontend-ui-chiseled-aot -f .\TasksTracker.WebPortal.Frontend.Ui\Dockerfile.chiseled.aot . - -docker image list -``` - -This much-improved image is now **20.6 MB**. - -#### 2.2 Backend Service - -#### 2.2.1 The Status Quo - -Our original `Dockerfile` looks like this: - -=== "Backend.Svc Dockerfile" -```Dockerfile ---8<-- "docs/aca/12-optimize-containers/Backend.Svc.Dockerfile" -``` - -```shell -cd ~\TasksTracker.ContainerApps -``` - -```shell -docker build -t backend-svc-status-quo -f .\TasksTracker.Processor.Backend.Svc\Dockerfile . - -docker image list -``` - -This yields an image size of **222 MB**. - -#### 2.2.2 Chiseled & Ahead-of-time (AOT) Compilation - -Skipping straight to AOT images: - -=== "Backend.Svc Dockerfile.chiseled.aot" -```Dockerfile hl_lines="1 8" ---8<-- "docs/aca/12-optimize-containers/Backend.Svc.Dockerfile.chiseled.aot" -``` - -Create a new file, `Dockerfile.chiseled.aot` in the Backend Svc root directory, then build the image again: - -```shell -docker build -t backend-svc-chiseled-aot -f .\TasksTracker.Processor.Backend.Svc\Dockerfile.chiseled.aot . - -docker image list -``` - -This much-improved image is now **16 MB**. - -### 3. Optimization Summary - -#### 3.1 Table of Improvements - -The Backend API and the Backend Svc projects are all but identical while the Frontend UI project is just slightly larger. All three projects were cut down to less than 10% of their original size! - -| | Image Size | Size Reduction | Size compared to Original | Packages | CVEs | -|----------------------------|-----------:|---------------:|--------------------------:|---------:|-----:| -| Backend API Original | 222 MB | | | 452 | 19 | -| Backend API Chiseled & AOT | 16 MB | 206 MB | 7.2% | 23 | 9 | -| Frontend UI Original | 226 MB | | | 447 | 19 | -| Frontend UI Chiseled & AOT | 21 MB | 205 MB | 9.3% | 18 | 9 | -| Backend Svc Original | 222 MB | | | 452 | 19 | -| Backend Svc Chiseled & AOT | 16 MB | 206 MB | 7.2% | 23 | 9 | - -#### 3.2 Build & Deploy All Services - -The last step is to build & deploy updated images. For good measure, let's do the Backend API as well even though we did it earlier already. - -```shell hl_lines="5 11 17" -# Build Backend API on ACR and Push to ACR -az acr build ` ---registry $AZURE_CONTAINER_REGISTRY_NAME ` ---image "tasksmanager/$BACKEND_API_NAME" ` ---file 'TasksTracker.TasksManager.Backend.Api/Dockerfile.chiseled.aot' . - -# Build Backend Service on ACR and Push to ACR az acr build ` --registry $AZURE_CONTAINER_REGISTRY_NAME ` --image "tasksmanager/$BACKEND_SERVICE_NAME" ` ---file 'TasksTracker.Processor.Backend.Svc/Dockerfile.chiseled.aot' . +--file 'TasksTracker.Processor.Backend.Svc/Dockerfile.chiseled' .\TasksTracker.Processor.Backend.Svc -# Build Frontend Web App on ACR and Push to ACR az acr build ` --registry $AZURE_CONTAINER_REGISTRY_NAME ` --image "tasksmanager/$FRONTEND_WEBAPP_NAME" ` ---file 'TasksTracker.WebPortal.Frontend.Ui/Dockerfile.chiseled.aot' . -``` +--file 'TasksTracker.WebPortal.Frontend.Ui/Dockerfile.chiseled' .\TasksTracker.WebPortal.Frontend.Ui -```shell -# Update Backend API App container app and create a new revision +# Update all container apps az containerapp update ` ---name $BACKEND_API_NAME ` +--name $BACKEND_API_NAME ` --resource-group $RESOURCE_GROUP ` ---revision-suffix v$TODAY-7 ` +--revision-suffix v$TODAY-6 ` --set-env-vars "ApplicationInsights__InstrumentationKey=secretref:appinsights-key" -# Update Frontend Web App container app and create a new revision az containerapp update ` ---name $FRONTEND_WEBAPP_NAME ` +--name $BACKEND_SERVICE_NAME ` --resource-group $RESOURCE_GROUP ` ---revision-suffix v$TODAY-7 ` +--revision-suffix v$TODAY-6 ` --set-env-vars "ApplicationInsights__InstrumentationKey=secretref:appinsights-key" -# Update Backend Background Service container app and create a new revision az containerapp update ` ---name $BACKEND_SERVICE_NAME ` +--name $FRONTEND_WEBAPP_NAME ` --resource-group $RESOURCE_GROUP ` ---revision-suffix v$TODAY-7 ` +--revision-suffix v$TODAY-6 ` --set-env-vars "ApplicationInsights__InstrumentationKey=secretref:appinsights-key" ``` -Verify that the application continues to work with the three much smaller containers: +Verify that the application continues to work: ```shell $FRONTEND_UI_BASE_URL ``` ---8<-- "snippets/persist-state.md:module12" +### 3. Optimization Summary + +#### 3.1 Table of Improvements + +The Backend API and the Backend Svc projects are all but identical while the Frontend UI project is just slightly larger. All three projects were cut down significantly in size! + +| | Image Size | Size Reduction | Size compared to Original | Images | Packages | CVEs | +|----------------------------|-----------:|---------------:|--------------------------:|-------:|---------:|-----:| +| Backend API Status Quo | 226 MB | | | 2 | 451 | 25 | +| Backend API Concise | 226 MB | 0 MB | | 2 | 451 | 25 | +| Backend API Chiseled | 119 MB | 107 MB | 56.6% | 1 | 328 | 2 | +| Frontend UI Status Quo | 239 MB | | | 2 | 449 | 25 | +| Frontend UI Concise | 240 MB | -1 MB | | 2 | 449 | 25 | +| Frontend UI Chiseled | 133 MB | 106 MB | 55.6% | 1 | 326 | 2 | +| Backend Svc Status Quo | 226 MB | | | 2 | 451 | 25 | +| Backend Svc Concise | 226 MB | 0 MB | | 2 | 451 | 25 | +| Backend Svc Chiseled | 119 MB | 107 MB | 56.6% | 1 | 328 | 2 | ## Review diff --git a/docs/assets/images/12-optimize-containers/backend-api-chiseled-aot-image-stats.png b/docs/assets/images/12-optimize-containers/backend-api-chiseled-aot-image-stats.png deleted file mode 100644 index 0c2de8da0eddb81c9c23a07d5b81036e73831346..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25578 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 diff --git a/docs/assets/images/12-optimize-containers/backend-api-chiseled-aot.png b/docs/assets/images/12-optimize-containers/backend-api-chiseled-aot.png deleted file mode 100644 index 27051d426f165bf5323b273e06b38c6a6425055d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4421 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 literal 25450 zcmcG#bx<7Lw=PVS5Hz?GJUGE7=md9n5AK5uu1N^)&Y;2Fbp}gtcXxMp7zQry`#azH zs_vinp4(M3y}G(Lbr1D|Xz2}S97Q*tvNJv#ts1HVOp080Hq_n|ENZ9}WUW8LYk&%#$pQOcv z)!Yq^mQeI?U7nCn&wkP>eI3(h)1yw91pcNgo$H99{Y_gU_}*IB`Q2_@Xi>0GeT*Vi ziqq|nUvbt9ubY*`;%|`fv53AFDmWN(@0N5aql|#}t z$lP{Qn+f04t?!hS{r_|g35lIXO#5F0De%`P z)PJo%(O70L{cVbID3n`A@3mRZU#fTiAdBtX!LU_uMyY zgT{)7tpB{u_eeA|?GbFVdoR(u2cd_o*1f=R!TAjp*vhDoDMesw(xX_8{J#&D z5u;q`jz1|<*(87vMXhwH+G=N5FBDx2qW$|w8?o4PTgWpGij?9gOVoOj4mIQrA3z_D zFInAxHSs#s{ASRPkj&wJvsfxA2}@bf=qWb+XUI+u_tjKY2O{bt7+nJE?D+)g`YN

b$cq9)G$YXuKZsd(d~hPd!x zoRPe{OA8Ajfjwdq3lu@8Hfol4JNVvzn!YwXscHEhanPGDQ;TLZC$W3xnk;c3oo=d) zG4{Rslj--^H}ukd-g$qrZ+5nKa&mBTGCuVRt6Y6~$*p?-_k-*4+`ev#*WzM9qJ#(J zVF2gSgg&$MxOuo-RL-Em2Xy{Um8phxaWTljX60`xKL?k1+mrS}>!)rdJ|d#C!@!&5 z<0+r>gT>PA-^{41LR?9vP!A4uG5`wFsTva-TbnNeCZXz&g_>c#`I0W_Gc>u6c4)}+ z-Dl|j9e?>TqHLe&T@@d3Y#xn?^mVMP#u#c&9{9j%D577W6 zyqKDaSH3QbJIYmi5GOoZXY8;QL-PHdZ-1Gmzssalb5l|>(Kmb*R(`2V5L5ES@{SbX ztI4V#r4y4*3Q10@Qr`T zbbkYZ(kI}qOkd$O6urp$!Rpzz3-}ax{%IsQLMJo&>q)WF<_^V!W2HM`lzwFfqvXjS z1OkYG;T-)2&CXsM->Y&D3fzjmQsSYS(G>8|AZX`BmV- zU-PvG+W1NXGUM9V2!&Ixy~pq+>a`=m^of{%b?L{j>5GCc4#7GBYDylLhU39VFY&{+ zZ}~y;oHGLmMeP#FVn!+H*_7xs@g2sdtlxOT?2`L=MgiT7>hu!3K!O(qq}B7=t_E%*B-XX$byPN9rXn(QKIPIv ziVhcO?=UW_?P9gdcC39uv|o)FI5HvCYOAZ`c`(vaCnhH5=jW&MZ}e!m>nt_7Md^*$ z22Yh}Rs=DO$uKt(#rl@r57%5Yi3TwajDOynW)QL6+L`oE1-0qIF=A%}Q+Ek(Kg1@= z)RM0saLcX>P5TH7kXd1c{=6*YjdVSs?PY?fMM`84vJcMBu`&NZsd|?uz$VB#yL3PG zMw@mJEnP-?lB>x`6~FUyRQRubQw5RaiUF+~?l)zwXa)@W7Z@bQ%2d)i%?81FvkiX& zmiWj-qPhFQZr!ZOmV&kld`%&5_Z4Ud9cwcwjYQswP|C-8pG{Y+hej)Q*#qxO5Ox{C5?7Q%y%Zl z3kF791d(#|Wip7Srwmc--vaD4(bEH;j6PvW`rd*8d( zyIv>II6?bCy-S{!8|X2Wi^IeG;TTo#ruyWZtN|_D8sfL!(gs}7z0<)mY*h2u>AR*Cjl2^_u;g z3mx-bXB7DC5XD+eG&2!7@h+>{<`$Q>K2toy#nQ~?7&4PL6SJctPakAb$}hiJ98zcM zt4CR*_G*t|A-=sK*#~te^5=5H9;Noo?3wEX>C`qRt%DDc%283m_>0@5^JA$U@nIhQ zty*LaTU*UrU^LbAnP=7VABBiACwxQT8w zEbWSi`&$$-YR(_K<1&h5P*&y+aq6keB5Novgt3jc?9Yt+1p}$>z&xbbJ!9}aHrKOD z2uX}5jUQ2s%N{`!m?Y@K%go$|_S|<)VyLuZL|z+$vvVQ5FofD+SeQxX@Ji?iFcw!h zQ4bftrQnm|`0x2ypTbBA&5617{iOI7!O5Pbh|O?!koUfXADwne+RWv*H$sM)ye;W- z4dR!|zpC`<3XQ2b$xBy7Vo1BUF?}ZIQvH1v1%2?vEgslRC@;{;{mAPsFX)B%3m^|x zk<1n>VDqBU&ZED^{{(=3d}0fPwg8~MoiO^8Sv;U#+*MS9ikM!|- zM@q0YIO+97O7jxQYzE>`wB{-414~wgkyF(cJ-24muw3ooS1b7;$RtwG^iO6PR(M~m zPytSRtZNst=UC9*8d*vT>0euYq9mW>A)1UgLt?u6)4w3K>?Q?VP(v28c3_Yha-?Zz zblf`KHEI}tbmlF7dTD6X!cbyt9gF6iopv( +{*whBncMIYLeAGOx)4^|S+d)>Q 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 F{{?|F`~3g_ diff --git a/docs/assets/images/12-optimize-containers/backend-api-status-quo-image-stats.png b/docs/assets/images/12-optimize-containers/backend-api-status-quo-image-stats.png index 059223ee49368124e1da2e288e3d5f9239807923..e11c7d78a216b4aa91462e3814ed6f3287c73a4e 100644 GIT binary patch literal 35167 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 literal 25953 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 Xxl`O6!1~)i{skpDb=mSaAHMuA`lh@^ diff --git a/docs/assets/images/12-optimize-containers/docker-chiseled.png b/docs/assets/images/12-optimize-containers/docker-chiseled.png new file mode 100644 index 0000000000000000000000000000000000000000..beba5c94ec27a662f0246f22c640e54e3902dffc GIT binary patch literal 21265 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 literal 0 HcmV?d00001