Azure Cloud Series – Part 2: Azure Compute Service Categories ☁️
Welcome to Part 2 of the Azure Cloud Series.
In Part 1, we explored the fundamentals of Azure Cloud. In this part, we will focus on one of the most important Azure service categories: Compute.
Azure Compute services provide the processing power required to run applications, websites, containers, background jobs, and large-scale workloads.
Whether you need a traditional virtual machine, Kubernetes, serverless computing, or large-scale batch processing, Azure provides a service for it.
🔹 Azure Compute Services
The major Azure Compute services covered in this series are:
- Azure Virtual Machines
- Virtual Machine Scale Sets (VMSS)
- Azure Kubernetes Service (AKS)
- Azure App Service
- Azure Functions
- Azure Batch
Let’s understand each service from both a practical and interview perspective.
1. Azure Virtual Machines (VM)
Azure Virtual Machines provide virtualized Windows or Linux servers in the Azure cloud.
You can create a VM, select the operating system, configure CPU and memory, attach disks, configure networking, and install applications just like a traditional server.
Real-World Example
Suppose a company has an old application running on an on-premises Windows Server.
Instead of purchasing a physical server, the company can:
On-Premises Server → Create Azure VM → Migrate Application → Run in Azure
The VM can then be accessed through RDP for Windows or SSH for Linux.
Common Use Cases
- Hosting legacy applications
- Development and testing
- Running custom software
- Migrating on-premises workloads
- Applications requiring OS-level control
DevOps Perspective
As a DevOps engineer, you may work with VMs for:
- Installing build agents
- Hosting self-hosted Azure DevOps agents
- Running monitoring tools
- Deploying applications
- Automating VM provisioning using Terraform/Bicep
- Configuration management using Ansible
Interview Point
Q: When would you choose Azure VM instead of App Service?
Answer: Choose Azure VM when you need greater control over the operating system, installed software, networking, or system configuration.
2. Virtual Machine Scale Sets (VMSS)
Virtual Machine Scale Sets allow you to create and manage a group of identical virtual machines.
Instead of manually creating multiple VMs, VMSS can automatically create and manage VM instances based on workload requirements.
Real-World Example
Imagine an e-commerce application normally requires:
5 VMs
During a festival sale, traffic increases significantly:
5 VMs → 10 VMs → 20 VMs
After traffic decreases:
20 VMs → 10 VMs → 5 VMs
VMSS can help automate this scaling.
Key Features
- Automatic scaling
- Load balancing
- High availability
- Centralized VM management
- Integration with Azure Monitor
- Support for autoscale rules
DevOps Example
You can configure an autoscaling rule such as:
CPU > 70%
↓
Increase VM instances
CPU < 30%
↓
Decrease VM instances
Interview Point
Q: What is the difference between VM and VMSS?
Answer:
A VM represents an individual virtual machine, while VMSS is designed to manage a scalable group of VM instances.
3. Azure Kubernetes Service (AKS)
Azure Kubernetes Service (AKS) is Microsoft’s managed Kubernetes service.
It allows organizations to deploy and manage containerized applications using Kubernetes without having to manage every Kubernetes control-plane component themselves.
Real-World Example
Suppose a banking application contains multiple microservices:
Internet Banking
|
↓
API Gateway
|
┌─────┼─────────┐
↓ ↓ ↓
UPI Payee Fund Transfer
|
↓
Database
Each service can run inside containers and be deployed to AKS.
Why AKS?
AKS provides capabilities for:
- Container orchestration
- Microservices
- Auto scaling
- Rolling deployments
- Self-healing
- Service discovery
- Load balancing
- Kubernetes-based DevOps workflows
DevOps Example
A typical GitOps deployment could look like:
Developer
↓
GitHub
↓
CI Pipeline
↓
Container Image
↓
Azure Container Registry
↓
Argo CD
↓
AKS
↓
Application Pods
Interview Point
Q: Why use AKS instead of Azure VM?
Answer: AKS is preferable when applications are containerized and require Kubernetes capabilities such as orchestration, scaling, self-healing, rolling deployments, and microservices management.
4. Azure App Service
Azure App Service is a fully managed Platform as a Service (PaaS) offering for hosting web applications, REST APIs, and backend applications.
You don’t need to manage the underlying operating system or physical infrastructure.
Real-World Example
Suppose you have a .NET web application.
Instead of:
Create VM
↓
Install Windows
↓
Install IIS
↓
Configure IIS
↓
Deploy Application
↓
Manage OS
You can use:
Application Code
↓
Azure App Service
↓
Application Running
Azure manages much of the underlying infrastructure.
Common Use Cases
- Web applications
- REST APIs
- Backend applications
- .NET applications
- Node.js applications
- Java applications
- Python applications
DevOps Integration
App Service integrates with CI/CD tools such as:
- Azure DevOps
- GitHub Actions
- Git
- Deployment slots
Deployment Slots
A very useful feature is deployment slots.
For example:
Production
↑
|
Staging
You can deploy the new version to the staging slot, test it, and then swap it with production.
Interview Point
Q: Why choose App Service over VM?
Answer: App Service is useful when you want a managed PaaS platform where Azure handles much of the underlying infrastructure and you mainly focus on the application.
5. Azure Functions
Azure Functions is Azure’s serverless compute service.
It allows you to execute code in response to events without managing servers.
Simple Example
Suppose a file is uploaded to Azure Blob Storage.
You want to automatically process the file.
You can create:
File Upload
↓
Azure Blob Storage
↓
Azure Function Trigger
↓
Process File
↓
Store Result
The function runs when the event occurs.
Common Triggers
Azure Functions can be triggered by:
- HTTP requests
- Timer schedules
- Blob Storage events
- Queue messages
- Event Grid
- Service Bus
- Other Azure services
Real-World Example
A company wants to send an email whenever a new customer registers.
Customer Registration
↓
Application
↓
Event
↓
Azure Function
↓
Send Notification
Common Use Cases
- Automation
- Event-driven processing
- Scheduled jobs
- Lightweight APIs
- Background processing
- Integration between Azure services
Interview Point
Q: What is the main difference between VM and Azure Functions?
Answer: A VM provides a complete server environment, while Azure Functions is serverless and allows you to run event-driven code without managing the underlying servers.
6. Azure Batch
Azure Batch is designed for running large-scale parallel and high-performance computing workloads.
Instead of manually creating and managing hundreds or thousands of machines for a temporary workload, Azure Batch can manage compute pools and execute jobs across them.
Real-World Example
Imagine a company needs to process:
1 million images
Processing them sequentially would take a long time.
Azure Batch can distribute the work:
1 Million Images
|
↓
Azure Batch
|
┌─────┼─────┬─────┐
↓ ↓ ↓ ↓
VM1 VM2 VM3 VM4
↓ ↓ ↓ ↓
Images processed in parallel
Common Use Cases
- Scientific simulations
- Large-scale data processing
- Rendering
- Financial calculations
- Image/video processing
- High-performance computing
Interview Point
Q: What is Azure Batch mainly used for?
Answer: Azure Batch is mainly used to execute large-scale parallel or HPC workloads by distributing jobs across pools of compute resources.
🔥 Quick Comparison
| Service | Best Used For | Management Level |
|---|---|---|
| Virtual Machines | Traditional servers & legacy applications | High |
| VM Scale Sets | Scalable groups of VMs | High |
| AKS | Containerized applications & Kubernetes | Medium |
| App Service | Web apps & APIs | Low |
| Azure Functions | Event-driven/serverless workloads | Very Low |
| Azure Batch | Large-scale parallel processing | Managed |
🎯 How to Choose the Right Azure Compute Service?
Think about the requirement first:
Need complete OS control?
➡️ Azure Virtual Machine
Need multiple VMs that automatically scale?
➡️ VM Scale Sets
Need Kubernetes and containers?
➡️ AKS
Need to host a web application without managing servers?
➡️ App Service
Need event-driven serverless execution?
➡️ Azure Functions
Need large-scale parallel processing?
➡️ Azure Batch
💡 DevOps Engineer’s Perspective
As a DevOps engineer, understanding Azure Compute is important because compute services are directly connected with:
- CI/CD pipelines
- Infrastructure as Code
- Containerization
- Kubernetes
- Monitoring
- Autoscaling
- High availability
- Deployment strategies
- Cost optimization
- Production troubleshooting
A typical modern Azure DevOps architecture could look like:
Developer
↓
GitHub / Azure Repos
↓
CI/CD Pipeline
↓
Container Build
↓
Azure Container Registry
↓
AKS
↓
Application
↓
Azure Monitor
🎤 Interview Preparation
Before moving to the next Azure service category, make sure you can explain:
- What is Azure Virtual Machine?
- VM vs VMSS?
- What is AKS?
- AKS vs VM?
- What is Azure App Service?
- App Service vs VM?
- What is Azure Functions?
- Functions vs App Service?
- What is Azure Batch?
- Which Azure Compute service would you choose for a particular production scenario and why?
🚀 What’s Next?
This is Azure Cloud Series – Part 2: Compute Services.
In the next parts, we will explore other important Azure service categories such as:
🔹 Networking
🔹 Storage
🔹 Databases
🔹 Security & Identity
🔹 Monitoring
🔹 DevOps
🔹 Integration
🔹 Management & Governance
The goal of this series is not just to learn what an Azure service is, but also where it is used, how it works in real-world projects, and how to explain it in interviews.
📌 The detailed PDF below this post for the complete documentation, practical examples, architecture explanations, and interview points.
Follow along for more Azure + DevOps + Kubernetes content. 🚀
#Azure #MicrosoftAzure #AzureCloud #AzureCompute #DevOps #CloudComputing #Kubernetes #AKS #AzureDevOps #CloudEngineer #DevOpsEngineer #AzureCertification #CloudCareer #TechLearning
Loading Viewer…
Discover more from DevOps with Patil
Subscribe to get the latest posts sent to your email.