Slide 1

Slide 1 text

Event Driven Autoscaling using KEDA Nilesh Gule @nileshgule

Slide 2

Slide 2 text

$whoami { “name” : “Nilesh Gule”, “website” : “https://www.HandsOnArchitect.com", “github” : “https://GitHub.com/NileshGule" “twitter” : “@nileshgule”, “linkedin” : “https://www.linkedin.com/in/nileshgule”, “YouTube” : “https://www.YouTube.com/@nilesh-gule” “likes” : “Technical Evangelism, Cricket”, }

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

@nileshgule KEDA Kubernets based Event Driven Autoscaling Scaling in Kubernetes KEDA Overview TechTalks demo with RabbitMQ Autoscaling with KEDA KEDA Architecture Agenda

Slide 5

Slide 5 text

Pre-requisites • Self contained application with all its dependencies Docker • Orchestrates containers • Self healing • Service discovery • Scaling Kubernetes • Dockerhub / private container registry • Repository for storing container images Container Registry • Managed Kubernetes service on Azure • Native integration with other Azure services like Azure Active Directory (AAD), Azure Container registry (ACR), Azure Container Instances (ACI), Azure Monitor etc. Azure Kubernetes Service (AKS)

Slide 6

Slide 6 text

Kubernetes scaling options Horizontal Pod Autoscaler Vertical Pod Autoscaler Cluster Autoscaler Manual

Slide 7

Slide 7 text

TechTalks Application Architecture TechTalks Consumer TechTalks Producer TechTalks Frontend (UI) Message Broker Polyglot Programming

Slide 8

Slide 8 text

Techtalks-producer Azure-Melbourne-cluster demo-azure-melbourne-rg ngacrregistry acrResourceGroup Techtalks-consumer TechTalks without KEDA

Slide 9

Slide 9 text

@nileshgule Demo

Slide 10

Slide 10 text

Problem statement • Unpredictable workload • Special events (Christmas / New Year / Diwali / Deepavali / Thanksgiving etc.) • Scale based on factors outside of Kubernetes cluster • Scale based on combination of factors • Unexpected event (large number of logs compared to normal)

Slide 11

Slide 11 text

@nileshgule Demo KEDA in action

Slide 12

Slide 12 text

Techtalks-producer Azure-Melbourne-cluster demo-azure-melbourne-rg ngacrregistry acrResourceGroup Techtalks-consumer TechTalks with KEDA - AKS

Slide 13

Slide 13 text

KEDA Architecture

Slide 14

Slide 14 text

ScaledObject apiVersion: keda.k8s.io/v1alpha1 kind: ScaledObject metadata: name: rabbitmq-consumer namespace: default labels: deploymentName: rabbitmq-consumer-deployment spec: scaleTargetRef: deploymentName: rabbitmq-consumer pollingInterval: 5 # Optional. Default: 30 seconds cooldownPeriod: 30 # Optional. Default: 300 seconds minReplicaCount: 1 # Optional. Default: 0 maxReplicaCount: 30 # Optional. Default: 100 triggers: - type: rabbitmq metadata: queueName: techtalks-consumer-techtalks queueLength : ‘5’ authenticationRef: name: trigger-auth-rabbitmq-host

Slide 15

Slide 15 text

KEDA Features

Slide 16

Slide 16 text

Run Containers at scale ❖KEDA supported scale triggers including Azure Event Hub, Apache Kafka, RabbitMQ, MongoDB, MySQL, PostgreSQL etc. ❖Robust autoscaling without managing complex infrastructure ❖Scale to zero and pay only for use by the second https://keda.sh/docs/2.15/scalers/

Slide 17

Slide 17 text

Summary • KEDA helps to auto scale on metrics external to Kubernetes • KEDA does not modify the behavior of the application • Application designed using cloud native approach are more suited for KEDA integrations • KEDA helps to auto scale on composite metric • KEDA supports authentication providers

Slide 18

Slide 18 text

References https://www.youtube.com/@nilesh-gule https://dapr.io/ Dapr Publish and Subscribe Kubernetes Event Driven Autoscaling Serverless - Dapr and Azure Container Apps

Slide 19

Slide 19 text

Containerize Apps Resources https://github.com/NileshGule/pd-tech-fest-2019 https://github.com/NileshGule/cloud-native-ninja https://github.com/NileshGule/techtalks-azure-container-apps-demo Pd tech fest 2019 : https://github.com/NileshGule/pd-tech-fest-2019 Cloud Native Ninja : https://github.com/NileshGule/cloud-native-ninja Azure Container Apps : https://github.com/NileshGule/techtalks-azure-container-apps-demo Slides https://www.slideshare.net/nileshgule/ Slideshare: https://www.slideshare.net/nileshgule/ https://speakerdeck.com/nileshgule/ Speaker Deck: https://speakerdeck.com/nileshgule/

Slide 20

Slide 20 text

Nilesh Gule ARCHITECT | MICROSOFT MVP “Code with Passion and Strive for Excellence” nileshgule @nileshgule Nilesh Gule NileshGule www.handsonarchitect.com https://www.youtube.com/@nilesh-gule

Slide 21

Slide 21 text

#GlobalAzure Q&A