# Choosing the right azure service

In Azure architecture choosing the right azure service is half the job done.
Here goes the list 


- Lift and shift current app to cloud → Virtual machine 
- Simple app without orchestrator → Container Instances
- Complex app with orchestrator → Container services (AKS)
- Run Orchestrated microservices→Service fabrics
- Repetitive jobs on massive scale →  Batch
- Host web application → Web App
- Automate one step of a process →  Functions 
- Automate a complete process →  Logic App
- Store relational data → Azure Sql server or Azure MySql or Azure Postgresql or  Azure  Maria Db
- Store Non Relational data with API to access the data →  Cosmos Db
- Store OLAP relational data →  Azure sql data warehouse 
- Store OLAP non-relational data →  Azure data lake store 
- Send message to one subscriber and  could get a message back →   Service Bus Queue 
- Send message to multiple subscriber  and  could get a message back → Service Bus Topics 
- Send Discrete data which does not happen continually →  Event Grid 
- Send continuous stream of data related to each other →   Event Hub
- Send Notification to many devices over different protocols →  Notification Hub
- Send and receive message to IOT devices → Azure  IOT Hub
- Send real time communication →  Azure SignalR Service 
- Scale HTTP app for globally distributed users →  Azure front door
- Scale Non HTTP app(UDP , Signal R) for globally distributed users →  Azure traffic manager 
- Access data that changes little →  Azure Cache for Redis 
- Application with Audio/Video/Images/Static file heavy →  Azure CDN
