Google Cloud delivers powerful options for hosting cloud services and analytics workloads, but it can be challenging to purchase the right mix of resources, and to purchase them in the right way:
Densify’s Cloud-Learning Optimization Engine—Cloe—uses Google Stackdriver APIs to gather raw utilization data, and engages machine learning to model the detailed patterns of activity of GCE instances. Densify then analyzes these patterns against the complete set of GCE catalog offerings, using benchmarks to normalize data across different instance types. This provides a precise set of recommendations that map each workload to the optimal instance configuration, which then feeds Densify’s self-optimization automation process.
Densify also models custom machine types, and can recommend custom instance configurations with independent CPU and memory specifications based on actual workload patterns. This enables you to easily and automatically leverage this feature, providing a better fit for workloads with unusual resource consumption profiles.
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 often have challenges coming up with precise values for these settings, either because they cannot project how the app will behave in actual use, or because they are risk-averse and want to play it safe. Both of these approaches are justifiable—but the efficiency impact on the container clusters can be significant.
Densify solves this problem by learning the utilization patterns of containers and the pods of which they are members, and scientifically determining the optimal request and limit values in order to ensure the pods get precisely the resources they need, while at the same time enabling the Kubernetes clusters to run at far higher utilization.
Densify also automates the process of updating the container manifests. By supplying a single line of code that can be included in popular templating technologies—such as Terraform—Densify makes container applications self-optimizing. This enables developers to focus efforts on their apps, and lets infrastructure managers maintain high efficiency and safety by using automation to close the optimization loop.