Ocean automates cloud infrastructure for containers. It continuously analyzes how your containers are using infrastructure, automatically scaling compute resources to maximize utilization without sacrificing availability. Ocean shuffles workloads and then scales down underutilized nodes to ensure everything runs at the lowest cost.
What use cases does this process address?
There are some use cases when scaling down is not possible. One example is Kubernetes node and pod anti-affinity rules. Their purpose is to direct the Kubernetes scheduler to run pods on different nodes. Even if a node is underutilized, anti-affinity rules can prevent Ocean from moving the pod and scaling down the node. You could encounter this situation if a large workload has finished. Your cluster scaled up to handle the workload, but now that it is finished, you are left with multiple underutilized nodes. Ocean would normally consolidate them, but anti-affinity rules are blocking it.
A second example is also configuration related. Ocean can be configured to require a minimum number of nodes at the cluster or virtual node group (VNG) level. As in the previous example, scaling up to handle a workload could have resulted in large nodes being added to the cluster that are no longer needed. If the remaining workloads have been consolidated down to the minimum number of large nodes, what else can Ocean do?
Both situations result in cluster nodes that have unused resources without the ability to scale down for optimization.
To resolve this situation, we have implemented a new optimization process – “Revert to Lower-Cost Node”. This process analyzes the nodes in the cluster and checks for underutilized nodes that Ocean was not able to scale down. Ocean then evaluates the benefit of replacing the nodes with cheaper nodes. This action is part of our goal to help you reduce the cluster cost as much as possible.
How does it work?
Ocean constantly scans the cluster’s nodes utilization. The “revert to lower-cost node” process is applied when a specific set of conditions occur. These include what other scaling activity has happened recently and how long the node has been underutilized. Please refer to the Spot Ocean documentation for additional implementation details.
This new process works in tandem with Ocean’s other cost optimization processes. If the spot market is unhealthy and a cheaper price can be found for a smaller on-demand instance, Ocean will replace the larger spot instance with it. If the cluster is configured to utilize Reserved Instances, the autoscaler will still prioritize using available RI resources first.
What do you need to do to benefit?
This new capability is applied automatically to all Ocean AWS Kubernetes users. There is no additional configuration needed to benefit from this extra layer of cost savings.