Workloads deployed to public cloud platforms are often much more difficult to review and audit than those in a private data center. When it is time to pay the bill at the end of the month, cloud hosting providers are great at letting you know exactly how much you owe, down to the cent. But, predicting and reducing next month's costs — much less next year's costs — is much more challenging.
Amazon Web Services (AWS) has some built-in tools that go a long way for basic use cases, as well as best practices and sensible default configurations to get you started along the right path. However, these tools fall short of handling complex use cases, especially when you are managing multiple accounts or deploying containerized applications. Ultimately, AWS cost optimization is about managing tradeoffs: flexibility for unit economics, cost for speed, and savings for time investment. The right tool can help you manage those tradeoffs and allocate, optimize, and predict cloud costs.
Tradeoffs begin before cloud services are even provisioned. For midsize operations, it might not be worth spending valuable engineering time to shave 10 or 20 percent off of a low monthly AWS bill when those precious and expensive engineer hours could be spent shipping features. On the flip side, for larger organizations working with heavily used cloud resources, shaving mere pennies off of frequently-run processes may yield enormous dividends. Unfortunately, organizations pursuing these opportunities are underserved by the native cost visibility and cloud cost optimization tools available from their cloud vendor.
Watch the webinar: Introduction to AWS Reserved Instances & Savings Plans →
1. Gain Comprehensive Cloud Cost Visibility
The first step to AWS cost optimization is understanding what your cloud cost profile looks like. You need to be able to answer questions about who is generating spend, how it is allocated, and to what business value these services are connected. With clear, project-level data about where your spend is concentrated and why, you'll be able to make meaningful improvements.
AWS's solution for tracking your spending is tagging. Tags are key-value pairs supported by a wide range of AWS services for everything from access control to cost attribution. Properly tagging all of the instances in your infrastructure can be complex and time intensive without an automated tool to manage the process for you. It’s just as difficult and time consuming to maintain tags for large and complex infrastructures. But it’s a critical step in gaining cost visibility into your AWS infrastructure.
Yotascale automates the creation and maintenance of instance tags, enabling businesses to establish and maintain the business context that they want to use to allocate and manage costs. With a unique feature called Allocation Assist, Yotascale can find and report on orphaned resources to ensure that your organization has 100% cost allocation coverage.
Smaller organizations with simple environments can leverage AWS Cost Explorer to analyze the resources that they’ve tagged, report on costs by service, and offer forecast and savings plan recommendations. However, if you have ten teams each using EC2 instances in the same department-wide account, this report will lump every team’s instances together. It also doesn't properly support cost allocation for containers and Kubernetes, which makes it unusable for modern cloud architectures.
Yotascale provides advanced and granular reporting down to individual teams and applications, enabling your engineering teams to see exactly the costs that they are responsible for. It’s also the only tool that gives a complete view of department / application level costs, including Kubernetes, EKS namespaces and pods, as well as ECS task costs. Meanwhile, machine learning-based (ML-based) cost anomaly detection integrates directly into your team's communication stack (including Slack, Microsoft Teams, and more) to alert engineers of runaway costs, providing visibility even in the case of the unexpected.
2. Improve Application Architecture
For architectural decisions in most projects, developer experience and application needs outweigh cloud cost optimization. It is good to avoid premature cost optimization and focus on the product first. Using unsuitable tools just because they are cheaper can be much more expensive in the long run. However, some architectural decisions can materially reduce spend, especially those that help avoid over- and under-provisioning resources by taking advantage of the flexibility and scalability that cloud environments enable.
Making cost-based architectural decisions is much easier when the engineer designing the architecture gets direct information about cloud spend. By breaking down spend by project, rather than by resource, Yotascale empowers engineers to create and achieve key performance indicators (KPIs) and other targets around minimizing application cost.
Developers working to reduce the expense of running an application often focus on the following factors:
- Serverless functions like AWS Lambda are often cheaper than instances for a wide variety of use cases.
- Managed databases are often a major cost center, and there are many options with various capabilities.
- Building a predictable application that can run on Reserved Instances can save money on server costs.
- Alternatively, building an application with processes that don't suffer from interruptions can make Spot Instances a great way to save even more on compute costs.
Amazon does have a tool, called AWS Trusted Advisor, to help find these sorts of issues. For example, Trusted Advisor can perform an idle load balancer check, such as finding load balancers with a Request count lower than 100 in the past seven days. Trusted Advisor also focuses on finding opportunities to save by purchasing Reserved Instances and Savings Plans. However, Trusted Advisor may be overwhelmed by more complex scenarios.
For teams who want even better recommendations for improving architecture to reduce spend, Yotascale offers actionable cloud cost optimization recommendations such as workload-based rightsizing for EC2 instances. Don't adjust applications by guess-and-check; use ML tools and specific expertise to find solutions that meaningfully move the needle on cloud cost optimization. Yotascale's tools are particularly good at handling intricate containerized architectures, which suffer from poor cost-attribution visibility under basic tooling.
3. Curtail the Largest Expenses
AWS Compute Optimizer helps you rightsize EC2 instances, EBS volumes, and Lambda functions. It does so by monitoring logs and metadata to determine which instances are over- and under-provisioned. It then reports potential savings options. For more on AWS's built-in cloud cost optimization tools, see AWS's own guide. Although AWS offers a mind-blowing array of managed services, under the hood, many of them still need to store data in S3 and run servers on EC2, so those are often the largest cost centers.
In contrast, Yotascale's tools can manage complex Savings Plan and Reserved Instance purchases in-app. Combined with workload-based rightsizing, they deliver cost-saving suggestions directly to the teams responsible for implementing them. These specific, actionable recommendations are based on your project’s needs and organization, not AWS's services and generic measures.
AWS Cost Optimization: It's About Managing Tradeoffs
To manage tradeoffs, engineering teams need specific, high-signal cost analysis and predictions. Visibility is a common thread through all the tools that providers like AWS offer, but these tools have two important shortcomings. First, engineering teams need to spend valuable time learning and configuring this wide array of services. Second, they need to figure out how to read and share account-level information at team- and project-level granularity.
Yotascale handles this for teams working with complex architectures such as multi-tenant Kubernetes clusters. Then, Yotascale provides specific, actionable cloud cost optimization options directly to the individuals and teams empowered to update project architecture and cloud service provisioning for peak efficiency. For organizations that have outgrown Amazon Web Services' first-party tools, Yotascale has solutions.
Yotascale passes savings opportunities directly to engineering teams, so rather than having to allocate someone to configuring, generating, exporting, and processing reports from AWS, the people best suited to take action receive empowering visibility on the sources of and reasons for their AWS bills.
Try Yotascale
Gaining the right visibility and taking action helps you and your team optimize AWS cloud costs with minimal effort. Learn more about Yotascale and claim your free trial to experience these powerful tools for yourself. To start, request your demo now.
Originally posted March 21, 2021. Last updated July 17, 2023.