The public cloud offers revolutionary technology, providing all companies the ability to implement efficient and quick solutions. However, with so many options and services available, you can actually do more and grow faster which at some point will raise the challenge of controlling costs.
Before you know it, you have opened several AWS accounts, and have consumed a variety of services. And although you believe that you have consumed resources smartly, often your end of the month invoice surprises you.
Controlling costs is one of the greatest challenges that IT and Finance managers face – especially those in charge of multiple environments and workloads. Whether a small startup or an enterprise, everyone should consider implementing a system to control costs.
In this post we list 3 easy steps to help you control your costs smartly:
Step 1: Define Your Workloads and Environments
If possible, a short brainstorming session should be conducted in order to define the workloads and environments that you will be using on the cloud. Even though you may not be able to predict future workloads, it is helpful to define your current ones and consider the following options:
OPTION 1: Creating an AWS account for each environment
If you will have several environments or workloads running in parallel, which is very common, you may want to open a separate AWS account for each (ex: Production account, Testing account, Dev account). On the one hand, this will allow you to drill down on costs more quickly and easily as you will be able to identify the costs of each environment based on their AWS account number. However, in some cases, this is not an option as different environments or workloads must exist within the same account in order to run processes.
OPTION 2: Using tags
The use of tags should be considered whether you have one AWS account or multiple accounts. Tagging allows you to identify resources associated with each workload. So, if you would like to have one AWS account only, but need to easily identify your workloads and environments, you will need to implement a tagging system (ex: Create the tag “Env” and tag your servers based on their environment). It is very important to note that not all services can be tagged. Another problem with tagging is ensuring that everyone in your company is spelling the tag correctly (ex: “Env” vs. “env”). If implemented correctly tagging is a wonderful solution for identifying resources and ideally should be used by everyone.
Step 2: Assign Someone Internally to Monitor Your Cloud Costs
Depending on the size of your company, the monitoring of cloud costs will take from a few minutes to several hours per month. In most cases, a full time position is not necessary – however, it is necessary to decide internally who will be responsible. We find that often resources are underutilized and budgets are severely exceeded, and a person is only assigned to this role when the situation is grave. Although technical development is a priority in most companies, cost control should be seriously considered as a few minutes a month could provide you a lot of insight on your spending and save your pocket.
Step 3: Set Up Budget Reports and Alerts
AWS offers a few tools as part of their billing dashboard to help you monitor your costs. You can use the cost explorer to set up reports and alerts and the trusted advisor to identify underutilized costs. In our experience, it is worth considering using third party tools that offer more detailed cost reports, this will allow you to easily identify underutilized resources and to ensure that your accounts are optimized always with minimum effort.
The above 3 steps are simple tips that will help you to not only control your cloud costs, but to grow smartly!