AWS FinOps Best Practices

Nesh (Steven Puddephatt) Senior Solutions Engineer @ GlobalDots
9 Min read

Amazon Web Services (AWS) is the most established cloud vendor on the planet – its vast array of services increases every year, with a staggering 200 new offerings released in 2020 alone. These services offer businesses the ability to adjust resources based on demand – a cost-effective pay-as-you-go model and a global infrastructure for widespread application deployment. With a broad array of services covering computing, storage, databases, and more, AWS provides flexibility and customization options. Security measures and compliance certifications enhance data protection, while the platform’s reliability and availability ensure consistent performance. 

Seeing the wealth of benefits, many organizations have jumped headfirst into the swamp of solutions – only to be met with ever-changing invoices and spiraling cloud costs. The lack of a ‘one size fits all’ pricing model is further complicated by the fact that AWS consolidates all of an organization’s costs into a monthly invoice.

How One AI-Driven Media Platform Cut EBS Costs for AWS ASGs by 48%

How One AI-Driven Media Platform Cut EBS Costs for AWS ASGs by 48%

This article will cover how AWS’ own tools support FinOps cost management (learn more about what FinOps is here), and how you can further optimize costs with a combination of AWS FinOps best practices, human- and compute-saving strategies, and data-collection techniques.

How Does AWS Support FinOps Cost Management?

Financial DevOps, often referred to as FinOps, is an emerging set of practices that combines financial management principles with the cultural philosophies and technical practices of DevOps. The goal of FinOps is to bridge the gap between finance, operations, and engineering teams to ensure efficient and transparent cloud cost management. AWS, as a leading cloud provider, offers several features and AWS FinOps tools that enable organizations to not just talk about FinOps – but to facilitate real change. 

Before delving into the steps to reduce AWS costs with FinOps, it’s worth exploring the native tools that your AWS subscription likely already includes, which can aid in AWS cost management:

Cost Visibility

Visibility into each invoice is the first stepping stone to true FinOps. AWS’ own tools provide a basic porthole into otherwise murky monthly invoices. AWS Cost Explorer allows some exploration into your organization’s spending patterns, specific cost drivers, and opportunities for resource utilization.

Detect patterns by conducting day-over-day, month-over-month, or year-over-year analysis of costs and usage. Utilize graphs and tables to examine AWS costs and usage over a timeline, enabling the identification of variances.

Tagging and Resource Attribution

Understanding how your resources interact with one another and influence every invoice runs hand-in-hand with cost visibility. AWS supports resource tagging, which allows users to categorize resources based on attributes such as department, project, or environment. This tagging facilitates accurate cost allocation, enabling organizations to attribute costs to specific teams or initiatives.

Reserved Instances and Savings Plans

AWS offers Reserved Instances (RIs) and Savings Plans – these allow users to commit to a specific level of resource usage in exchange for significant cost savings. FinOps practices involve analyzing usage patterns and strategically leveraging these to choose the most cost-effective options.

CloudFormation and Infrastructure as Code (IaC)

For a scalable web application that also includes a backend database, you might use an Auto Scaling group, an Elastic Load Balancing load balancer, and an Amazon Relational Database Service database instance. You might use each individual service to provision these resources, and after you create the resources you would have to configure them to work together. All these tasks can add complexity and time before you even get your application up and running.

AWS CloudFormation is a service designed to streamline the modeling and configuration of your AWS resources, allowing you to dedicate more time to your applications running in AWS and less time managing resources. Creating a template that defines how you want each AWS resource to be managed allows CloudFormation to handle the provisioning and configuration of these resources on your behalf.

Automation and Scripting

AWS provides a variety of automation tools and APIs that allow organizations to automate cost management tasks. This includes scripting, scheduling, and automating resource start/stop processes to align resource usage with actual demand. By treating infrastructure as code, FinOps practices can be integrated into the development pipeline, ensuring that cost considerations are part of the overall development and deployment process. Furthermore, the interactive, ad-hoc analytics engine that drives AWS Cost Explorer is made accessible through the Cost Explorer API, enabling you to programmatically query your cost and usage data.

Budgets and Alerts

AWS Budgets allows users to set custom cost and usage budgets that alert them when they exceed predefined thresholds. This proactive approach to cost monitoring helps organizations stay within budget and avoid unexpected expenses.

Cross-Functional Collaboration

FinOps emphasizes collaboration between finance, operations, and development teams. AWS supports this by providing shared access to cost data, allowing teams to collaborate in real time and make informed decisions based on financial insights.

While these basic tools can help foster organizational interest in FinOps processes and realize some initial cost savings, one of AWS’ primary strengths is its ability to integrate with third-party FinOps tools and platforms that provide advanced analytics, reporting, and optimization features. These tools help organizations implement more sophisticated FinOps practices and gain deeper insights into their cloud spending.

AWS FinOps Best Practices 

Optimizing AWS costs involves a combination of best practices, human- and compute-saving strategies, and data-collection techniques to ensure efficient resource utilization and cost management across every unique resource. Key practices require an understanding of the FinOps solution landscape, and thoroughly analyzing your own organization’s unique requirements. With a close eye on third-party FinOps solutions, a new level of cost optimization can be unlocked.

Don’t Sweat the Tags

AWS tags function as labels that identify resources, set by Dev teams during resource provisioning. In the absence of stringent tagging protocols, time wastage can quickly lead to homogenization, of all tags – the knock-on effect of this is unclear reporting. Instead, organizations should recognize how AWS tags can build a foundation of FinOps by providing a first-glance view at the resource’s owner and environment. This approach allows your cloud to achieve true visibility.

Tagging needs to standardize the significance of formatting and support devs in consistently applying these across every resource type. A comprehensive DevOps team should also acknowledge the role that tag guidelines play in critical areas such as identity and access management, automation, and organizational efficiency.

However, as many organizations embark on their FinOps evolution, one of the first stumbling blocks they encounter is a substantial tag backlog. Manually going back and updating each tag is a time and cost-intensive process. Moreover, it’s essential to recognize that tagging may not be suitable for every use case. By decoupling tagging demands from AWS’ specific requirements, it becomes feasible to automatically link resources to projects, including those spanning multiple cloud providers and teams. Additionally, containerized projects can now be grouped and linked to specific owners, and previously untaggable resources can be incorporated into reporting functions.

Rightsize and Reserve 

At the heart of AWS costs are the baseline models dictating every cost. This is most often seen in the fact that on-demand resources are commonly viewed as the default option. However, it’s crucial to consider that alternative purchasing options might better suit your business needs.

Steady state is a domain that often particularly benefits from reserved savings plans. The foundation of these Savings Plan models are based on commitment. This reliable yet flexible pricing offers both cost savings and predictability, both significant achievements in the realm of FinOps. Savings Plans come in three types: compute, EC2, and Amazon SageMaker plans.

Actually converting your wealth of resources over to their cost-effective counterparts is another barrier to true cost savings. AI & ML algorithms can now be implemented to purchase the most cost-effective commitments based on your workloads’ usage patterns and business needs. This not only actualizes an incredible degree of savings, but further frees up your engineers’ time. This same approach can now define your approach to AWS’ disk-based storage capacity:  to match real-time application needs, large EBS volumes can be converted to a virtual disk with a series of multiple volumes – this filesystem can now be shrunk and extended automatically to match real-time requirements closely.

Gain New Cost Visibility 

Fundamentally, cost allocation divides an overall bill based on accounts, projects, or subscriptions. AWS Cost Explorer has already been noted for its ability to shed new light into the inner financial workings of your cloud. And while CloudFormation provides support to DevOps with guardrails that uphold tagging standards for newly created resources, advanced cost allocation tools take this a step further. Enabling bills to mirror the hierarchy of each cloud-based project, spanning services, teams, and workloads – while supercharging the granularity in your cost allocation – more extensive visibility is gained than ever before. 

Cost visibility is more than just how much each service costs – it’s about establishing the who, why, and how much.

Democratize Cost Awareness

Development teams hold a direct lifeline over your monthly invoice. The ability for FinOps to unite technology, business, and finance professionals allows you to truly maximize each and every cloud investment. This transparency needs to be granted to IT teams directly, in order to enable development teams to comprehend the costs associated with their projects and make informed decisions on resource allocation and budgeting. 

Throughout this process, FinOps breaks down silos between finance and development teams, fostering a collaborative culture where developers gain insights into the financial impact of their work, and finance teams acquire understanding of the technical aspects of projects. This framework further instills accountability, prompting each team to be responsible for its own spending and encouraging mindfulness in resource usage and proactive cost optimization. Lastly, FinOps empowers development teams by providing them with the tools and knowledge to manage their budgets, improving cost efficiency and allowing finance teams to focus on cost management strategies.

Nowhere is this more evident than a FinOps dashboard: while AWS’ cloud intelligence dashboards offer some broad-level insight into the inner workings of your cloud finances, more developed FinOps tools recognize the importance of hyper-customizability. Each team needs to cut straight to their own data – and be empowered by real-time, relevant cost info.

Budgeting & Forecasting

While democratization focuses on showing individuals how their own choices affect cloud cost, this best practice focuses on cohesively combining this data and using it to predict future expenses. The holy grail of cloud cost management, accurately predicting future cost has often been out of reach for even established cloud financial teams. 

AWS’ Forecasted Cost metrics provide a view into future use – and therefore cost. Use this to your advantage by implementing alerts for budget overspill. This way, a solid foundation of forecasting allows for rapid discovery of unoptimized areas. Whether these are new projects or forgotten resources, forecasts help show which areas demand fresh insight.

Implement Governance

Without a team in place to implement and maintain your Cloud Financial Management processes and functions, the cultural component of FinOps can quickly lose focus.

Policy and Governance can be conceptualized as a collection of statements expressing intent – alongside a clear way of actioning it. Governance translates Policy into action through three key mechanisms:

  • Guidelines: These articulate best practices for implementing policy and provide advisory rather than mandatory recommendations.
  • Guardrails: These involve formal processes and structures that establish mandatory pathways for actions compliant with policy, potentially entailing consequences for non-compliance.
  • Automation: This involves processes that automate the implementation of policy, exerting control over how compliant actions are executed.

AWS’ Control Tower and OpsWorks are two native tools that allow governance to fully support a cross-departmental approach to FinOps. With these, Governance acts as a central team through which different groups’ voices can be converted to action. 

The final phase of FinOps success sees organizations embark on a continuous assessment of business objectives and the corresponding metrics. Service speed, quality, and cost are cohesively monitored and managed. Business, financial, and operational stakeholders must all collaborate to define governance policies – these allow for continuous improvement and cooperation.

By implementing these AWS FinOps best practices, organizations can achieve effective cost management on AWS. Ensuring that resources are optimized, budgets are adhered to, and cloud spending aligns with business goals looks different for every organization. Explore more about cost optimization strategies here.

Success Starts Here

When one prominent eCommerce group underwent a gradual migration to the cloud, they were slowly but surely faced with oversized bills and limited visibility into where that money was going. A lack of oversight had allowed the organization’s 16 verticals to operate as separate units, managing a total of 74 AWS accounts with no centralized optimization practices or a governing entity overseeing overall cost operations.

Alongside this, the absence of a FinOps culture led to suboptimal resource utilization – engineers, lacking the inclination to investigate underperforming applications, would resort to increasing machine sizes, resulting in as low as 5% CPU utilization. As costs continued to escalate, the group sought help. Recognized for its expertise in cutting-edge FinOps methodologies and tools, GlobalDots was enlisted to assist.

Within the first four months, GlobalDots actualized $250,000 in cloud savings. Monthly bills were reduced by 16%, and ElastiCache costs alone saw a dramatic ~50% reduction. Ongoing monitoring helped build and maintain a baseline that achieved long-term savings of over a million.
To see how GlobalDots put these cost management best practices into action – and how you can – see our FinOps Case Study.

Latest Articles

Cut Big Data Costs by 23%: 7 Key Practices

In this webinar, we reveal a solution that cuts big data costs by 23% and enhances system efficiency - without changing a single line of code. We’ll also explore 7 key practices that will free your engineers to process and analyze data at the pace and scale they need - and ensure they never lose control of the process.

Developer AXE-WEB
15th April, 2024
Project FOCUS: A New Age of FinOps Visibility

It’s easy for managers and team leaders to get caught up in the cultural scrum of FinOps. Hobbling many FinOps projects, however, is a lack of on-the-ground support for the DevOps teams that are having to drive this widespread change – this is how all too many FinOps projects become abandoned on the meeting room […]

Nesh (Steven Puddephatt) Senior Solutions Engineer @ GlobalDots
27th March, 2024
Optimize Your Cloud Spend with a FinOps Maturity Assessment

Achieving FinOps is a tall order: it demands a degree of organizational self-awareness that some companies are constantly battling for. Consider the predicament that many teams find themselves in: while their cloud environments may contain a number of small things that could be optimized, there are no single glaring mistakes that are consuming massive quantities […]

Nesh (Steven Puddephatt) Senior Solutions Engineer @ GlobalDots
27th March, 2024

Unlock Your Cloud Potential

Schedule a call with our experts. Discover new technology and get recommendations to improve your performance.

Unlock Your Cloud Potential