📑

Summeries of Azure Services

2024/04/24に公開

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