Auto-scaling: A good use case of the prediction results from Federator.ai is for auto-scaling pods in Kubernetes. Horizontal Pod Autoscaler (HPA) in Kubernetes has been a key feature in allowing Datadog to scale its platform to keep up with the growing user base, and Watermark Pod Autoscaler (WPA), an open source project created by Datadog, extends the features of the HPA to give you more control over autoscaling your clusters. The HPA employs an algorithm that generates a metric based on the current resource (e.g. CPU) utilization level, and compares the metric to a pre-specified threshold to decide how many pods to increase (or decrease) in the next time interval. The WPA extends the HPA’s algorithm by allowing you to define a range of acceptable metric values (an upper and lower bound), rather than the single threshold that the HPA uses to trigger scaling actions.
Instead of generating the metric based on the current resource utilization level, Federator.ai uses advanced machine learning algorithms to predict the right metric in the next time interval, based on various metrics collected by Datadog to learn about the application characteristics and workload patterns from previous time intervals. By feeding the right metric to WPA, this sophisticated AI solution of Federator.ai enables you to scale the right amount of pod resources at the right time in supporting future workloads of the application.
While Federator.ai can be used for predicting workloads and metrics on any containerized application on Kubernetes, it can also take advantage of application-specific metrics for common applications, further enhancing its efficiency and prediction accuracy in auto-scaling. Many of the application-specific metrics are coming from Datadog’s 400+ integrations.
The figure below shows how Federator.ai works together with WPA to achieve a good auto-scaling solution, using Kafka as an example application.