Amazon Elastic Container Service for Kubernetes (EKS) is a container hosting service based on the popular Kubernetes container scheduling technology. Like Amazon Elastic Container Service (ECS), EKS automatically leverages EC2 instances and Auto Scaling groups to provide a flexible, elastic application hosting environment.
Even though Kubernetes is a powerful container scheduling technology, it will still run inefficiently if the containers it is running are misconfigured. Kubernetes pods consist of a set of containers that run on a common node, and each container specification has a CPU and memory resource “request” and “limit.” Developers are often challenged when determining the precise values for these settings, either because they don’t know how the app will behave in production, or because they want to hedge against risks. Even though both of these approaches are justifiable, the efficiency impact on container clusters can be significant.
Densify’s machine-learning-based optimization technology—Cloe—learns the utilization patterns of containers and the pods they are part of, and scientifically determines the optimal request and limit values in order to ensure the pods get precisely the resources they need, while at the same time allotting the Kubernetes clusters to run at far higher utilization.
Densify’s Kubernetes optimization causes container density to increase significantly, while application risk is simultaneously reduced. Densify also enables legacy applications that have been containerized to safely run alongside born-in-the-cloud microservices by precisely modeling their workload patterns and optimizing their resource requirements.