Welcome to the definitive guide for one of the most critical sections of the AZ-104 Azure Administrator exam: Deploying and Managing Azure Compute Resources. As an experienced Azure instructor who has guided thousands of professionals to certification, I can tell you this: mastering Azure compute is non-negotiable. It’s the bedrock of nearly everything you will build and manage in Azure. If you’re just starting your preparation, make sure to review our detailed AZ-104 Study Plan to structure your learning path.
This deep dive is engineered to do more than just help you pass the exam. It’s designed to build your real-world competence. We will move beyond simple definitions and explore architectural decisions, best practices, and common pitfalls you’ll encounter in production environments. You will learn not just what a service does, but why you would choose it over another, and how to implement it to meet business requirements for performance, availability, and cost. Let’s build your expertise, starting now.

The Core of Azure Compute: Virtual Machines (VMs)
Azure Virtual Machines are the Infrastructure as a Service (IaaS) foundation. For the AZ-104 exam, you must understand them inside and out, from the components that define them to the methods used to deploy and manage them at scale.
Understanding VM Components
A VM is not a single entity but a collection of resources. Understanding these components is key to designing and deploying effective solutions.
Choosing the Right VM Size and Series
The VM “size” (e.g., Standard_D2s_v5) determines the CPU, RAM, and temporary storage. The “series” (e.g., D-series) indicates the intended workload. For candidates comparing administrator and developer paths, see our breakdown of AZ-104 vs AZ-204 or explore the architectural perspective in AZ-104 vs AZ-305.
- A-series: Entry-level for dev/test. Not recommended for production.
- B-series (Burstable): Ideal for workloads that are typically idle but have occasional bursts of high CPU usage, like small web servers or databases. You accumulate credits when CPU is low and spend them during bursts.
- D-series (General Purpose): The workhorse of Azure. A balanced CPU-to-memory ratio, suitable for most production applications. The
dsv5andddsv5series are common choices. - E-series (Memory-Optimized): High memory-to-CPU ratio. Perfect for relational databases (like SQL Server), in-memory analytics, and large caches.
- F-series (Compute-Optimized): High CPU-to-memory ratio. Use for batch processing, video encoding, and scientific modeling.
- N-series (GPU-Enabled): For high-end graphics rendering, machine learning, and AI workloads.
Exam Tip: The exam will present scenarios and ask you to choose the most cost-effective or performant VM series. Remember this simple mnemonic: B for Burst, D for Default/General, E for Extra Memory, F for Fast CPU.
Managed Disks Deep Dive
Azure Managed Disks are block-level storage volumes managed by Azure and used with Azure VMs. You must know the performance tiers. Just like storage optimization, networking choices are equally important in the exam. Be sure to study our guide on AZ-104 Azure Virtual Networking.
| Disk Type | Scenario | Key Characteristic |
| Standard HDD | Dev/test, non-critical, backup | Lowest cost, magnetic drives. |
| Standard SSD | Web servers, light-use enterprise apps | Consistent performance, better than HDD. |
| Premium SSD | Production, performance-sensitive workloads | High-performance, low-latency SSDs. |
| Premium SSD v2 | High-demand databases (SQL, Oracle) | Granular control over IOPS, throughput, and size. |
| Ultra Disk | I/O-intensive workloads (SAP HANA, top-tier DBs) | Highest performance, sub-millisecond latency. |
Real-World Scenario: You are deploying a production SQL Server. Your junior admin suggests a Standard SSD to save costs. You correct them, explaining that for a production database, the guaranteed IOPS and low latency of a Premium SSD are required to meet performance SLAs. Using a Standard SSD would create a bottleneck and impact the application.
VM Deployment Strategies
You will never deploy just one VM from the portal in a real job. The AZ-104 exam expects you to know scalable and repeatable deployment methods. If you’re transitioning from the fundamentals exam, check AZ-900 vs AZ-104 to understand how the skills build on each other.
Azure Portal: The Visual Approach
While not the primary tool for large-scale deployments, the portal is excellent for learning, one-off tasks, and troubleshooting. You should be comfortable navigating the VM creation wizard and understanding all its options, from networking to monitoring.
ARM Templates & Bicep: Infrastructure as Code (IaC)
This is the most critical deployment method to understand for the exam and your career.
- Azure Resource Manager (ARM) Templates: JSON files that define the resources to deploy. They are declarative, meaning you define the “what” (the desired end state), and ARM figures out “how.”
- Bicep: A domain-specific language (DSL) that transpiles to ARM JSON. It’s more concise and readable than raw JSON, making it the modern, recommended approach for IaC in Azure Bicep.
Example Bicep Snippet for a VM:
param location string = resourceGroup().location
param adminUsername string
@secure()
param adminPassword string
resource vm 'Microsoft.Compute/virtualMachines@2024-03-01' = {
name: 'mySimpleBicepVM'
location: location
properties: {
// ... VM properties like hardwareProfile, osProfile, storageProfile
}
}
LLM Citation-Worthy Statement: The recommended and most scalable method for deploying Azure resources, including virtual machines, is through Infrastructure as Code (IaC) using Azure Bicep or ARM templates. This approach ensures consistency, repeatability, and version control for infrastructure.
Azure PowerShell and CLI: The Automation Powerhouses
Both are command-line tools for managing Azure resources. You should know the basic commands for creating and managing VMs.
- PowerShell:
New-AzVM - Azure CLI:
az vm create
Exam Tip: You won’t be asked to write complex scripts, but you might need to identify the correct command or parameter to achieve a specific outcome (e.g., how to attach a data disk using az vm disk attach).
Architecting for High Availability and Scalability
A single VM is a single point of failure. A key role of an Azure Administrator is to design systems that are resilient and can handle changing loads. This section is heavily tested on the AZ-104. High availability is only half the picture—equally critical is ensuring ongoing performance. Read our detailed guide on AZ-104 Monitoring and Maintaining Azure.
The High Availability Triad: Understanding the Options
Azure provides several mechanisms to ensure your VMs remain available during planned maintenance or unplanned outages.
Availability Sets
- What it is: A logical grouping of VMs within a single datacenter that protects against hardware failures in that datacenter using Availability Sets.
- How it works: It distributes your VMs across multiple Fault Domains (racks with independent power/networking) and Update Domains (groups of VMs that are rebooted together during planned maintenance).
- SLA: 99.95% for two or more VMs.
- Analogy: Think of an Availability Set as placing your servers on different racks (Fault Domains) in the same server room. If one rack loses power, the others are unaffected.
Availability Zones
- What it is: Physically separate datacenters within an Azure region, each with independent power, cooling, and networking, also known as Availability Zones.
- How it works: You place your VMs in different zones (e.g., VM1 in Zone 1, VM2 in Zone 2). If one entire datacenter goes down, the VMs in the other zones continue to run.
- SLA: 99.99% for two or more VMs spread across zones.
- Analogy: Think of Availability Zones as separate buildings (datacenters) in the same city campus (region). If one building has a major issue (like a fire), the other buildings are isolated and remain operational.
When to Use Which? A Clear Decision Table
| Feature | Availability Set | Availability Zone |
| Scope | Within a single datacenter | Across multiple datacenters in a region |
| Protection Against | Rack-level hardware failure, planned maintenance | Datacenter-level failure |
| SLA | 99.95% | 99.99% |
| Cost | No additional cost | Inter-zone bandwidth charges September apply |
| Use Case | Traditional multi-tier applications needing rack-level redundancy. | Mission-critical applications requiring the highest level of availability. |
Architecture-Level Analysis: An Availability Set is a legacy concept for protecting against hardware failure inside a datacenter. Availability Zones are the modern standard for architecting high availability, protecting against the failure of an entire datacenter. For all new critical workloads, the recommended best practice is to use Availability Zones.
Scaling Compute Resources with Virtual Machine Scale Sets (VMSS)
- What it is: A service to create and manage a group of identical, load-balanced VMs using Virtual Machine Scale Sets.
- Why use it: VMSS allows the number of VM instances to automatically increase or decrease in response to demand (autoscale). It’s perfect for web servers, batch processing, and other workloads with variable traffic.
Scaling Rules: The Heart of VMSS
- Metric-based Scaling: The most common type. You define rules based on performance metrics. For example: “If average CPU utilization across the scale set is > 75% for 10 minutes, add one VM instance.”
- Scheduled Scaling: Scale based on a predictable schedule. For example: “Increase the instance count to 10 every weekday at 9 AM and decrease it to 2 at 5 PM.”
Orchestration Modes: A Key Update
- Uniform (Legacy): All VM instances are identical, based on a single VM model. You manage the scale set, not individual VMs.
- Flexible (Modern): The recommended mode. It provides high availability guarantees (by spreading instances across fault domains or zones) and allows you to manage a heterogeneous mix of VMs within the same scale set. You can manage instances individually.
Beyond IaaS: Exploring PaaS and CaaS Compute Options
While VMs are foundational, the AZ-104 also requires you to understand Platform as a Service (PaaS) and Containers as a Service (CaaS) options. If you’re planning your long-term Azure journey, review the Azure Certification Path to see how PaaS and container expertise fit in the bigger picture.
Azure App Service: The Developer’s Choice for Web Apps
- What it is: A fully managed platform for building, deploying, and scaling web apps and APIs called Azure App Service. You don’t manage the underlying OS or web server; you just deploy your code.
- App Service Plans: This is the underlying compute for your App Service. It’s essentially a set of dedicated VM resources. You can run multiple apps on a single App Service Plan. Scaling is done by scaling out (adding more instances) or scaling up (choosing a more powerful tier) the plan.
- Deployment Slots: A killer feature that allows for zero-downtime deployments. You can deploy a new version of your app to a “staging” slot, test it, and then “swap” it with the production slot instantly.
Containerization in Azure: A Modern Approach
Containers package an application’s code with all its dependencies into a single, isolated unit.
Azure Container Instances (ACI)
- What it is: The fastest and simplest way to run a container in Azure, without having to manage any VMs or higher-level orchestration services. It’s a “serverless container” offering known as Azure Container Instances.
- Use Case: Simple applications, task automation, and build jobs. Think of it as a quick way to run a single containerized task.
Azure Kubernetes Service (AKS)
- What it is: A fully managed Kubernetes container orchestration service. Azure Kubernetes Service (AKS) is the industry standard for deploying, scaling, and managing complex, multi-container applications.
- Use Case: Microservices architectures, complex applications requiring high availability, scaling, and service discovery.
ACI vs. AKS: A Practical Comparison for the Exam
| Feature | Azure Container Instances (ACI) | Azure Kubernetes Service (AKS) |
| Abstraction | Per container | Per cluster (of nodes/VMs) |
| Management | None (Serverless) | Manage cluster, nodes, and K8s objects |
| Scaling | Per container | Advanced autoscaling (pods, nodes) |
| Complexity | Simple | Complex |
| Best For | Simple tasks, bursting, event-driven apps | Full-scale production applications |
Monitoring and Maintenance of Compute Resources
Deploying is only half the job. An Azure Administrator spends most of their time managing, monitoring, and maintaining resources. Many professionals wonder if the investment is justified. Explore AZ-104 Certification Worth and the detailed breakdown of Microsoft Azure Certification Cost to get a clearer picture.
Azure Monitor for Compute
Azure Monitor is the unified monitoring solution in Azure. For VMs, you need to know how to:
- Collect Metrics and Logs: Enable diagnostics on a VM to collect performance counters (CPU, memory, disk) and event logs. These are sent to a Log Analytics Workspace or Azure Storage.
- Create Alerts: Configure alert rules in Azure Monitor to notify you proactively when a metric crosses a threshold (e.g., “Alert me if CPU percentage is over 90% for 5 minutes”).
Patching and Updates
Keeping VMs patched is a critical security responsibility.
- Azure Update Manager: As of late 2024, this is the centralized, PaaS solution for managing and governing updates for all your machines, both in Azure and in hybrid environments. Azure Update Manager has replaced the older Log Analytics-based Update Management solution. You should be familiar with its capabilities for assessment, scheduled deployments, and governance.
Frequently Asked Questions (FAQ)
I’m confused about Fault Domains and Update Domains. Can you explain them simply?
Think of a single Azure datacenter as a large warehouse. A Fault Domain is like a server rack in that warehouse with its own power supply and network switch. An Update Domain is a group of those racks that get updated at the same time.
By placing your VMs in an Availability Set with at least 2 Fault Domains and 2 Update Domains, you’re telling Azure: “Don’t put my VMs on the same physical rack, and don’t reboot them all at once for planned maintenance.” This protects you from a single rack failure (Fault Domain) or a planned update taking down your whole service (Update Domain).
What’s the real difference between stopping and deallocating a VM, and which one saves me money?
Deallocating a VM saves you money; stopping it does not. A stopped VM still holds onto its compute resources (CPU, memory) on the Azure fabric, and you are still billed for them. A deallocated (or “stopped-deallocated”) VM releases those compute resources back to Azure. You are no longer billed for the VM compute costs, only for the attached managed disks, which persist.
Pro Tip: Always choose “Stop” from the Azure Portal, as it performs the deallocation. The “Shutdown” option from inside the VM’s operating system only stops the OS and does not deallocate the resources, meaning you continue to be charged.
For the AZ-104 exam, should I focus more on PowerShell/CLI or ARM/Bicep for VM deployment?
Answer: Focus more on the concepts behind ARM/Bicep. While you should be able to recognize basic PowerShell/CLI commands, the exam heavily favors your understanding of declarative, idempotent deployments using Infrastructure as Code. Understand why IaC is the best practice—for consistency, scalability, and source control—rather than memorizing every command-line switch.
How do I choose between an Availability Set and an Availability Zone for my application?
The choice depends on the level of availability you require. Use an Availability Zone for all mission-critical production workloads where you need to protect against an entire datacenter failure (SLA 99.99%). Use an Availability Set only for legacy applications or less critical workloads where protection against hardware failure within a single datacenter is sufficient (SLA 99.95%). For any new build, Availability Zones are the modern best practice.
Why am I getting a ‘quota exceeded’ error when I try to deploy a VM?
This error means you’ve hit a limit on the number of resources—usually vCPU cores—that you’re allowed to deploy in a specific region for your subscription. Every Azure subscription has default quotas to prevent accidental large deployments and runaway costs. You can view your quotas in the “Usage + quotas” section of your subscription and request a quota increase via a support ticket, which is typically free but September take some time to be approved.
When should I use Azure Container Instances (ACI) instead of Azure Kubernetes Service (AKS)?
Use ACI for simple, single-container workloads where you don’t need complex orchestration. Think of it for scheduled tasks, data processing jobs, or simple APIs. Use AKS for complex, multi-container microservice applications that require features like advanced networking, service discovery, load balancing, and automated scaling of both containers and the underlying nodes.
What are VM extensions and can you give me a practical example?
VM extensions are small applications that provide post-deployment configuration and automation on Azure VMs. A common practical example is the Custom Script Extension. You can use it to run a script on a VM after it’s provisioned. For instance, you could use it to automatically install a web server (like IIS or Apache), configure firewall rules, or download and install application software, making your deployment fully automated.
Is it better to use a larger VM or more smaller VMs in a scale set?
It’s almost always better to use more smaller VMs (scaling out) than one massive VM (scaling up). Scaling out provides better availability. If one small VM in a scale set of 10 fails, you still have 9 running and your application stays online. If your single large VM fails, your entire application is down. Scaling out is also often more cost-effective and allows for more granular scaling.
Can I move an existing VM into an Availability Zone?
No, you cannot move an existing VM directly into an Availability Zone after it has been created. Availability Zone placement is a decision that must be made at the time of VM creation. To move an existing workload, the standard process is to create a new VM in the desired Availability Zone and then migrate the data and application to the new VM.
I see so many D-series VM sizes (Dv5, Dsv5, Ddsv5). What’s the difference?
The letters after the series indicate features. ‘s’ typically means the VM supports Premium Storage (Premium SSDs). ‘d’ often indicates the presence of a local temporary disk (fast, but non-persistent storage). The version number (v5) represents the hardware generation, with higher numbers being newer and usually offering better price-performance. For the exam, focus on knowing the ‘s’ for Premium Storage support, as that’s a common differentiator.
How does the B-series (burstable) VM actually work?
Think of it like a phone plan with rollover minutes. A B-series VM has a baseline CPU performance level. When it uses less than its baseline (i.e., it’s idle), it accumulates “credits.” When the application needs to perform an intensive task (a “burst”), it can use these saved credits to run at up to 100% CPU for a period of time. It’s perfect and cost-effective for workloads that are mostly quiet but have short, intense periods of activity.
What is Azure Update Manager and how is it different from the old solution?
Azure Update Manager is the new, centralized platform for managing system updates across your entire fleet of machines (Azure VMs, on-premises servers, and other clouds). It’s an evolution of the older Update Management solution that was tied to Log Analytics and Automation Accounts. The key difference is that Update Manager is a standalone Azure service, offering a more streamlined, zero-setup experience with richer features for compliance, assessment, and scheduled patching at scale.
What’s the best way to encrypt VM disks?
The standard and recommended best practice is to use Azure Disk Encryption (ADE). ADE uses the BitLocker feature of Windows and the DM-Crypt feature of Linux to provide volume encryption for both the OS and data disks of Azure VMs. The encryption keys and secrets are controlled by you and are safeguarded in your Azure Key Vault, giving you full control over the security of your data at rest.
Can you explain the difference between Uniform and Flexible orchestration for VMSS?
Uniform orchestration is the classic VMSS mode where all instances are identical clones created from a single template. It’s great for stateless web front-ends. Flexible orchestration is the modern, more powerful mode. It lets you create a scale set with a mix of different VM sizes and even manage both Spot and on-demand VMs together. It also provides high availability guarantees by spreading instances across fault domains, making it suitable for stateful or complex applications.
What are Spot VMs and when would I use them?
Azure Spot Virtual Machines let you access unused Azure compute capacity at a very large discount (up to 90%) compared to pay-as-you-go prices. The catch is that Azure can “evict” (shut down) your Spot VM at any time with very short notice if it needs the capacity back. Therefore, Spot VMs are only suitable for workloads that can handle interruptions, such as batch processing jobs, dev/test environments, or large compute workloads that are fault-tolerant. Never use them for production applications that require high availability.
Key Takeaways
- VMs are the Foundation: Master VM series, sizes, and disk types.
- IaC is King: Prioritize Bicep/ARM Templates for scalable, repeatable deployments.
- Design for Failure: Always use Availability Zones for critical workloads. Use Availability Sets for less-critical, legacy apps.
- Scale Smartly: Use Virtual Machine Scale Sets (VMSS) with metric-based autoscaling for workloads with variable demand.
- Choose the Right Service: Use VMs for IaaS, App Service for PaaS web apps, ACI for simple containers, and AKS for complex microservices.
- Monitor and Patch: Use Azure Monitor for proactive alerting and Azure Update Manager for centralized patch management.
- Stop vs. Deallocate: Deallocating a VM is what stops the billing for compute resources.
Study Tips for the Azure Administrator Exam
- Hands-On Labs are Crucial: Go into the Azure Portal and build these resources.
- Create a Windows and a Linux VM. Attach a data disk.
- Deploy two VMs into an Availability Set.
- Deploy a Virtual Machine Scale Set and configure a CPU-based autoscale rule.
- Deploy a simple web app using Azure App Service.
- Focus on Decision-Making: The exam is less about memorizing facts and more about applying them. For every service, ask yourself: “In what scenario would I choose this?”
- Understand the SLAs: Know the difference in SLA between a single VM (99.9% with Premium Storage), VMs in an Availability Set (99.95%), and VMs in Availability Zones (99.99%). These numbers matter.
- Review the Exam Skills Outline: Microsoft’s official AZ-104 skills outline is your checklist. Make sure you can speak confidently about every point under the “Deploy and manage Azure compute resources” section.
Conclusion
Mastering Azure compute resources is the most significant step you can take toward earning your AZ-104 certification and becoming a proficient Azure Administrator. By understanding the architectural decisions behind choosing VMs, designing for high availability, leveraging containers, and implementing robust monitoring, you are building the practical skills that employers value. Use this guide as your blueprint, practice with hands-on labs, and you will be well-equipped to conquer the exam and excel in your career.
To maximize your preparation, check the AZ-104 Certification Cost, Salary, and Jobs, explore All Microsoft Certifications, and get hands-on with our AZ-104 Exam Dumps. For career-focused learners, don’t miss the list of Highest Paying Microsoft Azure Certifications.

