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

Kubernetes goes Serverless with Azure Container Apps

Kubernetes goes Serverless with Azure Container Apps

Meet the latest addition to Microsoft’s serverless offering – Azure Container Apps (ACA). Leverage scaling, resilience, and self-healing capabilities offered by Kubernetes without having the burden to manage and master Kubernetes itself. That’s the mission statement from Microsoft when it comes to ACA. But how does the new serverless runtime for containerized architectures work? What does it offer and what does not? And will developers be able to focus just on solving business requirements instead of taming the cloud infrastructure?

Join this talk by Azure MVP and cloud-native enthusiast Thorsten Hans and get your questions answered.

Thorsten Hans

December 01, 2022
Tweet

More Decks by Thorsten Hans

Other Decks in Technology

Transcript

  1. • Introduction • Azure Container Apps Capabilities • Hands-On Azure

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

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

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

    Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda
  8. 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
  9. 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
  10. 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 Azure Container Apps Capabilitites
  11. • Introduction • Azure Container Apps Capabilities • Hands-On Azure

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

    Container Apps • Inner-Loop performance with Azure Container Apps • Conclusion Agenda
  13. Consuming Docker Images • 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) Hands-On Azure Container Apps
  14. 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 Hands-On Azure Container Apps
  15. Observability • 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 • … Hands-On Azure Container Apps
  16. 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
  17. • Introduction • Azure Container Apps Capabilities • Hands-On Azure

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

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

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

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