Skip to content

gruvedrift/azure-containerized-solutions

Repository files navigation

Containerized solutions:

This project was created as a hands-on practice resource for preparing for the AZ-204 exam. It demonstrates how to build, package, and deploy containerized applications using various Azure Compute services while following real-world DevOps practices. This project contains three iterations of containerized solutions with Azure Compute.

I have also added a COMMANDS.md file with relevant Azure CLI commands for Azure Containerized solutions, and a QA.md file with some exam relevant questions for containerized solutions.

Each iteration contains:

  • A terraform configuration for provisioning resources on Azure.
  • A small python application with necessary code / functionality for testing / verifying the provisioned resources.
  • A Dockerfile for building and pushing an application image to cloud.
  • A set of scripts for automatization.
  • A README.md file with extra information.

First iteration overview:

  • How to set up the necessary resources and in which order to create and publish a container image to Azure Container Registry.

Second iteration overview:

  • Everything from First iteration.
  • Instantiate an Azure Container Group (Azure Container Instance) for running the containerized application uploaded to an ACR.
  • Use of environment variables through Terraform -> Application.
  • How to enable basic Health and Liveness probing with Azure and in-code endpoints.

Third iteration overview:

  • Everything from Second Iteration.
  • How to provision and deploy an application to Azure Container Apps.
  • How to configure external ingress for public access.
  • How to implement HTTP-based auto-scaling rules.
  • How to test and verify scaling under simulated load.
  • How to Create and manage Revisions.
  • How to configure traffic splitting between revisions through the Azure CLI.

Essential notes on Azure Containerized Solutions:

Azure Container Registry SKUs

Feature Basic Standard Premium
Storage 10 GB 100 GB 500 GB
Webhooks
Geo-replication
Content trust
Private endpoints
Customer-managed keys

Exam Tip: Premium is the only SKU supporting geo-replication and content trust

ACR Authentication Options

  1. Admin Account (not recommended for production)

    • az acr update --admin-enabled true
    • Simple username/password
  2. Service Principal (CI/CD scenarios)

    • az ad sp create-for-rbac --name myapp --role acrpush
    • Granular RBAC permissions
  3. Managed Identity (recommended for Azure services)

    • System-assigned or user-assigned
    • No credential management needed
  4. Repository-scoped Tokens (fine-grained access)

    • Scope to specific repositories
    • Time-limited access

Exam Tip: Know when to use each method

Azure Container Apps

  • The combination of CPU and memory are allways 1:2, so:
[cpu: 0.25, memory: 0.5Gi]
[cpu: 0.5, memory: 1.0Gi] 
[cpu: 0.75, memory: 1.5Gi]
# And so on ...

About

☁️ Hands-on Azure Container Solutions. Features three progressive iterations demonstrating real-world deployment patterns: from basic Container Registry setup through Container Instances to production-ready Container Apps with auto-scaling and traffic management. Built with Terraform IaC , Python Flask and Bash.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors