Native integration of Cloudability Advanced Containers allocation data with Cloudability Core for EKS Fargate
Summary
Enable Kubernetes allocation data collected by Cloudability Advanced Containers (CAC/Kubecost) for Amazon EKS Fargate workloads to be available natively in Cloudability Core for reporting, Business Mapping, and telemetry-based Cost Sharing.
Current Situation
Cloudability Advanced Containers successfully collects and displays Kubernetes cost allocation data for EKS Fargate workloads, including:
Cluster
Namespace
Workload
CPU and memory costs
Idle costs
Shared costs
Allocation/chargeback information
However, this information is not currently available in Cloudability Core through Container Insights for EKS Fargate.
As a result, namespaces and the allocation calculated by CAC cannot be directly used in:
Cloudability Business Mapping
Cloudability reports
Cost Sharing as a telemetry-based allocation driver
Application/showback reporting in Cloudability Core
Use Case
The customer needs to allocate AWS EKS Fargate costs to business applications based on the Kubernetes namespaces and actual workload allocation available in CAC.
For example:
AWS / Cloudability Cost
↓
EKS Fargate
↓
CAC / Kubecost allocation
↓
Namespace / Application
↓
Business Mapping
↓
Cost Sharing
↓
Application Showback
CAC already has the information required to perform this allocation, but Cloudability Core cannot consume it for Fargate workloads.
Current Workaround
We were able to build a workaround using the AWS CUR Resource ID.
For EKS Fargate, the Resource ID contains information such as:
pod/<cluster>/<namespace>/<workload>/<pod>
We created Business Mapping rules based on the namespace contained in the Resource ID.
We also created a Kubernetes No Mapeado category to capture Kubernetes costs that cannot yet be associated with a known business application.
CAC Collections are then used separately to understand the proportional allocation of business and shared Kubernetes workloads.
Although this provides a temporary solution, it has several limitations:
It depends on AWS Resource ID naming and structure.
It is AWS/Fargate-specific.
It does not leverage the Kubernetes allocation already calculated by CAC.
Shared and idle allocation must be reconciled manually.
The CAC allocation cannot be directly consumed by Cloudability Cost Sharing.
It creates additional Business Mapping maintenance.
Requested Enhancement
Allow Cloudability Core to consume the Kubernetes allocation data generated by Cloudability Advanced Containers for EKS Fargate.
At minimum, the following dimensions should be available in Cloudability Core:
Cluster
Namespace
Workload
Controller
Pod
These dimensions should be usable in:
Cloudability Reports
Business Mapping
Views
Dashboards
Telemetry-based Cost Sharing
Ideally, Cloudability Cost Sharing should also be able to use CAC allocation data as a native telemetry source, allowing Cloudability financial costs to be distributed using Kubernetes usage/allocation percentages calculated by CAC.
Expected Behavior
For example, if CAC determines that an EKS Fargate cost pool is allocated as:
Application A 45%
Application B 30%
Application C 15%
Application D 10%
Cloudability should be able to use those percentages as the telemetry driver to distribute the corresponding AWS cost pool.
This would allow:
Cloudability
Financial source of truth
+
CAC
Kubernetes allocation telemetry
↓
Native Cost Sharing
↓
Application-level showback / chargeback
Business Value
This capability would:
- Provide native showback/chargeback for EKS Fargate workloads.
- Remove the need for manual Resource ID parsing.
- Improve reconciliation between AWS billing and Kubernetes allocation.
- Reuse the telemetry that CAC already collects.
- Reduce Business Mapping maintenance.
- Allow customers to use Cloudability as the financial source of truth while CAC provides the Kubernetes allocation driver.
- Provide a consistent FinOps experience across EC2-backed and Fargate-based Kubernetes environments.
Key Requirement
The main requirement is:
Kubernetes allocation data that is already available in Cloudability Advanced Containers for EKS Fargate should be consumable by Cloudability Core and usable as a dimension and/or telemetry source for Business Mapping and Cost Sharing.
At this time, we are still working on ensuring that CAC data flows into all relevant areas of Cloudability and so this gap isn't specific to EKS Fargate (which is technically unsupported in Kubecost/CAC to begin with). Once the data pipelines are fully unified, any of the CAC data should be available to Cloudability.