Azure Container
Apps with .NET
MVP Juan Rafael
Solutions Architect
@jlc_rve
Azure Container Apps
Generally Available
Serverless containers for microservices
Build modern apps on open source
Focus on apps, not infrastructure
Scale dynamically based on events
Envoy
Kubernetes KEDA Dapr
What can you build with Azure Container Apps?
AUTO-SCALE CRITERIA
Scaling is determined
by the number of
concurrent HTTP requests
Scaling is determined
by the level of CPU
or memory load
Individual microservices can
scale independently using
any KEDA scale triggers
Scaling is determined
by the number of
concurrent HTTP requests
Scaling is determined
by the number of
messages in the queue
API
endpoints
Background
processing
Microservices
Web
Apps
Event-driven
processing
E.g., API app with HTTP
requests split between
two revisions of the app
E.g., Continuously
running background process
transforms data in a database
Microservices architecture
with the option to
integrate with Dapr
E.g., Web app with custom
domain, TLS certificates, and
integrated authentication
HTTP TRAFFIC
REVISION 2
REVISION 1
80% 20%
MICROSERVICE B
MICROSERVICE C
MICROSERVICE A
E.g., Queue reader app
that processes messages
as they arrive in a queue
Azure Container Apps
Overview — concepts
and terminology
Container app 1
Revision 1 Revision 2
Replica Replica
Container app 2
Revision 1 Revision 2
Replica Replica
Environment (virtual network boundary)
Replica Replica
Container(s) Container(s) Container(s) Container(s)
Container(s) Container(s)
Environments
Environments define an
isolation and observability
boundary around a
collection of container
apps deployed in the
same virtual network
Environment (virtual network boundary)
Container apps
Individual apps or
microservices
Container app 1
Container app 2
Environment (virtual network boundary)
Revisions
Revisions are
immutable version
snapshots of a
container app
Container app 1
Revision 1 Revision 2
Container app 2
Revision 1 Revision 2
Environment (virtual network boundary)
Replicas
Instances of a revisions
that are created or
removed based on
scaling rules
Container app 1
Revision 1 Revision 2
Replica Replica
Container app 2
Revision 1 Revision 2
Replica Replica
Environment (virtual network boundary)
Replica Replica
Containers
Containers in Azure
Container Apps can use
any and development
stack of your choice
Container app 1
Revision 1 Revision 2
Replica Replica
Container(s)
Container app 2
Revision 1 Revision 2
Replica Replica
Container(s) Container(s)
Environment (virtual network boundary)
Container(s) Container(s) Container(s)
Replica Replica
Ingress
Internal or external
visibility with TLS
termination and
support for HTTP/1.1
and HTTP/2. Also
supports TCP.
Container app 1
Revision 1 Revision 2
Ingress
80% 20%
Environment (virtual network boundary)
Replica Replica
Container(s) Container(s) Container(s) Container(s)
Replica Replica
Demo
Azure Cosmos DB
Azure
Cosmos DB
Azure Cosmos DB
Azure
Cosmos DB
Azure Service Bus Topic
Serverless microservices: Contoso Retail
End user
Container Apps Environment
Order Service Loyalty Service
Order UI
Application autoscaling made simple
Open-source, extensible, and vendor agnostic
Kubernetes-based Event
Driven Autoscaler
Drive the scaling of any container
based on a growing list of 35+
event sources, known as: scalers
keda.sh
Intelligently scale your event-driven
applications
Out-of-the-box scalers for various vendors,
databases, messaging systems, telemetry
systems, CI/CD, and more
Event-driven Built-in scalers
Support for triggers across variety of cloud
providers & products
Bring rich scaling to every workload
Vendor-agnostic Rich capabilities
Metrics Adapter | Controller | Scaler
Azure Cosmos DB
Azure
Cosmos DB
Azure Cosmos DB
Azure
Cosmos DB
Azure Service Bus Topic
Serverless microservices: Contoso Retail
End user
Container Apps Environment
Order Service Loyalty Service
Order UI
Azure Cosmos DB
Azure
Cosmos DB
Azure Cosmos DB
Azure
Cosmos DB
Azure Service Bus Topic
Serverless microservices: Contoso Retail
End user
Container Apps Environment
Order Service Loyalty Service
Order UI
Microservices using any language or framework
Any cloud or edge infrastructure
Distributed Application
Runtime
Portable, event-driven, runtime for
building distributed applications
across cloud and edge
dapr.io
Microsoft services written in any code or framework
HTTP API gRPC API
Service-to-
service
invocation
State
management
Publish
and
subscribe
Resource
bindings
and triggers
Actors Observability Extensible
Secrets
Hosting infrastructure
Azure Arc On-premises
Azure Cosmos DB
Azure
Cosmos DB
Azure Cosmos DB
Azure
Cosmos DB
Azure Service Bus Topic
Serverless microservices: Contoso Retail
End user
Container Apps Environment
Dapr API
Order Service
Dapr API
Loyalty Service
Dapr API
Order UI
Demo
Resources
Download .NET 8
aka.ms/get-dotnet-8
Lorem ipsum
hyperlink
Lorem ipsum
hyperlink
Lorem ipsum
hyperlink
Download .NET 8
https://aka.ms/get-dotnet-8

Azure Container Apps

  • 1.
    Azure Container Apps with.NET MVP Juan Rafael Solutions Architect @jlc_rve
  • 2.
    Azure Container Apps GenerallyAvailable Serverless containers for microservices Build modern apps on open source Focus on apps, not infrastructure Scale dynamically based on events Envoy Kubernetes KEDA Dapr
  • 3.
    What can youbuild with Azure Container Apps? AUTO-SCALE CRITERIA Scaling is determined by the number of concurrent HTTP requests Scaling is determined by the level of CPU or memory load Individual microservices can scale independently using any KEDA scale triggers Scaling is determined by the number of concurrent HTTP requests Scaling is determined by the number of messages in the queue API endpoints Background processing Microservices Web Apps Event-driven processing E.g., API app with HTTP requests split between two revisions of the app E.g., Continuously running background process transforms data in a database Microservices architecture with the option to integrate with Dapr E.g., Web app with custom domain, TLS certificates, and integrated authentication HTTP TRAFFIC REVISION 2 REVISION 1 80% 20% MICROSERVICE B MICROSERVICE C MICROSERVICE A E.g., Queue reader app that processes messages as they arrive in a queue
  • 4.
    Azure Container Apps Overview— concepts and terminology Container app 1 Revision 1 Revision 2 Replica Replica Container app 2 Revision 1 Revision 2 Replica Replica Environment (virtual network boundary) Replica Replica Container(s) Container(s) Container(s) Container(s) Container(s) Container(s)
  • 5.
    Environments Environments define an isolationand observability boundary around a collection of container apps deployed in the same virtual network Environment (virtual network boundary)
  • 6.
    Container apps Individual appsor microservices Container app 1 Container app 2 Environment (virtual network boundary)
  • 7.
    Revisions Revisions are immutable version snapshotsof a container app Container app 1 Revision 1 Revision 2 Container app 2 Revision 1 Revision 2 Environment (virtual network boundary)
  • 8.
    Replicas Instances of arevisions that are created or removed based on scaling rules Container app 1 Revision 1 Revision 2 Replica Replica Container app 2 Revision 1 Revision 2 Replica Replica Environment (virtual network boundary) Replica Replica
  • 9.
    Containers Containers in Azure ContainerApps can use any and development stack of your choice Container app 1 Revision 1 Revision 2 Replica Replica Container(s) Container app 2 Revision 1 Revision 2 Replica Replica Container(s) Container(s) Environment (virtual network boundary) Container(s) Container(s) Container(s) Replica Replica
  • 10.
    Ingress Internal or external visibilitywith TLS termination and support for HTTP/1.1 and HTTP/2. Also supports TCP. Container app 1 Revision 1 Revision 2 Ingress 80% 20% Environment (virtual network boundary) Replica Replica Container(s) Container(s) Container(s) Container(s) Replica Replica
  • 11.
  • 12.
    Azure Cosmos DB Azure CosmosDB Azure Cosmos DB Azure Cosmos DB Azure Service Bus Topic Serverless microservices: Contoso Retail End user Container Apps Environment Order Service Loyalty Service Order UI
  • 13.
    Application autoscaling madesimple Open-source, extensible, and vendor agnostic Kubernetes-based Event Driven Autoscaler Drive the scaling of any container based on a growing list of 35+ event sources, known as: scalers keda.sh Intelligently scale your event-driven applications Out-of-the-box scalers for various vendors, databases, messaging systems, telemetry systems, CI/CD, and more Event-driven Built-in scalers Support for triggers across variety of cloud providers & products Bring rich scaling to every workload Vendor-agnostic Rich capabilities Metrics Adapter | Controller | Scaler
  • 14.
    Azure Cosmos DB Azure CosmosDB Azure Cosmos DB Azure Cosmos DB Azure Service Bus Topic Serverless microservices: Contoso Retail End user Container Apps Environment Order Service Loyalty Service Order UI
  • 15.
    Azure Cosmos DB Azure CosmosDB Azure Cosmos DB Azure Cosmos DB Azure Service Bus Topic Serverless microservices: Contoso Retail End user Container Apps Environment Order Service Loyalty Service Order UI
  • 16.
    Microservices using anylanguage or framework Any cloud or edge infrastructure Distributed Application Runtime Portable, event-driven, runtime for building distributed applications across cloud and edge dapr.io Microsoft services written in any code or framework HTTP API gRPC API Service-to- service invocation State management Publish and subscribe Resource bindings and triggers Actors Observability Extensible Secrets Hosting infrastructure Azure Arc On-premises
  • 17.
    Azure Cosmos DB Azure CosmosDB Azure Cosmos DB Azure Cosmos DB Azure Service Bus Topic Serverless microservices: Contoso Retail End user Container Apps Environment Dapr API Order Service Dapr API Loyalty Service Dapr API Order UI
  • 18.
  • 19.
    Resources Download .NET 8 aka.ms/get-dotnet-8 Loremipsum hyperlink Lorem ipsum hyperlink Lorem ipsum hyperlink
  • 20.