Kubernetes has been described as everything from “awesome!” to “I regret my life choices,” and with 84% of all Kubernetes cloud workloads running on Amazon Web Services (AWS), it should come as no surprise that AWS created Amazon Elastic Kubernetes Service (EKS) to eliminate much of the undifferentiated heavy lifting it often takes to manage.
What do companies like about Amazon EKS? It provides a very consistent, fully supported, managed Kubernetes experience that can manage many of the tasks of maintaining a Kubernetes cluster for you. A few key features of EKS:
- EKS automatically manages the availability and scalability of the Kubernetes control plane nodes responsible for scheduling containers, managing application availability, storing cluster data, and other key tasks
- EKS lets you run your Kubernetes applications on both Amazon Elastic Compute Cloud (EC2) and AWS Fargate
- EKS lets you take advantage of all the performance, scale, reliability, and availability of AWS infrastructure, as well as integrations with AWS networking and security services, such as application load balancers (ALBs) for load distribution, AWS Identity and Access Management (IAM) integration with role-based access control (RBAC), and AWS Virtual Private Cloud (VPC) support for pod networking
Plus, a whole lot of other cool features.
But with great power comes great responsibility, and many people new to using Amazon EKS are surprised to discover how challenging it can be to organize and attribute cloud costs alongside EKS costs. When it comes time to determine which business units are driving Kubernetes spend, allocation challenges leave many companies in the dark.
As the saying goes, “If you can’t measure it, you can’t manage it.” At best, limited Kubernetes spend visibility leads to mystery spend — at worst, it leads to unintentional, unattributable overspending.
CloudZero has a number of capabilities that address this challenge. CostFormation™️, our domain-specific language for complete, real-time allocation, lets customers dynamically choose how to attribute EKS spend, cutting across the tech boundary between Kubernetes and AWS.
How CloudZero Puts You In Charge Of Your EKS Spend
Here’s how CloudZero’s EKS solution works:
- Using Amazon CloudWatch Container Insights, which was built to collect, aggregate, and summarize metrics and logs from EKS, CloudZero can give you an accurate allocation of costs within an EKS cluster, down to the workload, label, or namespace.
- CloudZero uses CostFormation to merge and organize your shared EKS cluster costs, allocating even the costs associated with individual workloads or labels to individual lines of business, applications, and services.
- CloudZero surfaces EKS optimization opportunities by identifying excess idle compute and overprovisioned clusters.
The Power Of EKS + CloudZero
Here’s what you can do when combining EKS with CloudZero:
1. Organize 100% of your EKS spend — however you want to view it
See the menu near the top left of the screenshot below. This menu allows you to view your costs by cluster, namespace, workload, or label, depending on your needs.
2. CloudZero lets you analyze clusters within the context of your business
Cost data means nothing without context. On our business context analysis dashboard, you can use label keys and values to compare metrics within your clusters.
3. Track your spend over time
When you look at costs over time, you can tell how your costs increase or decrease in response to the changes you make. From there, you can use these insights to fuel further optimization efforts.
4. Combine your EKS spend with the rest of your AWS spend to achieve a big-picture view
Most companies have cloud costs outside of Kubernetes as well. Rather than tracking Kubernetes and non-Kubernetes cloud spend separately, CloudZero allows you to combine them and keep an eye on all your data in one place.
Now you can combine the compute cost of Kubernetes with other costs like databases, object stores, or caches.
5. Identify opportunities for optimization
You might notice a particular workload incurring more costs than the others. Or, you may see one workload that runs far more efficiently than the rest.
Seeing these results in graph format makes it easy to pick out opportunities to optimize your Kubernetes infrastructure.