Automatically optimize your EKS workloads for cost savings, performance, and reliability

As companies scale applications on Kubernetes, optimizing resource allocation becomes critical for maintaining efficient and cost-effective workloads. Managing resource requests in a dynamic Kubernetes environment can be complex and often leads to over-provisioning or under-provisioning of resources. Balancing workload demands and costs is a constant challenge. Despite its powerful scaling capabilities, Kubernetes still requires manual tuning to get the right resource configurations in fast-evolving environments.

What’s New

We’re excited to unveil Container Rightsizing, the latest addition to Compute Copilot, designed specifically to help your business simplify and automate your Kubernetes resource allocation. Container Rightsizing ensures each workload runs at optimal CPU and memory levels without constant manual adjustments. This enables your applications to scale seamlessly and reduce costs by avoiding resource waste.

Optimized Recommendations

Using detailed historical data on the real-world resource consumption of your Kubernetes workloads over the last 30 days, nOps Container Rightsizing produces tailored recommendations for CPU and memory requests at four different service levels. Now you can tailor your resource requests to your Quality of Service (QoS) requirements, with recommendation levels ranging from maximum savings to maximum headroom, maximizing application stability.

The recommendation levels provided are:

  • Maximum savings– most aggressive recommendations for maximum savings
  • Balanced savings– a balance of savings and performance, biased toward savings
  • Balanced performance– a balance of savings and performance, biased toward performance
  • Maximum performance– maximum headroom for maximum workload performance and reliability

Recommendations at these levels are generated by statistically analyzing the resources used by your Kubernetes workloads in your production environment. By default, Container Rightsizing will automatically select the best level for your workload based on its historical resource consumption

Recommendation Policies

Recommendation Policies enable users to tailor recommendations to their unique requirements by leveraging nOps-supplied QoS levels that combine CPU and memory recommendations to meet real world operational requirements. Now you can take advantage of automatic resource allocation while still covering your peak traffic use cases.
nOps provides a few preconfigured recommendation policies that cover common use cases, including a savings-oriented policy and a peak performance policy. Recommendation policies mix and match CPU and memory recommendations to create a custom recommendation combination that matches your use case. For example, our High Availability policy utilizes the maximum performance recommendations for both CPU and memory requests to make sure your workload is never resource-starved. Additionally, policies can have a fixed buffer value for CPU or memory that will be added on top of the selected recommendation for further customization. In the case of our High Availability policy, a buffer of 40 millicores and 150MiB is added to the CPU and memory recommendations respectively.

Automatic Optimization

Automatic optimization lets you put your Kubernetes resource optimization on autopilot. Now you can ensure that all your Kubernetes workloads have the most up-to-date recommendations without manually editing manifests or applying patches

With nOps’ custom Vertical Pod Autoscaler (VPA), you can automatically apply resource recommendations to your workloads whenever they are updated. nOps VPA leverages the industry-standard Kubernetes Vertical Pod Autoscaler, with its security and reliability, to update workloads whenever new recommendations are available. You get the benefits of the VPA with the brains of nOps resource recommendations. Automatic optimization can be enabled or disabled on an individual workload basis, giving you complete control over your cluster. Supported workload types include Deployments, CronJobs, DaemonSets, and StatefulSets.

History of Actions

nOps Container Rightsizing includes a History of Actions dashboard providing a full audit trail of every rightsizing decision, showing when and why adjustments were made to CPU and memory requests. By maintaining a record of historical visibility, this feature makes it easy to:

  • Understand any changes made with transparent audit trails
  • Troubleshoot and perform root-cause analysis (RCA)
  • Validate against organizational policies and cost targets
History of actions dashboard

Automatic Rollback

With Automatic Rollback, you can easily revert container resource limits to their original configurations with one click and no manual overhead. This feature brings greater control, flexibility and ease of use — allowing you to test optimizations risk-free, knowing changes can be seamlessly undone.

How it Works

nOps Container Rightsizing begins with your EKS cluster and the nOps agent. The nOps lightweight agent installed in your cluster during onboarding gathers data about the workloads in your cluster, the resources those workloads are using, and what you’re paying for those resources. This data is uploaded to nOps, where it is processed through our data analytics pipelines to produce recommended request values for CPU and memory. These data analytics pipelines perform statistical analysis on the minute-by-minute real-world CPU and memory consumption of your Kubernetes workloads from at least the last 30 days. The output of this analysis process is recommended values for the CPU and memory requests for each of your workloads. These recommendations are updated on an hourly basis.
As described above, these recommended values are generated at each of four levels, tailored to different savings and QoS targets. These recommendations can be further tailored to your requirements through the application of recommendation policies, enabling you to combine CPU and memory recommendations from any of the available levels together with user defined margins to truly customize your recommendations. Recommendations can be viewed in the container rightsizing dashboard in the Compute Copilot tab and applied manually. Optionally, the nOps Pod Autoscaler can be enabled for your workloads, enabling truly automatic, hands-off application of recommendations, ensuring your workloads are always optimized. Pay only for the resources your Kubernetes workloads actually need to be stable and performant with Compute Copilot Container Rightsizing.

How to Get Started with Container Rightsizing

If you’re already on nOps…

To access Container Rightsizing, simply reach out to your Customer Success Manager or visit our Help Center. If you’re not sure who your CSM is, send our Support Team an email.

If you’re new to nOps…

nOps was recently ranked #1 with five stars in G2’s cloud cost management category, and we optimize $1.5+ billion in cloud spend for our customers.

You can get started with container rightsizing by booking a quick call with one of our AWS experts.