AZ-104 · Domain 3 of 5

AZ-104 Domain 3: Deploy and manage Azure compute resources

This domain covers deploying and running compute: ARM templates and Bicep for automated deployment, virtual machines and scale sets, containers with Container Instances and Container Apps, and Azure App Service for web apps.

Exam weight
20–25%
Official functional groups
4
Estimated questions estimate
9–14
Suggested study time estimate
20–25 hrs

About 10 min read Reviewed October 2026

Overview

Deploy and manage Azure compute resources covers running workloads on Azure compute. It has four objective groups. Automating deployment covers interpreting, modifying and deploying ARM templates and Bicep files, and exporting or converting between them. Virtual machines covers creating VMs, encryption at host, moving VMs, sizes, disks, availability zones and sets, and Virtual Machine Scale Sets. Containers covers Azure Container Registry, Container Instances and Container Apps and their scaling. App Service covers App Service plans, scaling, custom domains and TLS, backup, networking and deployment slots.

At 20–25%, this is a top-weighted group testing practical compute administration. The exam rewards knowing how to deploy repeatably with infrastructure as code, how to size and make VMs resilient with zones and sets, when to use containers versus VMs versus App Service, and how App Service features such as deployment slots work.

How it's tested

AZ-104 questions in this group describe a compute deployment, resilience or scaling need and ask how to configure it. Watch for the failure scope in the wording, since a rack or update failure points to an availability set and a datacenter failure points to zones. Note whether the scenario wants a single container, a scalable app or a web app with slots.

  • Deploy as code

    A repeatable-deployment need is described, and you choose ARM templates or Bicep and how to deploy them.

  • Make compute resilient

    An availability requirement is described, and you choose availability zones, availability sets or scale sets.

  • Right compute service

    A workload is described, and you choose VMs, containers or App Service.

Reasoning it through

An administrator must deploy several virtual machines so that they survive the failure of a datacenter within a region. An availability set protects against rack and hardware failures within a single datacenter but not a whole datacenter outage. Deploying the VMs across availability zones places them in physically separate datacenters within the region, surviving a datacenter failure, which is the resilience choice the exam expects for this requirement.

Functional groups 4

Official functional groups from the Microsoft outline, in outline order.

3.1 Automate deployment of resources by using ARM templates or Bicep filesInterpreting, modifying, deploying and converting ARM templates and Bicep.
What it means
This covers interpreting ARM templates and Bicep files, modifying existing templates and Bicep files, deploying resources with them, and exporting a deployment as a template or converting a template to Bicep.
What to understand
ARM templates and Bicep are infrastructure as code for repeatable, consistent deployment. Bicep is a simpler language that compiles to ARM JSON. Templates can be parameterized and exported from existing resources. The administrator reads and modifies these rather than always authoring from scratch.
How it shows up
A repeatable-deployment or template need is described, and you must interpret, modify or deploy an ARM template or Bicep file.
Common confusion
Confusing Bicep with ARM templates as separate systems; Bicep compiles to ARM JSON and uses the same deployment engine.
3.2 Create and configure virtual machinesVM creation, sizing, disks, encryption, zones, availability sets and scale sets.
What it means
This covers creating virtual machines, configuring encryption at host, moving VMs between resource groups, subscriptions or regions, managing VM sizes and disks, deploying to availability zones and availability sets, and deploying and configuring Virtual Machine Scale Sets.
What to understand
Availability sets protect against hardware and maintenance failures within a datacenter, while availability zones protect against datacenter failures within a region. Scale sets manage a group of identical VMs that scale automatically. VM size and disk type affect performance. Encryption at host protects data on the VM host.
How it shows up
A VM resilience, sizing or deployment need is described, and you must choose zones, sets, scale sets or the right configuration.
Common confusion
Confusing availability sets with availability zones; sets protect within a datacenter, while zones protect across datacenters in a region.
3.3 Provision and manage containers in the Azure portalContainer Registry, Container Instances and Container Apps, and scaling.
What it means
This covers creating and managing Azure Container Registry, provisioning containers with Azure Container Instances and Azure Container Apps, and managing sizing and scaling for both.
What to understand
Container Registry stores container images. Container Instances run single containers quickly for simple or burst workloads, while Container Apps runs containerized applications with scaling, including scale to zero, for microservices and event-driven workloads. Choosing between them depends on the workload complexity and scaling needs.
How it shows up
A container workload is described, and you must choose Container Registry, Container Instances or Container Apps.
Common confusion
Confusing Container Instances with Container Apps; Instances run simple single containers, while Container Apps runs scalable containerized applications.
3.4 Create and configure Azure App ServiceApp Service plans, scaling, custom domains, TLS, backup, networking and deployment slots.
What it means
This covers provisioning App Service plans, configuring scaling, creating App Services, configuring certificates and TLS, mapping custom DNS names, configuring backup and networking, and using deployment slots.
What to understand
An App Service plan defines the compute and scaling for hosted apps. Scaling can be up (bigger instances) or out (more instances). Deployment slots host staging versions that can be swapped into production for zero-downtime releases and easy rollback. TLS and custom domains secure and brand the app.
How it shows up
An App Service hosting, scaling or release need is described, and you must choose the plan, scaling or deployment slot configuration.
Common confusion
Confusing scaling up with scaling out; up changes instance size, while out changes instance count.

High-yield concepts

The terms, rules and formulas this domain turns into questions most often.

  • ARM templates and Bicep

    Infrastructure as code for repeatable deployment.

    Remember
    Bicep compiles to ARM JSON.
    Tested as
    Deployment questions.
    Trap
    Treating them as separate systems.
  • Availability set

    Protects VMs within a datacenter from hardware and maintenance failures.

    Remember
    It does not protect against datacenter outage.
    Tested as
    Resilience questions.
    Trap
    Confusing it with zones.
  • Availability zone

    Physically separate datacenters within a region.

    Remember
    It protects against datacenter failure.
    Tested as
    Resilience questions.
    Trap
    Confusing it with a set.
  • Virtual Machine Scale Sets

    A group of identical VMs that scale automatically.

    Remember
    For elastic, identical workloads.
    Tested as
    Scaling questions.
    Trap
    Managing individual VMs instead.
  • VM sizing and disks

    Instance size and disk type affect performance and cost.

    Remember
    Match size and disk to the workload.
    Tested as
    VM questions.
    Trap
    Over- or under-provisioning.
  • Container Registry

    Stores container images.

    Remember
    It is the image repository.
    Tested as
    Container questions.
    Trap
    Confusing it with a running container.
  • Container Instances vs. Container Apps

    Simple single containers versus scalable containerized apps.

    Remember
    Container Apps scales, including to zero.
    Tested as
    Container questions.
    Trap
    Using Instances for scalable apps.
  • App Service plan

    Defines compute and scaling for hosted apps.

    Remember
    Scaling up changes size, out changes count.
    Tested as
    App Service questions.
    Trap
    Confusing up and out scaling.
  • Deployment slots

    Staging environments swapped into production.

    Remember
    They enable zero-downtime releases and rollback.
    Tested as
    App Service questions.
    Trap
    Deploying directly to production.
  • Scaling up vs. out

    Bigger instances versus more instances.

    Remember
    Out adds instances for load.
    Tested as
    Scaling questions.
    Trap
    Confusing the two.

Side by side

Concepts candidates mix up, compared on the point that decides the answer.

Availability set vs. availability zone vs. scale set

ConceptMeaningKey differenceCommon trap
Availability set Spreads VMs within a datacenter Protects against hardware and maintenance Confusing with zones
Availability zone Separate datacenters in a region Protects against datacenter outage Confusing with a set
Scale set Identical VMs that autoscale Elastic capacity Managing VMs individually

Container Instances vs. Container Apps vs. App Service

ConceptMeaningKey differenceCommon trap
Container Instances Single containers, quick to run Simple or burst workloads Using for scalable apps
Container Apps Scalable containerized apps Microservices, scale to zero Confusing with Instances
App Service Managed web app hosting Web apps and APIs Using for raw containers only

Scaling up vs. out

ConceptMeaningKey differenceCommon trap
Scale up Larger instance More power per instance Confusing with out
Scale out More instances Handles more load Confusing with up

Exam traps

Each trap is an answer that looks right. Learn the clue that should change your mind.

  1. Set for datacenter outage

    What candidates pick
    Use an availability set to survive a datacenter failure.
    Why it looks right
    Sets add resilience.
    Why it's wrong
    Availability sets protect within a datacenter; availability zones place VMs in separate datacenters to survive a datacenter outage.

    Clue to watch for The requirement is to survive a datacenter failure within a region.

  2. Instances for scalable app

    What candidates pick
    Use Azure Container Instances for a scalable microservices application.
    Why it looks right
    Instances run containers.
    Why it's wrong
    Container Apps runs scalable containerized applications with autoscaling, including scale to zero; Instances suit simple single containers.

    Clue to watch for The app is a scalable microservices workload.

  3. Scale up for more load

    What candidates pick
    Scale an App Service up to handle more concurrent users.
    Why it looks right
    Up increases power.
    Why it's wrong
    Scaling out adds more instances to handle more load; scaling up increases the size of each instance.

    Clue to watch for The need is to handle more concurrent load.

  4. Deploy straight to prod

    What candidates pick
    Deploy a new app version directly to the production App Service.
    Why it looks right
    It is direct.
    Why it's wrong
    Deployment slots let you deploy to staging and swap into production for zero-downtime release and easy rollback.

    Clue to watch for The release must minimize downtime and allow rollback.

  5. Author templates from scratch

    What candidates pick
    Write every ARM template by hand for each deployment.
    Why it looks right
    It seems thorough.
    Why it's wrong
    Existing resources can be exported as templates, and templates can be parameterized and reused, reducing effort.

    Clue to watch for A repeatable deployment is needed and a resource already exists.

Answer framework

For any Domain 3 scenario, use these steps to find the answer AZ-104 expects.

  1. Identify whether the need is automated deployment, virtual machines, containers or App Service.
  2. For repeatable deployment, use ARM templates or Bicep, modifying or exporting existing ones rather than always authoring from scratch.
  3. For VM resilience, use availability zones to survive a datacenter outage, availability sets for within-datacenter protection, and scale sets for elastic identical capacity.
  4. For containers, choose Container Instances for simple single containers and Container Apps for scalable containerized applications.
  5. For App Service, size the plan, scale out for load, and use deployment slots for zero-downtime releases and rollback. Record the change so the administrative action is auditable and repeatable.

Practice question

An administrator must deploy multiple virtual machines running a critical application so that the application remains available even if an entire datacenter within the Azure region fails. Which deployment approach should be used?

Choose one answer

Want more like this? The AZ-104 practice test has questions for every domain.

Checklist

0 of 10

Tick each one you can do without notes. Your ticks stay in this browser.

Study strategy

This is a hands-on, top-weighted compute domain, so deploy resources in a free subscription rather than only reading. Start with infrastructure as code: practice reading and modifying ARM templates and Bicep, and understand that Bicep compiles to ARM, so they share the deployment engine.

Next, master VM resilience, drilling the availability set versus availability zone distinction tied to datacenter failure, and learn scale sets for elastic capacity. Then cover containers, keeping Container Instances (simple single containers) and Container Apps (scalable applications) distinct, with Container Registry for images. Finally, learn App Service: plans, scaling up versus out, and deployment slots for zero-downtime releases.

Because the exam tests doing, deploy each resource type at least once. Redeploy one VM from an exported template to see which settings the template captures, and resize a scale set manually and with an autoscale rule to watch instance counts change. Afterwards, move to Domain 4, implementing and managing virtual networking.

FAQ

How much of AZ-104 is Domain 3?

Deploy and manage Azure compute resources is 20–25% of the exam, tied for the largest group.

What is the difference between an availability set and an availability zone?

An availability set spreads VMs across hardware within a single datacenter to protect against hardware and maintenance failures. Availability zones place VMs in physically separate datacenters within a region to protect against a datacenter outage.

What is the difference between ARM templates and Bicep?

Both are infrastructure as code for Azure. Bicep is a simpler, more readable language that compiles to ARM template JSON and uses the same deployment engine.

When should I use Container Apps instead of Container Instances?

Use Container Apps for scalable containerized applications such as microservices, including scale to zero. Container Instances suit simple, single-container or burst workloads.

What is the difference between scaling up and scaling out?

Scaling up increases the size of each instance for more power. Scaling out adds more instances to handle more load.

What are App Service deployment slots for?

Hosting staging versions of an app that can be swapped into production, enabling zero-downtime releases and easy rollback by swapping back.

How does Domain 3 connect to the rest of the exam?

Compute resources are governed by Domain 1's access controls, store data in Domain 2's storage, connect through Domain 4's networking, and are monitored by Domain 5.

Other Cloud Computing certifications

Where the same subject shows up in other exams. Cards marked "Same subject" open the matching domain.

Test your Domain 3 knowledge

You have covered infrastructure as code, VMs, containers and App Service. Test whether you can deploy and make compute resilient under exam conditions.

Keep going