Slide 1

Slide 1 text

Azure Container Apps Endlich Serverless?! @ThorstenHans Cloud-Native Consultant

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

• Introduction • Azure Container Apps Capabilities • Hands-On Azure Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda

Slide 4

Slide 4 text

• Introduction • Azure Container Apps Capabilities • Hands-On Azure Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda

Slide 5

Slide 5 text

What is Azure Container Apps? • Serverless platform to run containerized and cloud-native applications • Built on top of battle-proven open-source projects • Kubernetes • Envoy • Dapr • KEDA • Hides most of the complexicity from us as customers Introduction

Slide 6

Slide 6 text

Why do we need another service for containers? • There is no serverless pricing-model for AKS • Kubernetes itself is 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 offers more services that can run containers, however those are typically more specialized

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

• Introduction • Azure Container Apps Capabilities • Hands-On Azure Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda

Slide 12

Slide 12 text

• Introduction • Azure Container Apps Capabilities • Hands-On Azure Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda

Slide 13

Slide 13 text

Supported types of apps Azure Container Apps Capabilities https://learn.microsoft.com/en-us/azure/container-apps/overview

Slide 14

Slide 14 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 Azure Container Apps Capabilities

Slide 15

Slide 15 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! Azure Container Apps Capabilitites

Slide 16

Slide 16 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 60+ 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 Azure Container Apps Capabilitites

Slide 17

Slide 17 text

Hello Azure Container Apps Demo

Slide 18

Slide 18 text

• Introduction • Azure Container Apps Capabilities • Hands-On Azure Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda

Slide 19

Slide 19 text

• Introduction • Azure Container Apps Capabilities • Hands-On Azure Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda

Slide 20

Slide 20 text

Consuming Docker Images • Containers can be consumed from any kind of Container registry • Public and Private Container registries are supported • Authentication is supported via • Username and Password (or Tokens) • System-Assigned or User-Assigned Managed Service Identity (MSI) Hands-On Azure Container Apps

Slide 21

Slide 21 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 supports Container Apps since January 2023 • Azure CLI integration is available via extension Hands-On Azure Container Apps

Slide 22

Slide 22 text

Provision and Deploy Azure Container Apps Demo

Slide 23

Slide 23 text

Observability • Seamless Observability integration • Container logs will be streamed to Azure Log Analytics Workspace (or Azure Monitor) • Log Analytics workspace should 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 Hands-On Azure Container Apps

Slide 24

Slide 24 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 Troubleshooting

Slide 25

Slide 25 text

Microservices in Azure Container Apps Demo

Slide 26

Slide 26 text

• Introduction • Azure Container Apps Capabilities • Hands-On Azure Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda

Slide 27

Slide 27 text

• Introduction • Azure Container Apps Capabilities • Hands-On Azure Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

Inner-Loop perf with az containerapp up Demo

Slide 30

Slide 30 text

• Introduction • Azure Container Apps Capabilities • Hands-On Azure Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda

Slide 31

Slide 31 text

• Introduction • Azure Container Apps Capabilities • Hands-On Azure Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda

Slide 32

Slide 32 text

o Frictionless runtime for multi-container apps o Probably powerful enough for many use-cases o Azure Container Apps is long awaited addition to the Azure service landscape o It’s neither a replacement for AKS nor Web Apps for Containers o Track Azure Container Apps roadmap on GitHub https://github.com/microsoft/azure-container-apps/issues?q=label%3Aroadmap Conclusion

Slide 33

Slide 33 text

Thank you [email protected] @ThorstenHans