AzureAZ-104

Azure App Service and Containers Explained for AZ-104

Not every workload needs a virtual machine. When you manage an OS and all the software on it, you carry maintenance overhead that has nothing to do with your application. Azure App Service removes that layer: you deploy code or a container, Azure manages the OS, runtime, patching, and scaling. Azure Container Instances (ACI) runs individual containers on demand without managing clusters. Azure Kubernetes Service (AKS) orchestrates containerized workloads at scale. The AZ-104 exam tests which platform fits which scenario, App Service Plan tiers and their capabilities, deployment slots for zero-downtime releases, and when ACI versus AKS is the appropriate container choice.

8 min
3 sections · 7 exam key points

App Service and App Service Plans

App Service is a fully managed platform for hosting web applications, REST APIs, and mobile backends. You deploy your code in .NET, Java, Python, Node.js, PHP, or Ruby, or deploy a container image. Azure handles the underlying infrastructure. App Service scales vertically (bigger instances) or horizontally (more instances) based on rules you define, without changing your application.

App Service Plans define the compute resources (VM size and instance count) shared by the apps hosted on them. The pricing tier determines what capabilities are available. Free and Shared tiers are for development only, with no custom domains, no SLA, and shared infrastructure. Basic adds custom domains and SSL but no auto-scaling. Standard adds auto-scaling, deployment slots (up to 5), and daily backups. Premium adds more slots, more scale-out instances, and private endpoint support. Isolated (App Service Environment) runs in a dedicated virtual network with full network isolation, for regulatory or high-security requirements.

Deployment slots are live environments within the same App Service. Standard tier gives you up to 5 slots. You deploy to a staging slot, test the new version, then perform a swap. Swapping exchanges the staging and production slots instantly: no downtime, no DNS change, and the previous production version is now in the staging slot ready for immediate rollback. Auto-swap can be configured to automatically swap to production when a successful deployment completes in staging.

Azure Container Instances and AKS

Azure Container Instances (ACI) is the simplest way to run containers in Azure. You define a container image, CPU and memory requirements, and ACI starts it in seconds with no cluster to provision or manage. ACI is billed per second of compute used. It is ideal for short-lived tasks, batch jobs, event-driven workloads, and any scenario where you need a container started quickly without ongoing infrastructure management. ACI does not provide orchestration: there is no automatic scaling, health checks, or service discovery built in.

Azure Kubernetes Service (AKS) is a managed Kubernetes cluster. Azure manages the control plane (the Kubernetes API server and control components) for free. You pay for the agent nodes (the VMs running your workloads). AKS is appropriate for complex containerized applications with multiple services, when you need sophisticated networking between services, automatic scaling of pods and nodes, rolling deployments, and the full ecosystem of Kubernetes tooling. AKS integrates with Azure Container Registry for storing images, Azure Monitor for logs and metrics, and Entra ID for authentication.

The choice between App Service, ACI, and AKS comes down to complexity and control. App Service is fastest for deploying web apps without container knowledge. ACI is fastest for running isolated containers without managing infrastructure. AKS is appropriate when you need full Kubernetes capabilities, multi-container applications, or when your team already operates Kubernetes workloads.

How to choose the correct answer

App Service: PaaS for web apps, APIs, and mobile backends. No infrastructure management. Code or container deployment.

App Service Plan tiers: Free/Shared (dev only), Basic (custom domain), Standard (auto-scale, slots), Premium (private endpoint), Isolated (VNet dedicated).

Deployment slots: swap staging and production with no downtime. Rollback by swapping back. Standard tier minimum.

ACI: single container, fast startup, serverless billing, no orchestration. For short-lived or event-driven containers.

AKS: managed Kubernetes, multi-container, full orchestration, node auto-scaling. For complex containerized workloads.

Azure Container Registry (ACR): private Docker registry in Azure, integrates with ACI and AKS.

WebJobs: background tasks within an App Service app. Continuous or triggered. No separate compute needed.

Azure container and application hosting options

ServiceManagement levelBest forScaling
App ServicePaaS (no OS management)Web apps, APIs, code or containerAuto-scale rules, manual
Azure Container InstancesServerless containersShort-lived tasks, batch, dev/testManual (no auto-scale)
AKSManaged KubernetesComplex microservices, multi-containerHPA (pods), cluster autoscaler (nodes)
Azure FunctionsServerless computeEvent-driven, short-running codeAutomatic (consumption plan)

Key exam facts — AZ-104

  • App Service: PaaS, supports .NET, Java, Node.js, Python, PHP, Ruby, and containers.
  • App Service Plan: shared compute resource for multiple apps. Tier determines features and SLA.
  • Deployment slots: Standard tier minimum. Swap for zero-downtime deployment. Auto-swap available.
  • App Service Environment (Isolated tier): dedicated VNet, private, for regulated workloads.
  • ACI: fastest container startup, per-second billing, no cluster management, no built-in auto-scaling.
  • AKS: control plane free, pay for agent nodes. Integrates with ACR, Monitor, Entra ID.
  • ACR Tasks: build and push container images automatically from source code changes.

Common exam traps

Deployment slots require separate App Service Plans, which doubles the cost.

Deployment slots share the App Service Plan of the production slot. Running a staging slot uses compute from the same plan, not a separate one. The main cost implication is that your staging slot consumes the same compute while running, which counts against your plan's capacity, but no additional plan purchase is required.

ACI and AKS are interchangeable for running containerized workloads.

ACI is purpose-built for single, isolated containers with fast startup and no management overhead, but no orchestration. AKS is for managing fleets of containerized services with pod health management, auto-scaling, inter-service networking, and rolling deployments. ACI is appropriate for simple or short-lived tasks; AKS is appropriate for production microservices architectures requiring full Kubernetes capabilities.

App Service automatically scales to handle any traffic spike on all pricing tiers.

Auto-scaling is only available on Standard tier and above. Free, Shared, and Basic tiers do not support auto-scaling and cannot scale out to multiple instances. For any production workload that might experience variable traffic, Standard tier is the minimum viable option.

Practice this topic

Test yourself on App Service & Containers

JT Exams routes you to questions in your exact weak areas — automatically, after every session.

No credit card · Cancel anytime

Related certification topics