Experiencing bill shock can make many companies reconsider their move to the cloud, even prompting thoughts of migrating back to on-premises or company-hosted data centres. Unlike the cloud, these environments are typically fixed cost (focusing on hardware here, though some variability is always possible). You know exactly what you are paying for, which can be a relief. However, I am here to show you three ways to avoid the dreaded bill shock and make the most of your cloud environment.
Do You Know Where Your Costs Are?
As you continue using cloud services, it will become increasingly clear how much they differ from on-premises usage. Have ever been brave enough to open your Cost and Usage Report (CUR) file? You will have noticed the vast number of lines covered and how each service is divided into multiple subcategories.
This is where a cost allocation strategy that aligns with your business needs becomes invaluable. It helps you identify areas that are incurring higher-than-expected costs. Getting this right allows your business to shift its focus from worrying about what costs the most to investing in areas that are the most profitable.
Once you have implemented a tagging strategy (tagging is a massive part of cloud adoption, and I plan to write another blog about it in the coming months) that works for you and your business, you might think you can rest easy knowing that every penny is accounted for. Unfortunately, that is just the first step in generating savings. The next step is…
Visualising Your Spend
Now that you have tags in place, it is time to check that everything is as it should be. AWS offers a few simple tools to monitor your spending. Let us explore them one by one and see the benefits of each.
Cost Explorer
This should be everyone is starting point when monitoring costs and their impact on your bill. Cost Explorer provides a medium-level view into all aspects of your linked accounts, services, tags, usage items, and even how discounts or credits are affecting your costs. While it has limitations, primarily allowing views at annual, monthly, and daily levels (though hourly costs can also be unlocked, but at a potentially inflated cost depending on your business size), I highly recommend exploring all the ways you can analyse your costs.
AWS Budgets/Budget Reports
AWS Budgets is a great tool for both alerting and keeping a general eye on how your costs are evolving over time. You can set up alerts to notify you when a set target is breached at the linked account, service, or tag level. Additionally, setting up a weekly report that consolidates all your budgets in one place allows you to track trends over time. These tools can be helpful for reacting to large increases in spending and managing development account costs. While setting them up can be tedious, they are 100% worth the effort eventually. With your resources tagged and your spending visualized, what is next?
Optimising for Efficiency
One of my dad’s go-to phrases when he got home from work was, “Do you need all these lights on?” It was typical for me, after getting home from school, to turn on lights as I entered rooms and leave them on when I left to do my chores. Sound familiar? We see this a lot in the cloud: someone has a promising idea, tests it, gets excited when it works, puts it into production, and then forgets to shut down the test environment – suddenly, your costs have doubled.
Now, with the tools in place, it is much easier to see if someone has “left the lights on” accidentally and to shut down resources that are no longer needed. Major cost drivers, if left on, include EC2 instances in test or development environments. To continue the light bulb analogy, you can make your cloud environment “smarter” by automatically switching off resources when they are not needed. The tagging policy we discussed earlier can make this even easier. (For the nerds out there, a year has 8,760 hours. By just turning an instance on at the start of the workday and off again at the end, you can save around 6,550 hours per year – for a t3a.large instance on Linux, that is $556.75.)
That is a big example, but the little stuff matters too. Consider elastic IP addresses: with the recent changes, you are now charged for every public IP address associated with your account. By releasing an unallocated or additional IP address, you can save $438.00.
How Can Digital Space Help?
Digital Space is an AWS Managed Service Provider and an AWS Well-Architected partner. As a member of the FinOps Foundation and head of FinOps practices within Digital Space, I spend my time understanding bills, forecasting costs, and helping customers optimize their spending.
Get dedicated FinOps advice alongside your AWS infrastructure at no extra cost to you.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent. See our Privacy Policy.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-advertisement
1 year
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Advertisement".
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
PHPSESSID
session
This cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user session on the website. The cookie is a session cookies and is deleted when all the browser windows are closed.
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Cookie
Duration
Description
_ga
2 years
This cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assign a randomly generated number to identify unique visitors.
_gat_gtag_UA_199101989_1
1 minute
This cookie is set by Google and is used to distinguish users.
_gid
1 day
This cookie is installed by Google Analytics. The cookie is used to store information of how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visted in an anonymous form.
lfuuid
9 years 7 months 7 days 11 hours
This cookie is installed by Lead Forensics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.