Azure offers hundreds of services, and for developers new to the platform, it can feel overwhelming to know where to start. The good news is that most production applications rely on a small core set of Azure services that handle compute, storage, data, networking, security, and monitoring.
Understanding these foundational services — what they do and when to use them — is far more valuable than trying to memorise every option in the Azure portal. Once you grasp these building blocks, you can confidently design, build, and scale applications in the cloud without over-engineering or managing unnecessary infrastructure.
In this article, we’ll walk through the top Azure services every developer should know, grouped by category. Whether you’re deploying your first cloud application or modernising an existing system, these services form the backbone of most real-world Azure architectures.
Compute (Running applications)
Azure Virtual Machines (VMs)
What it is:
Cloud-based Windows or Linux servers with full OS access.
Used for:
-
Lift-and-shift migrations
-
Legacy or custom software
-
Scenarios needing OS-level control
When to choose it:
When you would traditionally provision a physical or virtual server on-prem.
Azure App Service
What it is:
A fully managed platform for hosting web apps and APIs.
Used for:
-
Web applications
-
REST APIs
-
Mobile backends
When to choose it:
When you want to deploy code without managing servers, patching, or scaling infrastructure.
Azure Functions
What it is:
Serverless compute that runs code in response to events.
Used for:
-
Background jobs
-
Event-driven processing
-
Lightweight APIs
When to choose it:
When you only want to pay for execution time and don’t need a continuously running app.
Azure Kubernetes Service (AKS)
What it is:
A managed Kubernetes platform for running containers.
Used for:
-
Microservices architectures
-
Containerised applications
-
High-scale distributed systems
When to choose it:
When you need fine-grained control over container orchestration and scaling.
Storage (Saving data)
Azure Blob Storage
What it is:
Highly scalable object storage for unstructured data.
Used for:
-
Images, videos, documents
-
Backups and logs
-
Data lakes
When to choose it:
When storing large amounts of files or binary data.
Azure Files
What it is:
Managed cloud file shares accessible via SMB or NFS.
Used for:
-
Shared network drives
-
Hybrid file storage
-
Legacy applications expecting file systems
When to choose it:
When you need a traditional file share without managing a file server.
Azure Disk Storage
What it is:
Block-level storage attached to virtual machines.
Used for:
-
OS disks
-
Application data for VMs
When to choose it:
When running workloads that require persistent disk storage.
Databases (Structured data)
Azure SQL Database
What it is:
Fully managed SQL Server–compatible database.
Used for:
-
Transactional applications
-
Business systems
-
Web app backends
When to choose it:
When you need relational data without managing SQL Server infrastructure.
Azure Cosmos DB
What it is:
Globally distributed, multi-model NoSQL database.
Used for:
-
High-throughput applications
-
Globally available apps
-
JSON and key-value workloads
When to choose it:
When low latency and horizontal scale matter more than strict relational structure.
Azure Database for MySQL / PostgreSQL
What it is:
Managed open-source relational databases.
Used for:
-
Web and SaaS applications
-
Migrations from on-prem databases
When to choose it:
When your app already uses MySQL or PostgreSQL and you want a managed service.
Networking (Connecting everything)
Azure Virtual Network (VNet)
What it is:
A private, isolated network in Azure.
Used for:
-
Secure communication between resources
-
Network segmentation
-
Hybrid connectivity
When to choose it:
Whenever you need private IP networking.
Azure Load Balancer
What it is:
Layer 4 (TCP/UDP) traffic distribution service.
Used for:
-
High availability
-
Distributing traffic across VMs
When to choose it:
For simple, high-performance traffic balancing.
Azure Application Gateway
What it is:
Layer 7 HTTP/HTTPS load balancer with WAF.
Used for:
-
Web application routing
-
SSL termination
-
Web Application Firewall protection
When to choose it:
For modern web apps needing advanced routing and security.
Security & Identity
Microsoft Entra ID (Azure Active Directory)
What it is:
Cloud-based identity and access management.
Used for:
-
User authentication
-
Single Sign-On (SSO)
-
Access control
When to choose it:
Whenever users or services need identity and authorisation.
Azure Key Vault
What it is:
Secure storage for secrets and keys.
Used for:
-
API keys
-
Certificates
-
Encryption keys
When to choose it:
To keep secrets out of code and configuration files.
Alerting & Monitoring
Azure Monitor
What it is:
Central monitoring and telemetry platform.
Used for:
-
Metrics and logs
-
Alerting
-
Performance insights
When to choose it:
For observability across Azure resources.
Application Insights
What it is:
Application performance monitoring (APM) tool.
Used for:
-
Request tracing
-
Dependency tracking
-
Error detection
When to choose it:
When you need deep visibility into application behaviour.
Integration & Messaging
Azure Service Bus
What it is:
Enterprise message broker.
Used for:
-
Reliable asynchronous messaging
-
Decoupling services
-
Guaranteed message delivery
When to choose it:
For complex, reliable message workflows.
Azure Event Grid
What it is:
Event routing service.
Used for:
-
Event-driven architectures
-
Reactive systems
When to choose it:
When you need to react to events in near real-time.
Azure Logic Apps
What it is:
Low-code workflow automation service.
Used for:
-
System integrations
-
Scheduled workflows
-
Business processes
When to choose it:
When you want orchestration without writing code.
Summary
These services form the core building blocks of most Azure applications. As a developer, understanding what each service does and when to use it lets you:
-
Build scalable systems
-
Reduce operational overhead
-
Choose the right level of abstraction
Start with managed services, move to VMs or Kubernetes only when necessary.
