This document provides an overview of Azure Container Apps. It discusses the different container options in Azure, including Container Instance, App Service, Kubernetes Service, and Kubernetes on VMs. It presents Container Apps as a simpler option compared to Kubernetes that provides auto-scaling and other capabilities without managing a Kubernetes cluster. The rest of the document demonstrates Container Apps features like environments, containers, revisions, Dapr for microservice management, and KEDA for auto-scaling. It provides pricing information and the presenter's wish list for future Container Apps capabilities. In summary, the presenter believes Container Apps is a promising evolution from Container Instance but not yet production ready.
AGENDA
Use Cases &Capabilities
Which Tool and Why?
A Simple Example
Dapr
Inter-Service Communication
Scaling
2021 Azure Container Apps 2
3.
ABOUT MYSELF
• SoftwareArchitect, focus on scalable cloud solutions
• Software Development background (App Dev)
• Dad
• Gamer and Hobbyist
• Wisconsin Sports Fan (don’t @ me)
2021 Azure Container Apps 3
4.
CONTAINER OPTIONS INAZURE
Azure Container Instance
- Simple solution for deploying containers
with a fixed scaling need
- Does not support auto scaling or
changing scale without recreating the
service (downtime)
- Assumes ingress (must expose a port), so
it is clunky to run headless jobs
Azure App Service
- Easily launch and deploy HTTP-oriented
services in containers
- Built for HTTP based solutions
- Allows Slot deployments for Green/Blue
- Replication control (1 app instance per
node, per-site scaling options)
- Supports auto-scale based on Azure
Monitor metrics across the whole
2021 Azure Container Apps 4
5.
CONTAINER OPTIONS INAZURE
Azure Kubernetes Service
- Cluster-as-a-service
- Microsoft manages the master nodes,
worker nodes size/scale defined by you
- Tight-integration with Azure services such
as application gateway, monitor, identity,
etc.
- Auto scale options across nodes, access
to K8s based scaling options for apps
Kubernetes on VMs
- Bring-your-own-solution, run on Azure
IaaS
2021 Azure Container Apps 5
6.
PROBLEM STATEMENT
Why ContainerApps? Why Now?
• More capabilities than Azure Container Instance
• Less involved than Azure Kubernetes Service (AKS)
• FAR less involved than rolling your own Kubernetes on VMs
2021 Azure Container Apps 6
7.
WHY SHOULD WECONSIDER
AZURE CONTAINER APPS?
Azure Container Apps provides turn-key microservice solutions, on-par
with a high performing Kubernetes solution, at scale, and without the
need to deal with any Kubernetes cluster management
2021 Azure Container Apps 7
8.
2021 Azure ContainerApps 8
Container Instance App Service Kubernetes Service Kubernetes on VMs
Simple
Less Flexible
Fewer Options
Complex
More Flexible
Most Options
9.
2021 Azure ContainerApps 9
Container Instance App Service Kubernetes Service Kubernetes on VMs
Container Apps
Simple
Less Flexible
Fewer Options
Complex
More Flexible
Most Options
10.
AZURE CONTAINER APPS
Don’tworry about a
k8s cluster
Like Azure Container Instance, you just deploy the
containers you want. There’s no cluster to worry about.
Blue-Green by default
More options for scaling your instances out than on
Azure App Service with KEDA.
Access to
microservice
management
toolchain
Like AKS, Optional access to microservice management
toolchain Dapr.
gRPC or HTTP for internal service communication is
available.
2021 Azure Container Apps 10
No downtime required for any deployment or scaling
operation
Auto-scaling with
greater depth
WHAT IS DAPR?
ServiceDiscovery /
Service Invocation
Services register with Dapr and
become discoverable via
Dapr’s API which is available to
the container.
Services can be directly
invoked by calling the Dapr API
as a proxy to the service
State Storage
Dapr has a full arsenal of state
storage options, including Blob,
Sql Server, Redis, and many
more
Pub/Sub
Program against a pub/sub
model
2021 Azure Container Apps 16
https://docs.dapr.io/reference/components-
reference/supported-pubsub/
https://docs.dapr.io/reference/components-
reference/supported-state-stores/
And many other solutions…
Actors, Observability, Secret Management, Rate Limits, Authorization, others…
17.
DAPR ON AZURECONTAINER APPS
2021 Azure Container Apps 17
https://docs.microsoft.com/en-us/azure/container-apps/microservices-dapr
THIS IS INPREVIEW!
KEN’S WISH LIST
I need these
• Azure Monitor / Metrics
• Provisioning Diagnostics
• KEDA / Dapr diagnostics
• A little more portal observability
• Clarity on Idle pricing vs Active pricing
I guess I could live without these, for a
while
• Custom Domains / Hostname Binding
TLS / Cert Management
• Virtual Network Integration
(Private Endpoint)
• Managed Identity
• Bash / Shell Container access
It’d be sweet if I could have these
• Key Vault Integration
• Bicep definitions
• Scaling interval/cooldown access
Here’s a list of features you’ll find in other container products in
Azure, but are not yet available in Azure Container Apps
23.
IN SUMMARY
Looks REALLYpromising. Cool stuff
Love the evolution from Container Instance (ACI)
Love the middle ground approach
Not production ready just yet
2021 Azure Container Apps 23
24.
THANK YOU
Ken Sykora
@kensykoraon Twitter
https://www.linkedin.com/in/kensykora/
2021 Azure Container Apps 24
Editor's Notes
#13 Don’t try to draw too many parallels to App Service Environment
#14 Don’t try to draw too many parallels to App Service Environment
#15 Don’t try to draw too many parallels to App Service Environment
#16 Simple Hello World Example:
Deploy w Github
Microservice / Dapr example
Autoscale Example
#18 Don’t try to draw too many parallels to App Service Environment
#19 Simple Hello World Example:
Deploy w Github
Microservice / Dapr example
Autoscale Example
#21 Simple Hello World Example:
Deploy w Github
Microservice / Dapr example
Autoscale Example