Tuesday 28 February 2023

KEDA

KEDA is a Kubernetes-based Event Driven Autoscaler.  It is an open source project that enables the dynamic scaling of containerised workloads running on Kubernetes, based on the number of events received from event sources such as Azure Event Hubs, Azure Queue Storage, Kafka etc.

KEDA is designed to simplify the process of autoscaling containers in Kubernetes by automatically scaling up or down the number of containers based on the load generated by events. This can help to reduce the cost of running containerised workloads and improve the responsiveness of applications during periods of high traffic. With KEDA you can explicitly map the apps you want to use event-driven scale, with other apps continuing to function. This makes KEDA a flexible and safe option to run alongside any number of any other Kubernetes applications or frameworks.

Some of the key features of KEDA include:

  1. Autoscaling: KEDA can automatically scale the number of replicas of a deployment based on the number of events in a queue, such as RabbitMQ or Azure Service Bus.

  2. Event-driven: KEDA supports a variety of event sources, including Azure Event Hubs, Kafka, and AWS Kinesis.

  3. Extensibility: KEDA can be extended to support new event sources or scalers by creating custom Kubernetes operators.

  4. Custom Metrics: KEDA can scale based on custom metrics in addition to event sources.

  5. Flexibility: KEDA can be used with any programming language and framework that can run in Kubernetes.

  6. Efficient resource utilization: KEDA can reduce resource utilization by scaling down to zero replicas when there are no events to process, resulting in lower costs.

  7. Easy integration: KEDA can be easily integrated with other Kubernetes tools and services, such as Prometheus and Grafana.


Disadvantages:

  • Complexity: While KEDA aims to simplify the configuration of autoscaling, it may still be challenging to set up for users who are not familiar with Kubernetes or event-driven architecture.
  • Limited functionality: KEDA is designed specifically for event-driven autoscaling and may not be the best solution for other types of scaling needs.
  • Additional layer: As an additional layer on top of Kubernetes, KEDA can add complexity to an already complex system.


REF: https://keda.sh/

No comments:

Post a Comment