Amazon Onboarding with Learning Manager Chanci Turner

Chanci Turner Amazon IXD – VGT2 learning managerLearn About Amazon VGT2 Learning Manager Chanci Turner

As organizations embrace the shift towards containerization, teams are becoming more agile and efficient. However, challenges remain on the path to fully realizing the benefits of this transition. With shared resources across teams, monitoring usage and allocating costs has become increasingly complex. While Amazon Elastic Container Service (Amazon ECS) provides insights into cluster costs, the intricacies of internal showback and chargeback reporting can be daunting.

Fortunately, CloudHealth Technologies unveiled a solution to these challenges back in November 2017, recently expanding support to include Amazon ECS and Amazon Elastic Kubernetes Service (Amazon EKS). Today, leading enterprises worldwide, including Yelp and Segment, leverage CloudHealth to gain clarity on the cost drivers of their Amazon ECS, Kubernetes, and Mesos clusters.

The CloudHealth Container Module empowers users to tailor their reporting on container usage and costs. Beginning at the cluster level, it allows for comparison between allocated resources for container tasks and the cluster’s available capacity.

In this article, we will explore how CloudHealth’s support for Amazon ECS enhances your understanding of resource utilization and associated costs in the AWS environment. CloudHealth is an AWS Partner Network (APN) Advanced Technology Partner, recognized for its competencies in Migration, Education, and Cloud Management Tools.

Streamlining Your Amazon ECS Environment

Do you find yourself with excess capacity, leading to underutilized resources and unnecessary costs, or are you facing capacity shortages that necessitate scaling up? What types of instances comprise your clusters, and how do you determine if they are appropriate? How can you effectively track a team’s consumption against their budget? Furthermore, do you know the actual cost of your Amazon ECS or Amazon EKS environment?

To address these questions, you must monitor various metrics, including available and used CPU, memory, and disk space, and allocate them to individual tasks, services, and teams. By analyzing these metrics, you can develop a comprehensive strategy for managing your Amazon ECS resources effectively.

For instance, examining the cluster by instance type helps assess whether the resources allocated meet expectations based on the instance family. As illustrated in Figure 1, it’s clear that an abundance of CPU hours is available and could be rightsized. If this trend persists, Amazon ECS may struggle to assign container tasks, even though CPU resources are available.

At this juncture, we can consider altering the instance family in the cluster to better align with the requirements of our container tasks. Figure 2 reveals how straightforward it is to comprehend resource allocation by instance type, allowing for optimization and avoiding over-provisioning.

Clarifying Resource Allocation

Beyond the cluster level, the CloudHealth Container Module tracks how resources are distributed among specific container tasks and services. Do you need to identify which tasks are consuming the most CPU or memory? Want to categorize containers by label or task? Is there a particular group monopolizing resources? With the Amazon ECS Allocation Report shown in Figure 3, users can pinpoint resource consumption across task families.

The CloudHealth Container Module equips you with tools to address these inquiries by utilizing Amazon CloudWatch. Like other AWS services, Amazon ECS generates CloudWatch events for state changes, which are collected and stored in an Amazon Simple Storage Service (Amazon S3) bucket. A designated policy allows CloudHealth to access these objects for processing, enabling detailed reporting on cluster cost allocation and utilization.

Understanding Container Costs

Finally, it’s crucial to grasp the costs associated with each task, task family, or service, along with any downstream dependencies. The CloudHealth Container Module provides the flexibility to allocate container costs by CPU, memory, or a customized blend of both.

Although Amazon ECS is a complimentary service, deciphering the costs of cluster tasks requires more than just reviewing your AWS bill. You must analyze the infrastructure usage of each task, identify dependencies (like load balancers and volumes), and allocate costs accordingly. With the CloudHealth Container Module, you can choose to allocate costs based on CPU usage, memory consumption, or a combination of the two.

To track expenses, refer to the Container Cost History Report shown in Figure 4. This report enables users to contextualize their containerized costs alongside non-containerized expenses, as many applications feature both elements. Luckily, CloudHealth simplifies this process within its Container Cost History Report.

Schedule a Demo

If you’ve transitioned to containers but haven’t evaluated the efficiency of your clusters, now is the time to act. By collaborating with CloudHealth, we can help you tackle challenging questions and obtain the comprehensive analysis necessary for effective cost allocation and improved efficiency. Interested in discovering how to implement the CloudHealth Container Module for Amazon ECS or other container orchestration engines? We invite you to schedule a brief 15-minute demo, where we can elaborate on our approach to container cost allocation based on CPU and memory usage.

For those navigating motherhood at work, this blog post offers valuable insights here. Additionally, you may find it useful to explore this resource from SHRM, an authority on related topics. Lastly, for a perspective on first-day experiences at Amazon, check out this excellent resource.

The views and opinions expressed in this blog are solely those of the author and do not reflect the views of AWS.

Chanci Turner