Azure Compute Services for AZ-104
Compute services are the foundation of every cloud workload. As an Azure Administrator, you are responsible for deploying, configuring, scaling, and maintaining the resources where applications run. This guide examines the core Azure compute services through an administration lens, helping you understand not only what each service does but also how to choose, manage, and operate it in a production environment.
By the end of this article, you will be able to explain the purpose of each compute service, compare their management and scaling models, and identify the right service for common workload requirements—all essential skills for both the AZ‑104 exam and day‑to‑day Azure administration.
Azure Compute Services Overview
Azure provides several compute options, each targeting a different balance of control, flexibility, and management overhead. The major categories relevant to AZ‑104 are:
- Azure Virtual Machines – Full‑control infrastructure as a service (IaaS) for running any operating system and application.
- Virtual Machine Scale Sets – A layer on top of VMs that provides automatic scaling, load balancing, and high availability for identical VM instances.
- Azure App Service – A fully managed platform as a service (PaaS) for hosting web applications and APIs without managing the underlying servers.
- Azure Container Instances – A serverless‑like container service for running isolated containers without orchestrator overhead.
- Azure Kubernetes Service – A managed Kubernetes platform for orchestrating complex, multi‑container workloads at scale.
- Azure Functions – A serverless, event‑driven execution environment for running small pieces of code without provisioning infrastructure.
Administrators must understand the operational responsibilities, scaling behaviors, and cost models of each option to make informed decisions that match business requirements.
Azure Virtual Machines
Virtual machines are the most flexible compute offering. You have full control over the operating system, installed software, and configuration. This flexibility comes with increased administrative responsibility: you must manage patching, monitoring, backups, and availability.
Key Concepts and Sizes
Every VM is built from a combination of size, disk, and network configuration. The size determines vCPUs, memory, and temporary storage. Azure categorises VM sizes into families such as general purpose, compute‑optimised, memory‑optimised, and storage‑optimised. Choosing the right size is an important administrator task because an undersized VM limits performance, and an oversized VM wastes budget.
Operating System and Disk Options
You can run Windows Server or various Linux distributions. VMs use managed disks for persistent storage. Disk types include Standard HDD, Standard SSD, Premium SSD, and Ultra Disk—each with different performance characteristics and cost. The OS disk and data disks are separate; you can attach and detach data disks without recreating the VM.
Networking Integration
Every VM is placed in a virtual network. You define a network interface, private IP, and optionally a public IP. Network security groups control inbound and outbound traffic. Azure Bastion provides secure RDP and SSH access without exposing VMs to the internet.
Availability Options
Protecting VMs from failures is an administrator responsibility. Azure offers:
- Availability Sets – Distribute VMs across fault and update domains within a datacenter. Use for workloads that need 99.95% VM connectivity SLA.
- Availability Zones – Physically separate locations within an Azure region. Deploy VMs across zones for 99.99% VM connectivity SLA.
- Proximity Placement Groups – Colocate VMs to reduce network latency between them, while still using zones or sets.
You must configure these options during VM deployment. They are not retroactively applied.
Common Administrator Tasks
- Deploying VMs from the Azure portal, CLI, PowerShell, ARM templates, or Bicep.
- Managing VM state: start, stop, restart, generalise, and deallocate.
- Resizing VMs: change the size while the VM is running or stopped.
- Configuring extensions: install software agents for backup, monitoring, or configuration management.
- Applying updates: Azure Update Manager or manual patching.
- Backing up VMs: Azure Backup provides application‑consistent backups.
- Moving VMs: between resource groups, subscriptions, or regions.
Administrators must also monitor VM performance using metrics like CPU, disk IOPS, and network throughput, and create alerts for thresholds that indicate issues.
Virtual Machine Scale Sets
Virtual Machine Scale Sets (VMSS) are designed to run a large number of identical VMs. Instead of managing each VM individually, you define a configuration profile, and Azure automatically maintains the desired number of instances.
What VMSS Solves
For stateless or horizontally scalable workloads, manual VM management becomes impractical. VMSS handles:
- Automatic scaling – Increase or decrease instance count based on metrics or a schedule.
- Load balancing – Integration with Azure Load Balancer or Application Gateway distributes traffic evenly.
- Fault tolerance – Instances spread across fault domains, often across zones.
When to Choose VMSS
Use VMSS when you need a group of VMs that share the same configuration, run the same application, and must scale in response to demand. Common use cases include web front‑ends, batch processing, and large‑scale computation.
The trade‑off is complexity: VMSS requires careful design of scaling rules and update policies. Rolling upgrades allow you to update the image without downtime, but misconfigurations can disrupt service.
Azure App Service
Azure App Service is a fully managed platform for web applications, REST APIs, and mobile back ends. You supply the code, and Azure handles infrastructure, patching, and scaling.
What App Service Provides
- Multiple language and framework support: .NET, Java, Python, Node.js, PHP, Ruby.
- Built‑in CI/CD integration with GitHub, Azure DevOps, and container registries.
- Horizontal scaling via manual or automatic scale‑out.
- TLS termination and custom domain management.
- Deployment slots for zero‑downtime deployments and staging.
Administrator Responsibilities
Compared to VMs, administration shifts from OS management to application configuration:
- Configure scaling rules based on performance or schedule.
- Manage SSL/TLS certificates and custom domains.
- Configure authentication and authorization through the built‑in identity provider.
- Monitor application performance with Application Insights.
Choose App Service when your workload fits the supported platforms and you want to minimise infrastructure management. The sacrifice is limited OS access and inability to install custom software.
Container‑Based Compute Services
Containers provide lightweight, portable execution environments. Azure offers two primary container services relevant to administrators.
Azure Container Instances
ACI runs individual containers without managing servers or orchestrators. It suits simple, isolated tasks: running a background job, a quick test, or a lightweight API. ACI provides automatic billing per second and can be deployed from a container image in seconds. It lacks native scaling and is not intended for multi‑container orchestration.
Azure Kubernetes Service
AKS is a managed Kubernetes platform. As an administrator, you are responsible for cluster configuration, node pool sizing, and integration with Azure networking and identity. Kubernetes knowledge is essential; the AZ‑104 exam expects familiarity with basic AKS concepts such as cluster networking, scaling, and connecting to Azure Container Registry.
AKS is ideal for complex, microservices‑based applications that require orchestration features like service discovery, rolling updates, and automated scaling.
Serverless Compute with Azure Functions
Azure Functions execute event‑driven code without explicit server management. Triggers come from a wide range of sources: HTTP requests, queue messages, timer schedules, blob storage events, and more.
Key Characteristics
- Automatic scaling: each function instance scales out independently, based on demand.
- Consumption plan billing: pay only for execution time and memory used.
- Stateless by nature: persistent state should be stored externally, such as in Azure Storage or a database.
Administrator Use Cases
As an administrator, you might use Functions for automation: cleaning up old resources, processing logs, reacting to alerts, or orchestrating maintenance tasks. Understanding the serverless model helps you recommend Functions when lightweight, event‑based processing is required.
Compute Service Selection Guide
The table below summarises the primary decision factors for each compute service.
| Service | Best For | Management Overhead | Scaling Model | Common Use |
|---|---|---|---|---|
| Azure Virtual Machines | Full OS control, legacy apps, specialised software | High (OS, patching, availability) | Manual or VMSS | Lift‑and‑shift migration, custom applications |
| VM Scale Sets | Large‑scale, identical VM workloads | Medium | Automatic, metric‑based | Web front‑ends, batch compute |
| App Service | Web applications, APIs, managed platform | Low | Manual or automatic scale‑out | Websites, REST APIs |
| Azure Container Instances | Isolated containers, quick jobs | Very low | None (single container) | Data processing, test workloads |
| Azure Kubernetes Service | Multi‑container orchestration, microservices | Medium‑high (cluster management) | Horizontal Pod Autoscaler | Microservices, complex apps |
| Azure Functions | Event‑driven, small code units | Very low | Automatic, consumption‑based | Automation, data pipeline triggers |
When selecting a service, evaluate:
- Control vs. simplicity – How much infrastructure control do you need? More control increases operational responsibility.
- Scalability requirements – Does the workload need to scale rapidly and automatically? Managed services generally scale more easily.
- Application architecture – Is the application monolithic, a web app, or a distributed microservices system?
- Budget – IaaS costs are predictable per hour, while PaaS and serverless can be cheaper for sporadic or low‑traffic workloads.
Common AZ‑104 Compute Scenarios
Scenario 1: Legacy Application Migration
A manufacturing company needs to migrate a legacy Windows application to Azure. The software requires specific registry settings, a SQL Server database, and full administrative control for a vendor agent.
Analysis: Because the vendor agent requires OS‑level access and the application cannot be containerised or rewritten, Azure Virtual Machines are the appropriate choice. Deploy the VMs into an availability set to meet the 99.95% SLA, and use Azure Backup for data protection.
Scenario 2: Unpredictable Web Traffic
An e‑commerce site experiences traffic spikes during promotions, followed by quiet periods. The application is written in .NET Core and uses Azure SQL Database.
Analysis: Azure App Service with auto‑scale rules based on CPU or request count is the best fit. It reduces management overhead and scales automatically. Alternatively, VM Scale Sets could host the web tier, but that increases administrative responsibility without adding value for a standard web app.
Scenario 3: Automated Log Processing
The operations team wants to automatically archive blob storage logs to a cheaper tier when they are older than 30 days.
Analysis: Azure Functions with a timer trigger is ideal. The function can run once per day, check blob age, and change the access tier. This requires minimal code and incurs almost zero cost when idle.
Common Mistakes and Misunderstandings
- Choosing VMs by default – Many workloads can run on App Service or containers, reducing management overhead. Defaulting to VMs without evaluating PaaS options is a common antipattern.
- Neglecting availability – Deploying a single VM without an availability set or zone risks downtime during platform maintenance. Always consider SLA requirements before deployment.
- Confusing containers with VMs – Containers share the host kernel and are typically stateless, while VMs provide full isolation. Misunderstanding this leads to incorrect design decisions.
- Focusing only on deployment – The administrator’s job continues after deployment. Ongoing tasks include monitoring, updating, scaling, and cost management. The exam frequently tests operational scenarios, not just initial setup.
Relationship with Other AZ‑104 Topics
Compute services are tightly integrated with the rest of Azure. As an administrator, you must understand these connections:
- Networking – VMs and App Service rely on virtual networks, subnets, and NSGs. VMSS requires load balancers. AKS integrates with container networking interfaces and ingress controllers.
- Storage – VMs use managed disks. App Service can mount Azure Files. Containers need persistent volumes. Functions can trigger on blob or queue storage.
- Identity – Managed identities grant services secure access to Key Vault, databases, and other resources without stored credentials. Azure RBAC controls who can deploy and manage compute resources.
- Monitoring – Azure Monitor collects metrics and logs from all compute services. Application Insights integrates directly with App Service and Functions.
- Security – Network security groups, Azure Bastion, Defender for Cloud, and Key Vault protect compute resources. Patch management and encryption ensure compliance.
Related CloudCertPro Learning Resources
Deepen your knowledge and practical skills by exploring these related sections:
- AZ‑104 Skills – Official Microsoft skills measured, expanded with operational context.
- AZ‑104 Labs – Hands‑on exercises for deploying VMs, configuring App Service, and more.
- AZ‑104 Scenarios – Apply your compute knowledge in realistic administrative situations.
- Azure Networking for AZ‑104 – Learn how compute integrates with virtual networks.
- Azure Storage for AZ‑104 – Understand disk types, backup, and data access.
- Foundations – Cloud‑agnostic architecture and study strategies.
A strong understanding of Azure compute is not about memorising every VM size or SDK method—it’s about knowing which tool to use for each job, how to keep it running, and how to operate it securely. Use this guide as a reference as you work through labs and scenarios, and return to it whenever you need to revisit a core concept.