Kubernetes MegaBill
Updated over a week ago

Intro to Finout’s MegaBill - Multi-Cloud K8s Management

In today's world, it's common for companies to use a multi-cloud strategy. Companies need to expand to more than one cloud for a variety of reasons:

  1. Compliance - Customers that are willing to have their data only on a specific cloud.

  2. Redundancy - In a world where multiple cloud providers can experience critical service outages for a substantial amount of time, businesses must always have a backup plan.

  3. Commercial -If a business can indicate that they have the option to move to another cloud, they are in a much stronger position to negotiate their next cloud commitment.

If we adopt a multi-cloud strategy, we must also consider the implications for a multi-cloud Kubernetes (K8s) architecture. Incorporating K8s into our tech stack is already complex for a single cloud, but using it in a multi-cloud environment can be even more challenging.

K8s has already proven to be difficult on its own and presents various challenges including:

  1. Operation: The ability to configure and orchestrate multiple workloads correctly in milliseconds.

  2. Cost allocation: Understanding the cost of a single pod can be challenging as cloud vendors have their implementation of K8s (EKS, GKE, AKS, etc.) that do not necessarily provide visibility into the cost of a single workload. This often requires purchasing a 3rd party tool.

  3. Security: There are inherent risks associated with managing K8s in a multi-cloud environment.

When it comes to multi-cloud multi-K8s installations, chaos is inevitable. To manage such complexity, users must find the right tools to address these use cases:

  1. MegaBill - A modern FinOps needs to be able to analyze all their costs in a single solution, without switching tabs or using different parts of the tool for different clouds. Dashboards must be built for all cloud providers and specifically for all K8s resources to achieve true multi-cloud cost management.

  2. Cost allocation - After consolidating costs in a single place, users need the ability to allocate and rename costs easily to a single value. Using Namespaces, pod labels and more is great for a single K8s architecture, but once deployed to multiple clouds it becomes difficult. The simplest show-back use case breaks down when your K8s deployment on your two clouds isn't aligned. It's essential to allocate all K8s deployments & namespaces to business logic.

  3. Think about scale (and the added cost) - Multiple cloud vendors running K8s means more clusters, but beware of tools that price by the number of clusters. The pricing of monitoring tools should never influence infrastructure. A complex system requires defining the right configuration and scaling with no issues.

  4. K8s cost monitoring strategy- Not every K8s monitoring tool needs an agent present inside the cluster itself, and this can be a security and operational risk. Instead, why not use existing monitoring tools like DataDog or Prometheus, which we may already be paying for? All that's needed for K8s cost allocation is their usage metrics, and the monitoring tool should work the same way for all clouds.

  5. Cost avoidance and rightsizing - Running on multiple clouds requires a cost governance process. All K8s resources, whether from GCP or Azure, should be in a single place to manage anomalies and make rightsizing decisions. Cost waste is money down the drain, regardless of the cloud provider.

To avoid cost waste, users must have all their Kubernetes resources, regardless of the cloud provider, in a single place to manage anomalies and make right-sizing decisions. In summary, Kubernetes presents challenges in a multi-cloud world, but the right monitoring strategy and cost management tool can help users overcome them.

Finout Kubernetes MegaBill

The Kubernetes MegaBill is a valuable feature within Finout that simplifies cost allocation for users. It enables users to effortlessly view and allocate expenses across all native Kubernetes concepts such as namespaces, k8s labels, and all k8s resource types. This feature streamlines expense tracking and enables effective cost management.

Moreover, the MegaBill allows users to assign costs to organizational concepts such as teams, products/projects, departments, or environments, which provides a more comprehensive way to track and manage expenses. This feature enhances the visibility of spending, empowering organizations to make informed decisions on how to allocate resources.

To help users better understand the metrics presented in the MegaBill, this document provides a detailed explanation of each metric. Additionally, it offers instructions on how to customize the displayed data in the MegaBill to cater to users' specific needs, making expense tracking more efficient.

Overall, the Kubernetes MegaBill is a critical tool for any organization that employs Kubernetes. With its ability to allocate costs across multiple organizational concepts and native Kubernetes concepts, it presents a comprehensive view of an organization's spending, facilitating better decision-making and cost management.

Element

Description

Select View

Select the relevant saved view from the view list or search for a view name in the search bar.

Filter

Filter the costs by adding or excluding any specific costs.

Group By

Group costs by one or several concepts. Add custom labels

Date Range

Will report the last 30 days by default. Pick one of the options to change the range or create a custom date range.

Periodical Range

Will report on a daily basis by default. Manually change to weekly/monthly.

Show Costs As

Will show cost as amortized Cost. Pick one of the options to change the cost type.

Add Widget to Dashboard

Save the current widget to an existing or new dashboard.

Download CSV

You can download your K8’s view to a CSV file.

Select view

Choose the relevant view to display from the view list. Apply a filter to find the view that pertains to AWS, GCP, Global, Snowflake, Kubernetes, or Datadog. Alternatively, use the search bar to search for the view by its name.

Filter

The filter feature in Kubernetes allows you to include or exclude resources such as namespaces, deployments, clusters, and Kubernetes labels. This helps you analyze increases in spending or identify key cost drivers at different levels of aggregation such as deployments or pods. When you apply a filter, only resources with a matching value will be displayed, while excluded resources will not be shown.

Additionally, these filters can be applied to external out-of-cluster asset tags as well.

Group by

Here you can group costs by Kubernetes resources such as namespace, deployment, and cluster or by labels such as node labels and pod labels to see the specific costs in the widget.

Date range

Select the date range of the widget by customizing the start and end dates, or by using one of the preset options.

Periodical range

Select the periodical range of the widget by choosing one of the three options: Daily, Weekly, or Monthly.

Show costs as

Select the relevant cost view out of five options: Net Amortized Cost, Amortized Cost, Unblended Cost, Net Unblended Cost, or Blended Cost.

Add a widget to a dashboard

Add the widget straight to either an existing dashboard or a new dashboard. Once you have clicked on the Add to Dashboard option, you will be able to give your widget a name and choose the relevant dashboard or type in a new dashboard name to create a new one.

Once added, you will be able to go straight to the dashboard that includes the added widget.

To edit the widget- you are required to go to the dashboard with the added widget, and there you will be able to edit your widget and customize it.

Download CSV

Download the widget as a CSV file.

Still need help? Please feel free to reach out to our team at [email protected].

Did this answer your question?