2.4 Azure App Service, Containers, and Serverless
Key Takeaways
- Azure App Service is a PaaS platform for hosting web apps, REST APIs, and mobile backends without managing infrastructure.
- Azure Container Instances (ACI) runs containers without managing VMs — the simplest way to run a container in Azure.
- Azure Kubernetes Service (AKS) is a managed Kubernetes orchestration service for complex, multi-container applications.
- Azure Functions is a serverless compute service that runs event-driven code with per-execution billing.
- Choose App Service for web apps, ACI for simple containers, AKS for complex microservices, and Functions for event-driven tasks.
Azure App Service, Containers, and Serverless
Quick Answer: Azure App Service = PaaS web hosting. Azure Container Instances = simple containers without VMs. Azure Kubernetes Service = managed container orchestration. Azure Functions = serverless event-driven compute.
Azure App Service (PaaS)
Azure App Service is a fully managed PaaS platform for building, deploying, and scaling web applications, REST APIs, and mobile backends.
Key features:
- Supports multiple languages: .NET, Java, Node.js, PHP, Python, Ruby
- Built-in auto-scaling and load balancing
- CI/CD integration with GitHub, Azure DevOps, Docker Hub
- Custom domains and free SSL/TLS certificates
- Deployment slots for staging and blue-green deployments
- Built-in authentication (Azure AD, Google, Facebook, Twitter)
- Runs on Windows or Linux
App Service Plans: App Service resources run on App Service Plans, which define the compute resources (CPU, memory) available. Plans range from Free and Shared (for dev/test) to Basic, Standard, Premium, and Isolated (for production).
| Tier | Use Case | Auto-Scale | Custom Domains | Cost |
|---|---|---|---|---|
| Free/Shared | Dev/test | No | Shared only | Free / Low |
| Basic | Low-traffic apps | No | Yes | $$ |
| Standard | Production apps | Yes | Yes | $$$ |
| Premium | High-performance | Yes (more instances) | Yes | $$$$ |
| Isolated | Dedicated environment | Yes | Yes | $$$$$ |
Containers in Azure
Containers package an application and its dependencies into a portable, consistent unit that runs the same anywhere. Azure offers multiple container hosting options:
Azure Container Instances (ACI)
The simplest and fastest way to run a container in Azure. No VMs to manage, no orchestration to configure.
- PaaS — Azure manages the underlying infrastructure
- Per-second billing — Pay only while the container is running
- Fast startup — Containers start in seconds
- Best for: Simple applications, batch jobs, CI/CD tasks, sidecar containers
Azure Kubernetes Service (AKS)
A managed Kubernetes service for deploying, scaling, and managing containerized applications at scale.
- Managed control plane — Azure manages the Kubernetes master nodes (free)
- You manage the worker nodes (VMs) that run your containers
- Auto-scaling — Automatically scale pods and nodes based on demand
- Built-in monitoring — Integration with Azure Monitor and Container Insights
- Best for: Complex microservices architectures, multi-container applications, enterprise-grade container deployments
Azure Container Apps
A serverless container platform built on Kubernetes that abstracts away cluster management.
- Serverless — No cluster management required (unlike AKS)
- Event-driven scaling — Scale based on HTTP traffic, queue length, or custom events
- Scale to zero — Save costs when there is no traffic
- Best for: Microservices, event-driven apps, background processing
Serverless Computing
Azure Functions
Azure Functions is a serverless compute service that runs small pieces of code (functions) in response to events.
Key characteristics:
- Event-driven — Triggered by HTTP requests, timers, queue messages, blob uploads, etc.
- Auto-scaling — Scales from zero to thousands of instances automatically
- Micro-billing — Pay only for execution time (per-second billing)
- Stateless by default — Each invocation is independent (use Durable Functions for state)
- Multiple languages — C#, JavaScript, Python, Java, PowerShell, TypeScript
Pricing plans:
| Plan | Billing | Scale | Best For |
|---|---|---|---|
| Consumption | Per execution + GB-s | 0 to 200 instances | Event-driven, variable workloads |
| Premium | Pre-warmed instances | 1 to 100 instances | Low-latency, VNET integration |
| Dedicated | App Service Plan | Fixed instances | Existing App Service resources |
Azure Logic Apps
Azure Logic Apps is a serverless workflow orchestration service that connects apps, data, services, and systems.
- Visual designer — Build workflows using a drag-and-drop designer
- 400+ connectors — Pre-built integrations with Microsoft 365, Salesforce, SAP, and more
- Pay per action — Billed for each action executed in a workflow
- Best for: Business process automation, data integration, system integration
Compute Service Comparison
| Service | Type | Manage OS? | Best For | Pricing |
|---|---|---|---|---|
| Azure VMs | IaaS | Yes | Custom workloads, lift-and-shift | Per-second compute |
| App Service | PaaS | No | Web apps, APIs | App Service Plan |
| Container Instances | PaaS | No | Simple containers | Per-second |
| Kubernetes Service | Managed | Worker nodes | Complex microservices | Worker node VMs |
| Container Apps | Serverless | No | Event-driven containers | Per-second + scale to zero |
| Functions | Serverless | No | Event-driven code | Per-execution |
| Logic Apps | Serverless | No | Workflow automation | Per-action |
On the Exam: Questions will describe a scenario and ask which compute service is the best fit. Focus on the KEY differentiator: Does the scenario need full OS control (VMs)? Just web hosting (App Service)? Event-driven code (Functions)? Container orchestration (AKS)?
A company wants to deploy a web application without managing the underlying operating system or servers. Which service should they use?
Which Azure service is the simplest way to run a single container without managing VMs or orchestration?
Which serverless service is best for running small pieces of code in response to events like HTTP requests or timer triggers?
Which Azure compute service provides a managed Kubernetes environment for orchestrating multi-container applications?