Moving to Kubernetes won’t guarantee lowered cloud costs. This article shares how to manage costs for containerized applications within Kubernetes.
Whether you are using AWS Elastic Container Services (ECS) or any flavor of Kubernetes, this content can help FinOps teams succeed. A core tenet of managing cloud costs is understanding the operating models for our cloud-based workloads. Container technologies allow applications to run independently on shared computing resources, but this creates challenges in cost visibility, resource optimization, and budgeting.
Note that in ECS, containers and service instances are equivalent to pods and nodes in Kubernetes. We will use Kubernetes terminology in this article.
Kubernetes and its other distributions is a container orchestration platform. Containers run an application, and they work off of container images that define all the resources needed to run the application. Kubernetes manages these containers by grouping one or more of them as a pod. The pods can be scheduled and scaled within a cluster of compute nodes.
And then namespaces provide a way to organize different Kubernetes resources such as pods and deployments. A namespace can mimic an organization’s structure, and so you have a single namespace for every team or a namespace for a sandbox environment for developers.
In a previous article, we discussed the contributors to cloud costs and how workloads can contribute to utilized, idle, and unallocated costs. Unallocated and idle costs are waste and represent an underutilized cluster resource. Note that in the unallocated case, you’ve reserved nodes that have no active workloads.
Photo by the author.
There are different strategies to consider when optimizing workloads in Kubernetes. Let’s discuss these in more detail.
#kubernetes #cloud #devops