$30 off During Our Annual Pro Sale. View Details »

Serverless Containers in Azure mit Azure Container Apps

Serverless Containers in Azure mit Azure Container Apps

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

October 13, 2022
Tweet

More Decks by Thorsten Hans

Other Decks in Technology

Transcript

  1. § 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

    View Slide

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

    View Slide

  3. 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

    View Slide

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

    View Slide

  5. 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

    View Slide

  6. 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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  12. 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

    View Slide

  13. 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

    View Slide

  14. 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

    View Slide

  15. Hello Azure Container Apps
    Demo

    View Slide

  16. 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

    View Slide

  17. 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

    View Slide

  18. Provision and Deploy Azure Container Apps
    Demo

    View Slide

  19. 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

    View Slide

  20. 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

    View Slide

  21. Microservices in Azure Container Apps
    Demo

    View Slide

  22. 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

    View Slide

  23. Inner-Loop perf with az containerapp up
    Demo

    View Slide

  24. 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

    View Slide

  25. Samples Articles about Azure Container Apps

    View Slide