Comparison of Azure Compute services
The following table from the Azure Architecture Guide compares Azure compute services across several axes. Refer to the linked article for additional notes & updates.
Criteria | Virtual Machines | App Service | Service Fabric | Azure Functions | Azure Container Service | Cloud Services | Azure Batch |
---|---|---|---|---|---|---|---|
Application composition | Agnostic | Applications | Services, guest executables, containers | Functions | Containers | Roles | Scheduled jobs |
Density | Agnostic | Multiple apps per instance via app plans | Multiple services per VM | No dedicated instances | Multiple containers per VM | One role instance per VM | Multiple apps per VM |
Minimum number of nodes | 1 | 1 | 5 | No dedicated nodes | 3 | 2 | 1 |
State management | Stateless or Stateful | Stateless | Stateless or stateful | Stateless | Stateless or Stateful | Stateless | Stateless |
Web hosting | Agnostic | Built in | Agnostic | Not applicable | Agnostic | Built-in (IIS) | No |
OS | Windows, Linux | Windows, Linux | Windows, Linux | Not applicable | Windows (preview), Linux | Windows | Windows, Linux |
Can be deployed to dedicated VNet? | Supported | Supported | Supported | Not supported | Supported | Supported | Supported |
Hybrid connectivity | Supported | Supported | Supported | Not supported | Supported | Supported | Supported |
Local debugging | Agnostic | IIS Express, others | Local node cluster | Azure Functions CLI | Local container runtime | Local emulator | Not supported |
Programming model | Agnostic | Web application, WebJobs for background tasks | Guest executable, Service model, Actor model, Containers | Functions with triggers | Agnostic | Web role, worker role | Command line application |
Resource Manager | Supported | Supported | Supported | Supported | Supported | Limited | Supported |
Application update | No built-in support | Deployment slots | Rolling upgrade (per service) | No built-in support | Depends on orchestrator. Most support rolling updates | VIP swap or rolling update | Not applicable |
Auto-scaling | VM scale sets | Built-in service | VM Scale Sets | Built-in service | Not supported | Built-in service | N/A |
Load balancer | Azure Load Balancer | Integrated | Azure Load Balancer | Integrated | Azure Load Balancer | Integrated | Azure Load Balancer |
Scale limit | Platform image: 1000 nodes per VMSS, Custom image: 100 nodes per VMSS | 20 instances, 50 with App Service Environment | 100 nodes per VMSS | Infinite | 100 | No defined limit, 200 maximum recommended | 20 core limit by default. Contact customer service for increase. |
SLA | 99.95% for or all Virtual Machines that have two or more instances deployed in the same Availability Set 99.9% for any Single Instance Virtual Machine using premium storage for all Operating System Disks and Data Disks |
99.95% No SLA is provided for Apps under either Free or Shared tiers |
Service Fabric is a free service, therefore, it does'nt have a financially backed SLA* |
99.95% | no financially backed SLA* | 99.95%* | 99.9% |
Multi region failover | Traffic manager | Traffic manager | Traffic manager, Multi-Region Cluster | Not supported | Traffic manager | Traffic manager | Not Supported |
SSL | Configured in VM | Supported | Supported | Supported | Configured in VM | Supported | Supported |
RBAC | Supported | Supported | Supported | Supported | Supported | Not supported | Supported |
Cost | Windows, Linux | App Service pricing | Service Fabric pricing | Azure Functions pricing | Azure Container Service pricing | Cloud Services pricing | Azure Batch pricing |
Suitable architecture styles | N-Tier, Big compute (HPC) | Web-Queue-Worker | Microservices, Event driven architecture (EDA) | Microservices, EDA | Microservices, EDA | Web-Queue-Worker | Big Compute |
Comments
Post a Comment