Takeru Tomii
Posted on April 23, 2024
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
Posted on April 23, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 20, 2024