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