Kubernetes
Learn how Sedai autonomously optimizes Kubernetes clusters and workloads to achieve your performance, cost, and availability goals.
Last updated
Learn how Sedai autonomously optimizes Kubernetes clusters and workloads to achieve your performance, cost, and availability goals.
Last updated
To view optimization opportunities for Kubernetes, go to Optimization > Opportunities and select the Containers tab.
Sedai supports self-managed or hosted clusters and optimizes at both workload and container levels.
For AWS, Sedai supports optimizing clusters with either Elastic Compute Service (ECS) or Fargate services.
Sedai can target optimizations to reduce cloud costs and improve resource efficiency as well as to improve performance efficiency, which allows for greater scalability, and ultimately improves overall reliability. Kubernetes optimizations includes the following:
Workload Rightsizing: Determines optimal CPU and memory for a particular workload
Optimizing cluster configurations and node groups: Analyzes cluster CPU and memory configurations and determines the optimal number of node groups for peak efficiency
When generating optimization opportunities for Kubernetes clusters, Sedai will take into consideration any predefined parameters for node groups, which can be set from Cluster Constraints in settings.
Sedai builds an internal model of application behavior based on available metrics that is tailored to each workload’s specific conditions. This means Sedai’s resource configurations can vary for the same workload across different clusters, depending on factors such as traffic and underlying hardware configurations.
Sedai’s primary goal is to get the best performance output for each workload that aligns with your optimization goals. To achieve this, the following knobs are adjusted:
Sedai builds behavior models based on monitoring metrics, which can broadly categorized into the following buckets:
Job Units/Traffic: Traffic or job unit metrics that offer valuable insights into the workload and seasonal patterns managed by applications
Performance: Latency or any other measure of application performance
Resource Utilization: Includes saturation metrics to assess an application's resource requirements and identify any specific resource affinities
Errors: In addition to performance metrics, error metrics offer valuable insights into an application's inflection points and help validate when things aren't functioning as expected
Node opportunities are currently available in Datapilot across most cluster providers and autoscaler configurations. Copilot executions are available for Kubernetes Cluster Autoscaler (GA: GKE; Roadmap: AWS, Azure, Karpeneter).
Sedai uses workload-level information to identify resource requirements and identify the best infrastructure offering from your cloud provider. The system examines the entire cluster, categorizes applications based on their resource affinity, and aligns these needs with cloud provider offerings. Sedai recommends the most efficient node pool groups and SKU options for optimal performance at the lowest cost. To generate these recommendations, Sedai maintains an internal database of SKU options (virtual machine family offerings) from the cluster provider, along with attributes such as CPU cores, memory capacity, network capacity, storage constraints, and performance metrics like coremark scores, to effectively match resource requirements.
Sedai also allows you to retain existing node pool classifications. In these cases, Sedai recommends the appropriate machine type for the workloads within each node pool and estimates the number of replicas needed to meet the workload’s resource requirements.
Vertical Sizing
(Container level)
CPU: Requests, Limits
Memory: Requests, Limits
Horizontal Sizing
(Workload level)
Replicas (for supported workloads)
HPA Configuration
For supported workloads, Sedai can identify the resource affinity for each workload (e.g. CPU-bound vs. memory-bound). The system identifies the right metrics to be used for scaling configuration and also the appropriate threshold for it.