This is a short post highlighting different services in Azure. It’s a high level overview of what can be used in different use cases. The best place to find out more information on each of the service is to navigate to the Microsoft docs for Azure.
Where to run your applications and background tasks
1. Comparing container options and VMs
VM | Container Instances | Container Service | Web App for Containers | Batch | Service Fabric | |
---|---|---|---|---|---|---|
Lift and shift your apps to the cloud | Yes | |||||
Simple apps (without orchestrator) | Yes | Yes | ||||
Complex apps (with orchestrator) | Yes | Yes | ||||
Run orchestrated microservices | Yes | |||||
Run everywhere | Yes | |||||
Run web app on Linux with app service feature | Yes | |||||
Repetitive jobs (on massive scale) | Yes |
2. Where to run your applications
Web App | Mobile App | Cloud Services | Service Fabric | Azure Function | Logic App | |
---|---|---|---|---|---|---|
Host web apps | Yes | Yes | Yes | |||
Host your own APIs | Yes | Yes | Yes | Yes | ||
Host back end for mobile apps | Yes | |||||
Automate one step of a process | Yes | |||||
Automate a complete process | Yes | |||||
Enjoy features like deployment slots, auth | Yes | Yes | Yes | Yes | ||
Run (micro) services at massive scale | Yes | Yes |
3. Where to run your background tasks
Cloud Services | Web Jobs | Azure Functions | Batch | |
---|---|---|---|---|
Short running tasks | Yes | Yes | Yes | Yes |
Long running tasks | Yes | Yes | Yes | Yes |
Resource intensive tasks | Yes | |||
Pay all month | Yes | Yes | ||
Pay only for what and when to run | Yes | |||
Need to deploy a complete app to run | Yes | Yes | ||
Can deploy only the code necessary to run | Yes | Yes |
What to use to store your data
1. Comparing Azure Storage Services
File | Blob | Table | Disk | |
---|---|---|---|---|
Lift and shift files to the cloud | Yes | |||
Lift and shift apps to the cloud | Yes | |||
Store (large) unstructured data | Yes | |||
Store (small) semi-structured data | Yes |
2. Comparing Data Stores for OLTP
SQL | MySQL | PSQL | MarialDB | Cosmos | Storage | |
---|---|---|---|---|---|---|
Relational data | Yes | Yes | Yes | Yes | ||
Semi or non relational data | Yes | Yes | ||||
Can use Microsoft tools to manage | Yes | Yes | Yes | |||
Advanced querying capabilities | Yes | Yes | Yes | Yes | Yes | |
Use multiple APIs to access data | Yes |
What to use for data analytics
1. Comparing Data Analytics Services
DF | AS | DLA | SA | TSI | DB | HDI | |
---|---|---|---|---|---|---|---|
Move data from store to store | Yes | ||||||
Transform data | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Query and filter streaming data | Yes | Yes | Yes | ||||
Provide in memory semantic model for users | Yes | Yes | Yes | ||||
Users can query data and create dashboards | Yes | ||||||
Analyze and process data for later use | Yes | Yes | Yes |
2. Comparing Data Stores for OLAP
Azure SQL Data Warehouse | Azure Data Lake Store | |
---|---|---|
Use when you know which questions you want to answer | Yes | |
Relational data | Yes | Yes |
Non-relational data | Yes | |
Requires you need to define a data schema | Yes | |
No file or database size limits | Yes |
What to use to speed your applications
1. Speeding your applications up in Azure
CDN | Redis Cache | Traffic Manager | |
---|---|---|---|
Offload traffic from your application | Yes | ||
Bring data closer to users | Yes | Yes | |
Bring applications closer to users | Yes | ||
Provide fast, in-memory access to data | Yes |
2. Comparing intelligence options in Azure
Machine Learning | Cognitive Services | Bot Service | |
---|---|---|---|
Create your own analytical algorithm | Yes | ||
Create ML model with your own data | Yes | Yes | |
Use pre-trained ML model | Yes | ||
Build conversational bots | Yes |
What to use for events and messaging

SB Queues | SB Topics | Event Grid | Event Hubs | IoT Hub | N-Hubs | Logic Apps | |
---|---|---|---|---|---|---|---|
Send a message to make something happen | Yes | Yes | Yes | Yes | |||
Subscribe to and publish discrete events | Yes | ||||||
Analyze contextual data in bulk | Yes | ||||||
Send a message to one subscriber | Yes | ||||||
Send a message to multiple subscribers | Yes | Yes | Yes | Yes | Yes | Yes | |
Orchestrate a message-driven workflow | Yes | ||||||
Receive and send messages to IoT devices | Yes | ||||||
Send notifications to many devices over different protocols | Yes |
What to use when working with media
Encoding | Content Protections | Streaming | Media Player | Media Analytics | CDN | |
---|---|---|---|---|---|---|
Encode media in multiple formats | Yes | |||||
Protect media using multiple technologies | Yes | |||||
Stream media live or on demand | Yes | |||||
Play media on different devices and formats | Yes | |||||
Analyze and enhance media with machine learning | Yes | |||||
Bring media geographically close to users | Yes |
What to use for apps monitoring
Comparing options for monitoring in Azure
App Insights | App Center | Log Analytics | Network Watcher | Azure Monitor | Security Center | Azure Advisor | |
---|---|---|---|---|---|---|---|
Monitor a web or desktop application | Yes | ||||||
Monitor a mobile application | Yes | ||||||
Monitor a component of an application | Yes | ||||||
Inspect network traffic to diagnose problems | Yes | ||||||
Get an overview of all monitoring data | Yes | ||||||
Get an overview of all security aspects | Yes | ||||||
Get an overview of actionable recommendations | Yes |
What to use build, test and deploy
VSTS | App Center | DevOps Projects | |
---|---|---|---|
Build source code | Yes | Yes | |
Test your application | Yes | Yes | |
Deploy your application | Yes | Yes | |
Create build and release pipelines | Yes | Yes | Yes |
Store and share source code | Yes | ||
Manage work backlog | Yes | ||
Manage mobile apps life cycles | Yes | ||
Manage web and desktop apps life cycles | Yes |