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

Serverless Event Driven Containers with KEDA

Serverless Event Driven Containers with KEDA

Slides from the OSSDays conference (https://ossdays.konfhub.com/). The session demonstrated the power of Kubernetes based Event Driven Autoscaling (KEDA) to scale RabbitMQ consumer into serverless Azure Container Instances (ACI) .

Nilesh Gule

October 30, 2020
Tweet

More Decks by Nilesh Gule

Other Decks in Technology

Transcript

  1. $whoami { “name” : “Nilesh Gule”, “website” : “https://www.HandsOnArchitect.com", “github”

    : “https://GitHub.com/NileshGule" “twitter” : “@nileshgule”, “linkedin” : “https://www.linkedin.com/in/nileshgule”, “likes” : “Technical Evangelism, Cricket”, “co-organizer” : “Azure Singapore UG” }
  2. @nileshgule KEDA Kubernets based Event Driven Autoscaling Serverless KEDA autoscaling,

    extending to serverless Azure Container Instences (ACI) Scaling in Kubernetes KEDA Overview KEDA Architecture TechTalks demo app with RabbitMQ Autoscaling with KEDA Serverless container with ACI Agenda
  3. @nileshgule TechTalks Demo – Kubernetes deployment https://github.com/NileshGule/pd-tech-fest-2019  Manifest files

    describe Deployment and Service  Helm charts to deploy third-party apps / services  Octant – visualize k8s cluster  Kubectl to deploy Manifest
  4. @nileshgule RabbitMQ Demo – KEDA Event driven autoscaling  RabbitMQ

    event source  KEDA autoscaler to scale consumer deployment using serverless Azure Container Instances (ACI) 1000 (configurable) messages Batch of 50 (configurable) messages https://github.com/NileshGule/pd-tech-fest-2019
  5. 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: hello queueLength : ‘5’ authenticationRef: name: trigger-auth-rabbitmq-host
  6. Azure Blob Storage Azure Event Hub Azure Log Analytics Azure

    Service Bus Queues and Topics Azure Storage Queues ActiveMQ Artemis Kafka Prometheus RabbitMQ Redis Streams Redis Lists Liiklus NATS Huawei Cloudeye AWS CloudWatch AWS Kinesis Stream AWS Simple Queue Service GCP PubSub Azure functions MySQL PostgreSQL https://keda.sh/docs/2.0/scalers/
  7. Summary • Single purpose lightweight component • Any Kubernetes cluster

    (1.16+) • Extends Kubernetes with event driven capabilities • No overwriting or duplication of existing functionalities • Flexible and safe to run alongside any other Kubernetes framework or application • Support 25+ auto scalers out of the box KEDA
  8. KEDA AKS cluster-autoscalar Virtual Node Horizontal pod autoscale virtual kubelet

    https://azure.microsoft.com/mediahandler/files/resourcefiles/kubernetes-learning- path/Kubernetes%20Learning%20Path%20version%201.0.pdf
  9. Thank you very much Code with Passion and Strive for

    Excellence https://www.slideshare.net/nileshgule/presentations https://speakerdeck.com/nileshgule/
  10. Nilesh Gule ARCHITECT | MICROSOFT MVP “Code with Passion and

    Strive for Excellence” nileshgule @nileshgule Nilesh Gule NileshGule www.handsonarchitect.com
  11. Q&A