Slide 1

Slide 1 text

§ Was SIE ERWARTET § Einordnung von Azure Container Apps im Azure Landscape § Building Blocks in Azure Container Apps § Demos, Demos, Demos § Was Sie NICHT erwartet § Business-Aspekte beim Software-Entwurf § SaaS-all-the-things Cloud-Native: Serverless Containers in Azure with Azure Container Apps Cloud-Native Definition, Praktiken & Patterns

Slide 2

Slide 2 text

Serverless Containers in Azure with Azure Container Apps @ThorstenHans Cloud-Native Consultant

Slide 3

Slide 3 text

Special Day Cloud-Native Business Applications Thema Sprecher Datum, Uhrzeit Cloud-Native: Definition, Praktiken & Patterns Thorsten Hans, Christian Weyer DO, 13. Oktober 2022, 09.00 bis 10.00 Containerbasierte Entwicklung für .NET-Entwickler Tobias Fenster DO, 13. Oktober 2022, 10.30 bis 11.30 Ein Wegweiser durch den Dschungel der Web-API Möglichkeiten Gregor Biswanger DO, 13. Oktober 2022, 12.00 bis 13.00 Cloud-native Microservices für alle: On-Premises oder Cloud – mit Dapr Christian Weyer DO, 13. Oktober 2022, 15.45 bis 16.45 Serverless-Container mit Azure Container Apps Thorsten Hans DO, 13. Oktober 2022, 17.15 bis 18.15

Slide 4

Slide 4 text

Cloud-Native Consultant @ Thinktecture #Azure #Kubernetes #Cloud-Native #Docker Thorsten Hans [email protected] thinktecture.com thorsten-hans.com @ThorstenHans

Slide 5

Slide 5 text

What is Azure Container Apps? • Serverless platform to run containerized applications • Built on top of powerful open-source projects • Kubernetes | Envoy | Dapr | KEDA • Hides most of the complexicity from the customer Introduction

Slide 6

Slide 6 text

Why do we need another service for containers? • There is no serverless pricing-model for AKS • Kubernetes itself could become complex • It’s hard to find, hire, and keep people that really know Kubernetes • Azure Container Instances and Web App for Containers have some “glitches” and “gotchas” Introduction

Slide 7

Slide 7 text

The new Azure landscape for containers* Introduction Azure WebApps for Containers Azure Container Instances Azure Container Apps Azure Kubernetes Service * Azure has more services that can run containers, however those are typically a bit more specialized

Slide 8

Slide 8 text

Supported scenarios in Azure Container Apps Introduction https://learn.microsoft.com/en-us/azure/container-apps/overview

Slide 9

Slide 9 text

Azure Container Apps – Building Blocks Introduction https://learn.microsoft.com/en-us/azure/container-apps/environment

Slide 10

Slide 10 text

Azure Container Apps – Building Blocks Introduction https://learn.microsoft.com/en-us/azure/container-apps/containers

Slide 11

Slide 11 text

Azure Container Apps – Building Blocks Introduction https://learn.microsoft.com/en-us/azure/container-apps/revisions

Slide 12

Slide 12 text

Ingress (Envoy) • Envoy (https://www.envoyproxy.io/) acts as Ingress controller for your workloads • Apps could be exposed to the internet • We can implement traffic split (see SMI Spec) (https://github.com/servicemeshinterface/smi- spec/blob/main/apis/traffic-split/v1alpha4/traffic-split.md) • Apps hosted in the same environment, can interact with each other • In this case, think of a regular Kubernetes service FQDN myservice.mynamespace.svc.cluster.local Platform Capabilities

Slide 13

Slide 13 text

Microservice (with Dapr) • Dapr (Distributed Application Runtime) https://dapr.io is part of Azure Container Apps • Dapr simplifies building distributed application architectures • Dapr components are injected automatically • leveraging Kubernetes sidecar-pattern • Dapr is 100% optional! Platform Capabilitites

Slide 14

Slide 14 text

Autoscaling with KEDA (Kubernetes Event Driven Autoscaling) • KEDA https://keda.sh allows you to scale workloads using scalers • Scalers define scaling-behavior due to external or internal signals • KEDA has 50+ built-in scalers like for example • Azure Service Bus Queue, Redis, Apache Kafka, • Container resource utilization e.g., CPU or memory • Scaling configuration is part of the overall deployment manifest Platform Capabilitites

Slide 15

Slide 15 text

Hello Azure Container Apps Demo

Slide 16

Slide 16 text

How to deploy workloads to Azure Container Apps • Containers can be consumed from any kind of container registry • Public and Private registries are supported • If necessary, authentication is supported via • Username and Password • System-Assigned or User-Assigned Managed Service Identity (MSI) Consuming Docker Images

Slide 17

Slide 17 text

How to deploy Azure Container Apps • Azure Container Apps are regular Azure Resource Manager (ARM) entities • Azure Container Apps can be provisioned using • Project Bicep • Pulumi • Terraform using the AzAPI provider • AzureRM provider support is tracked at https://github.com/hashicorp/terraform- provider-azurerm/issues/14122 • Azure CLI integration is available via extension Deployment and monitoring

Slide 18

Slide 18 text

Provision and Deploy Azure Container Apps Demo

Slide 19

Slide 19 text

Azure Monitor Integration • Seamless Azure Monitor integration • Container logs will be streamed to Azure Log Analytics Workspace (Azure Monitor) • Log Analytics workspace must be linked to the Azure Container App Environment • Logging agents enrich logs written to STDOUT and STDERR with data like • Container App Name • Revision & Environment Name • Container Image Repository & Tag • … Observability

Slide 20

Slide 20 text

How to investigate and troubleshoot • Query Log Analytics Workspace for individual logs • Directly access log stream in your terminal or Azure Portal • Shell access to containers using your terminal or Azure Portal Observability

Slide 21

Slide 21 text

Microservices in Azure Container Apps Demo

Slide 22

Slide 22 text

Get up and running in minutes Starting form zero you can showcase an app running in Azure Container Apps in ~ 3 mins Inner-Loop Performance

Slide 23

Slide 23 text

Inner-Loop perf with az containerapp up Demo

Slide 24

Slide 24 text

o Frictionless runtime for multi-container apps o Probably powerful enough for many use-cases o Overall integration with Azure Service grows continuously o Azure Container Apps is long awaited addition to the Azure service landscape o It’s not a replacement for Azure Kubernetes Service or Web Apps for Containers o Track ACA issues and roadmap https://github.com/microsoft/azure-container-apps/issues?q=label%3Aroadmap Conclusion

Slide 25

Slide 25 text

Samples Articles about Azure Container Apps