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

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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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