Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Serverless Containers with Azure Container Apps...

Thorsten Hans
February 23, 2023

Serverless Containers with Azure Container Apps @ BASTA Spring 2023

Containerisierte Anwendungen endlich einfach in Kubernetes betreiben, ohne auf Skalierung und Robustheit zu verzichten? All das, ohne dass wir Kubernetes administrieren und beherrschen müssen? Dieses Versprechen gibt Azure Container Apps (ACA), der neuste Serverless-Dienst von Microsoft Azure. Doch was bietet ACA wirklich? Welche Limitierungen gibt es aktuell und werden wir tatsächlich in der Lage sein, uns auf das Lösen von fachlichen Anforderungen zu konzentrieren, anstatt die Infrastruktur zähmen zu müssen? Diese und weitere Fragen beantwortet Azure MVP und Cloud-Native-Enthusiast Thorsten Hans in seinem Vortrag.

Lernen Sie den neuen Serverless-Dienst kennen und sehen Sie, wie die Open-Source-Projekte Dapr und KEDA dazu beitragen, containerbasierte Anwendungen auch ohne Kubernetes professionell zu betreiben.

Thorsten Hans

February 23, 2023
Tweet

More Decks by Thorsten Hans

Other Decks in Technology

Transcript

  1. Special Day Cloud-Native Business Applications Thema Sprecher Datum, Uhrzeit Cloud-Native-all-the-things:

    Definition, Praktiken & Patterns Thorsten Hans, Christian Weyer DI, 21. Februar 2023, 10.45 bis 11.45 Containerbasierte Entwicklung für .NET-Entwickler Tobias Fenster DI, 21. Februar 2023, 12.15 bis 13.15 Was guckst du? Observability von Cloud-Native-Anwendungen – mit OpenTelemetry Thorsten Hans DI, 21. Februar 2023, 15.30 bis 16.30 Cloud-Native Microservices: On-Premises oder in der Cloud – mit Dapr Christian Weyer DI, 21. Februar 2023, 17.00 bis 18.00 Serverless Containers mit Azure Container Apps Thorsten Hans DI, 21. Februar 2023, 19.00 bis 20.00
  2. Cloud-Native Consultant @ Thinktecture #Azure #Kubernetes #Cloud-Native #Docker #Go #Rust

    #Wasm Thorsten Hans [email protected] thinktecture.com thorsten-hans.com @ThorstenHans
  3. • Introduction • Azure Container Apps Capabilities • Hands-On Azure

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

    Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda
  5. 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
  6. Why do we need yet another service for containers? •

    There is no serverless pricing-model for Azure Kubernetes Service (AKS) • AKS (and vanilla Kubernetes) 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
  7. 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
  8. • Introduction • Azure Container Apps Capabilities • Hands-On Azure

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

    Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda
  10. Ingress (Envoy) • Envoy https://www.envoyproxy.io/ acts as Ingress controller for

    your workloads • Apps could be exposed to the internet • We can use 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
  11. Microservice (with Dapr) • Dapr 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
  12. 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, … • Scaling configuration is part of the overall deployment manifest Azure Container Apps Capabilitites
  13. • Introduction • Azure Container Apps Capabilities • Hands-On Azure

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

    Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda
  15. 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
  16. 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 • finally, also available in the AzureRM provider (since January 2023) • Azure CLI integration is available via extension Hands-On Azure Container Apps
  17. 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
  18. 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
  19. • Introduction • Azure Container Apps Capabilities • Hands-On Azure

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

    Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda
  21. 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
  22. • Introduction • Azure Container Apps Capabilities • Hands-On Azure

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

    Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda
  24. 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 not a replacement for AKS or Web Apps for Containers o Track Azure Container Apps roadmap on GitHub https://github.com/microsoft/azure-container-apps/issues?q=label%3Aroadmap Conclusion