Summeries of Azure Services
Tags: azure, microsoft
Published: 2024-04-23 23:13:42

# 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