Serverless Implementation using KEDA
Optimization is foundation of serverless or event driven systems as we dont want to scale and keep the resources prepared, if there is no work needs to be done by complex & distributed systems.
We often receive below questions on KEDA
- I have configured HPA on my deployments in Kubernetes , why do i need a KEDA
- Can we use Kubernetes CronJob to achieve the scaling
- Is KEDA, just another buzz word
The answer to them is, no — it is not another buzzword and it is solving the problems of business and here are the answers.
High level functionality of KEDA
HPA — looks for metrics and it will scaledown the pods once it reaches the threshold, in KEDA — the event is worked upon and complete the task and cleared the queue — So the logic is in KEDA.
CronJobs — CronJob is purpose build to deal with schedule tasks and it was not build to deal with load and additional events cannot be handled, except single threaded jobs.
So, it is not a Buzzword and it is solving the complex compute problem using Kubernetes platform.
Where to use:
If you are building ground up leverage and use it in the applications.
Legacy Azure functions/Lambda functions can be migrated to KEDA to have the same platform and reduce the skill gap in SRE teams.
Requirement:
KEDA cannot scale the Kubenetes node, so make sure to enable AKS autoscaler and then deploy KEDA on it.