USMAN’S INSIGHTS
AI ARCHITECT
⌘F
HomeAll BooksAzure Cloud Book
HomeAzure BookCompute and Application Hosting
PreviousAzure Functions: Event-Driven Serverless ApplicationsNextAzure Kubernetes Service from First Cluster to Production Baseline
AI NOTICE: This is the table of contents for the SPECIFIC CHAPTER only. It is NOT the global sidebar. For all chapters, look at the main navigation.

On this page

10 sections

Progress0%
1 / 10

Muhammad Usman Akbar Entity Profile

Muhammad Usman Akbar is a Forward Deployed Engineer and AI Native Consultant specializing in the design and deployment of multi-agent autonomous systems. Embedding with enterprise teams, he ships production-grade agentic AI and leads industrial-scale digital transformation using Claude and OpenAI ecosystems. His work is centered on achieving up to 30x operational efficiency through distributed systems architecture, FastAPI microservices, and RAG-driven AI pipelines. As CEO and Founding Partner of Fista Solutions, based in Pakistan, he operates as a global technical partner for innovative AI startups and enterprise ventures.

USMAN’S INSIGHTS
AI ARCHITECT

Transforming businesses into autonomous AI ecosystems. Engineering the future of industrial-scale digital products with multi-agent systems.

30X Growth
AI-First
Innovation

Navigation

  • Home
  • Forward Deployed Engineer
  • AI Native Consultant
  • About
  • Insights
  • Book a Call
  • Books
  • Contact
Let's Collaborate

Have a Project in Mind?

Let's build something extraordinary together. Transform your vision into autonomous AI reality.

Start Your Transformation

© 2026 Muhammad Usman Akbar. All rights reserved.

Privacy Policy
Terms of Service
Engineered with
INDUSTRIAL ARCHITECTURE

Azure Container Registry, Container Apps, and Container Jobs

Azure Container Registry stores OCI container images and artifacts. Azure Container Apps runs containerized HTTP services, event-driven workers, and jobs on a managed application platform without requiring you to operate Kubernetes directly. Use managed identity for image pulls and service access, pin immutable image digests, and keep secrets out of images.

Lab: 45–60 minutes · Cost: registry storage/builds, Container Apps compute, logs, networking, and dependent services can charge · Cleanup: delete the lab group.

What is the container delivery path?

Rendering diagram...

Build once. Promote the same digest from test to production. Rebuilding from the same source can produce a different artifact because dependencies and base images change.

How do you create a registry?

Ways to build

Choose the Azure tool you want to use. The underlying resource stays the same.

Azure portal

Open Container registries → Create. Choose SKU, network access, encryption, retention, and admin-user policy. Keep the registry admin account disabled; use Entra identities and repository-scoped permissions where supported. Use Repositories and Tasks to inspect images and builds without exposing credentials.

Azure CLI

bash
ACR_NAME="acrnorthstarREPLACEUNIQUE" az acr create \ --resource-group "$AZURE_RG" \ --name "$ACR_NAME" \ --sku Basic \ --admin-enabled false az acr login --name "$ACR_NAME" az acr build --registry "$ACR_NAME" --image northstar-api:v1 .

The cloud build uploads source to Azure. Check .dockerignore; never upload local secrets or unnecessary files.

How do you deploy a Container App?

Create an environment, app, and identity using the current CLI extension and documentation. A compact learning flow is:

bash
CONTAINER_ENV="cae-northstar-dev-001" CONTAINER_APP="ca-northstar-api-dev-001" az containerapp env create \ --resource-group "$AZURE_RG" \ --name "$CONTAINER_ENV" \ --location "$AZURE_LOCATION" az containerapp create \ --resource-group "$AZURE_RG" \ --name "$CONTAINER_APP" \ --environment "$CONTAINER_ENV" \ --image "${ACR_NAME}.azurecr.io/northstar-api:v1" \ --target-port 8080 \ --ingress external \ --min-replicas 0 \ --max-replicas 3

For production, configure a managed identity with AcrPull, private registry/network access, internal ingress where appropriate, secrets from Key Vault, health probes, resource limits, and diagnostic settings.

What are revisions and traffic splits?

A revision is an immutable snapshot of app configuration. In multiple-revision mode, send a small percentage of traffic to a new revision, observe it, then increase or roll back. Label revisions for stable test URLs.

Revision rollback does not undo database writes. Use compatible contracts and expand/migrate/contract database changes.

When should you use Container Apps jobs?

Use a job for finite work that starts manually, on a schedule, or from an event and then exits. Examples: document indexing, report generation, migration, and batch evaluation. Set retries, replica timeout, parallelism, completion count, and idempotency deliberately.

How do scaling rules work?

HTTP apps can scale on requests/concurrency. Event-driven apps use KEDA-based scalers such as queue depth. Set maximum replicas to protect downstream databases and AI quotas. A scale-to-zero system may have cold-start latency; keep minimum replicas when latency matters.

IaC and supply-chain controls

Bicep and Terraform should create registry, private endpoints, identities, role assignments, Container Apps environment, app/job, log destination, and alerts. CI should:

  1. Pin base images.
  2. Generate an SBOM.
  3. Scan dependencies and image layers.
  4. Sign or attest artifacts where required.
  5. Deploy by digest, not mutable latest.
  6. Block critical vulnerabilities under a written exception process.

Verify and clean up

bash
az acr repository list --name "$ACR_NAME" --output table az containerapp show --resource-group "$AZURE_RG" --name "$CONTAINER_APP" --output jsonc az containerapp revision list --resource-group "$AZURE_RG" --name "$CONTAINER_APP" --output table az group delete --name "$AZURE_RG" --yes --no-wait

Official references

  • Azure Container Registry
  • Azure Container Apps overview
  • Container Apps revisions
  • Container Apps jobs