Summeries of Azure Services
Computing
App Service
Hosting Service for Web Application, Web API or Mobile Backend. Full managed PaaS.
Use case
- Hosting Application
- Automation of deployment
- Flexible scalability by auto scaling
Limitation
- Applications per Azure App Service plan: 10 - no limits
- Max instances for Scale out: 1 - 30
- SLA: 99.95%
Functions
Hosting service for event driven code. Full managed PaaS.
Use case
- Various events for a trigger
- e.g) HTTP Request, Timer, Updating Storage, Messaging like Service Bus
- Short term execution
- Simple backend service
- Automation for periodic tasks
- Microservice
Limitation
- Only for short term execution at most 5 - 10 minutes
- Not suitable for high availability
- Downtime (seconds to several minites) when starting
Duarable Functions
Extention for Functions. Enable long term executions in stateful workflows.
Use case
- Function chaining
- Sequential calls for multiple functions.
- Fan out/fan in
- Parallel calls for multiple funcitons.
- Async HTTP APIs
- Polling the completion of external APIs
- Monitor
- Human interaction
- e.g.) approval by an administrator
- Aggregator
Limitation
- Cost for long term execution.
- Timeout for each type of Functions
- Activity: 5 minutes
- Orchestrator, Entity: No limits
Virtual Machines
Hosting service for computing resource which requires infrastracture-level tuning. Non-fully managed. IaaS.
Use case
- Deployment for applications or middleware
- Development or Test Server
- Backup environment
Limitation
- SLA: 99.5%
- Availability set: 99.95%
- Availability zone: 99.99%
Network
Virtual Network
Network building service in Azure cloud platform.
Use case
- Network separation by subnet
- Private network
- Connect with on-premiss network
- Access control by NSG
- Traffic routing
Limitation
- No support for multicast or broadcast
- A virtual network is limited to a single region
- But a virtual network does span availability zones
API Management
An API gateway for backend APIs which provide integrated management.
Use case
- Security
- Authorization like API Key or OAuth.
- Access control by IP
- Traffic management
- IP Aggrigation
- Routing based on HTTP Request
- Throttling
- Cache control
- Monitor
- Dashboard
- Logging
- Alert
Limitation
- Max API: 150-500
- Max Operation per API: 100
- Max cache size: 250 MB - 1 GB
- Max Web socket connections: 5,000
Application Gateway
L7(HTTP) load balancer for traffic control.
Use case
- Load balancing at application level
- URL based routing
- SSL offload
- Firewall
- Multiple-site hosting
- Session Affinity
Limitation
- Frontend IP address: public address -> 1, private address -> 1
- Frontend port: 100
- Backend address pool: 100
- Max HTTP load balancing rules: 400
Azure load balancer
L4(TCP/UDP) load balancer for traffic control.
Use case
- Load balancing at network level
- Public and Private load balancing to Azure VMs
- IP based routing
- Failover by HA port
- Session Affinity
Limitation
- Load Balancers: 1,000
- Frontend IPs: 600
- Backend pools: 5,000
Traffic Manager
DNS based load balancer for traffic control.
Use case
- Load balancing accross global Azure regeons
- Maintainance without downtime
- Combine hybrid applications
Limitation
- Load balancing at only domain level
- Traffic routing from only public Internet, not for private network
Data
SQL Database
Relational Database. Full managed PaaS.
Use case
- Database for application
- Data warehouse
- Repository
Limitation
- Storage size: 10GB - 100TB
- Max concurrent sessions: 30,000
- SQL Server based.
- SLA: 99.99%
Queue Storage
Simple queue to store messages.
Use case
- More than 80GB messages in total.
- If less, consider using Service Bus
Limitation
- Max message size: 64KB
- Maximum time-to-live: 7days
- No guarantee for message ordering
- At least once message delivery guarantee
- 1 on 1 Messaging only
Table Storage
NoSQL database to store non-structual data
Use case
- Key-value style schemaless data
- Massive ammount of Read/Write
Limitation
- No support for complex query
- Max table size: 500TiB
- Max entity size: 1MiB
- Maximum number of properties: 255
Blob Storage
Object storage for non structual data like Large Binary object or text data.
Use case
- Serving images or documents directly to a browser.
- Storing files for distributed access.
- Streaming video and audio.
- Writing to log files.
- Storing data for backup and restore, disaster recovery, and archiving.
- Storing data for analysis by an on-premises or Azure-hosted service.
Limitation
- Max size of container: 5 PiB (up to max size of storage account)
Integration
Logic Apps
Business logc integeration to orchestrate APIs or SaaS.
Use case
- Work flow automation
- Event driven
- Notification
- GUI based development and maintenance
Limitation
- Not suitable for complex business logic
- Not suitable for realtime processing
- Not suitable for large size data processing
Service Bus
Full managed messaging service
Use case
- 1 on 1 message queuing
- 1 on N messaging by topic and subscription
- So to say publisher/subscriber mechanism
- High scalability by separation of application
Limitation
- Max queue size in total: 80 GB
- Max message size: 256 KB - 100 MB
Event Grid
Full managed event messaging service
Use case
- 1 on N messaging by MQTT messaging between IoT Devices
- a kind of pub/sub messaging protocol
- Event driven messaging via HTTP
- Realtime notification by push delivery
- On-demand data fetch by pull delivery
Limitation
- Max event retention: 7 days
- Subscriptions per topic: 500
- Max event size: 1MB
- Not suitable for non-realtime processing
- Not suitable for storing large scale data
Event Hubs
Scalable event messaging service
Use case
- Realtime event receiving in low latency
- Relaying massive amount of messages
- Large scale data aggregation
Limitation
- Max message size: 256KB
- Max retention:7days
- Not support to delete messages manually
- Not support for access control by IP
Monitoring
Network Watche
Monitoring service for Azure
Use case
- Monitoring IaaS
- Network diagonosis and troubleshooting
- Traffic analysis
Limitation
- Not support for PaaS
Application Insight
Monitoring functionality for web applications. Part of Azure Monitor
Use case
- Performance analysis
- Health monitoring
- Logging
- Alert
Limitation
- Max data retention: 90 days
- Only for applications hosted in Azure
Discussion