View Categories

Kubernetes and Containers Explained

Introduction to Kubernetes and Containers 

Kubernetes is an open-source container orchestration platform for automating deployment, scaling, and management of containerized applications. Organizations that run multiple, distinct workloads can use Kubernetes to isolate each of these workloads in distinct containers. This allows each workload to be developed, scaled, adjusted, or removed without affecting any of the organization’s other workloads.   

Kubernetes can orchestrate both instance-based computing resources as well as serverless services.  

AWS provides a managed Kubernetes service, called Elastic Kubernetes Service, or EKS. It also provides its own containerization service, through its Elastic Container Service, or ECS.  

Please note: Currently, Tailpipe only calculates the emissions of AWS’ Kubernetes and container services (EKS and ECS). 

 

Instance-based Kubernetes and Containers 

If Kubernetes orchestrates instance-based computing resources, it uses cloud computing in a similar way to ‘traditional’ instance- or virtual-machine-based cloud computing. Tailpipe therefore calculates the emissions of this usage in the same way as non-containerized instances. This methodology is detailed in Operational Emissions and Embodied Emissions. Tailpipe can calculate accurate and granular emissions data for cloud compute Kubernetes usage based on the CPU and memory utilization data that Cloud Service Providers deliver in an organization’s Usage and Billing Reports.    

In AWS, instance-based Kubernetes (EKS) and containers (ECS) can be delivered through the Elastic Cloud Compute (EC2) service. Because AWS’ Cost and Usage Reports do not distinguish between instances used for regular compute workloads and instances used for Kubernetes workloads, it is not possible to calculate the quantity of emissions that specifically result from Kubernetes workloads. 

See An Overview of the Tailpipe Methodology for an explanation of how Tailpipe calculates instance-based emissions, as well as worked examples. 

 

Serverless Kubernetes 

EKS and ECS can also be used to orchestrate serverless services, through AWS Fargate. See Serverless Explained for an explanation of how Tailpipe calculates the emissions from serverless cloud services.