Asking 'how much does it cost?' doesn't always offer clear cut answers when it comes to cloud services. Pricing is controlled by cloud vendors, who frequently offer multiple services. Finding out how much something costs can, for newcomers, be a bit of a challenge.
Some specialised cost cutting services are starting to come out now, but it's still early days. This is certainly true for Amazon Web Services (AWS). Their pricing models are a little bit complicated, especially for the uninitiated. There is no 'one size fits all' pricing model here. Every service they offer is itemised individually.
If you have more than one team using AWS, optimising costs can be quite the task. Instead of a big-picture view, you get the individual detail straight away. Without prior planning, this can prove difficult to keep track of.
This article will help beginners understand what factors affect AWS costs. We'll not only go through what comprises AWS pricing, but we'll also discuss why it's important to monitor AWS costs. Here's what we'll be going through:
What are AWS costs based on?
Understanding the AWS Billing Console
Why It's Important to Analyse AWS Costs
Using the AWS Cost Calculator
Simply put, AWS pricing is based on usage and service type. You pay for these per hour/second. AWS offers many different services, all with different functionality.
Because of this, each of these AWS services has a different usage cost. These usage costs are based on how you want to use AWS. Options include:
On demand: This means you can turn AWS on and use resources whenever you want to. Think of this as a pay-as-you-go model. This is the most expensive option.
Reserved: This requires you to plan ahead of when you want to use AWS service(s). You can reserve and allocate this specific time in advance.
Spot: This is based on how many people are using an AWS service at a given time. The more people, the more expensive it is. The fewer people, the less expensive it is.
Saving plan: This is essentially a volume based discount. This requires you to commit to using a set amount of Amazon resources, in return for a lower overall price. (Committing to using a certain amount of amazon resources gets you a lower price). This can sometimes be referred to as 'Pay less by using more'.
AWS bases their prices on these options, but what does "usage" mean? At a very basic level, it is a combination of three different factors:
Storage: The amount of data an AWS service is able to store. Prices increase along with the storage volume. Other factors that may affect the cost include how easy it is to access certain types of data.
Processing power: The AWS services and servers that will process and host data. Some of these are more powerful than others.
Networking: Any data that goes outside (or outbound) AWS networks costs money. However, anything that comes inside (or inbound) is free.
Now we've introduced what AWS pricing is based on, let's look at where you would find a breakdown of these costs on AWS.
All AWS customers have access to a breakdown of costs in the AWS billing console. AWS consolidates all of an organisation's costs into a monthly invoice. This is paid automatically by credit card. You'll have access to a 13-month history of AWS costs.
For the current month, you'll be given an estimate on how much it is likely to cost. This estimate is based on the historical usage of your organisation. AWS has filters and categorisation functionality that allows you to customise reporting. As everything is itemised individually, this can help you keep track of which teams are using which services.
This in turn can help you understand how much it is costing. There are tools to help you forecast and assign budget caps too. Getting to grips with the AWS billing console is important. It can help you review and optimise AWS spending.
Let's get onto why it's important to analyse how much you're spending.
Visibility is the key to understanding the bottom line in AWS. It's easy for AWS costs to spiral out of control, especially when there's no fixed pricing structure. As such, cost analysis should be part of your cloud strategy from day one.
AWS does offer estimates, but you won't know how much the final charges will be until you receive them at the end of each month. As this is an automatic credit card transaction, it can be easy to miss areas where cost savings can be made. Without keeping track of costs, it can also be difficult to spot anomalies.
Security breaches can be extremely costly if they go undetected. By understanding costs beforehand, you reduce the risk of facing an unexpected bill. Understanding costs also means anticipating and planning for usage costs. Unexpected usage spikes can significantly affect costs. The risk of this can be mitigated by implementing usage caps and budgeting.
If your organisation has a cloud strategy that uses different vendors it's important to keep track of costs for each cloud service and understand the impacts they have on each other. You want to ensure you're getting the best ROI for what you're paying for.
AWS offerings are continuing to grow rapidly and increasing in complexity. This acceleration means that cost management can be tricky. The costs are unpredictable, and will continue to be so as the technology continues to change. Ultimately, you want to ensure that you're only paying for what you are using.
The AWS cost calculator is a useful (free!) tool. You can use it as a cost explorer, and estimate how much the particular service you are considering will cost. This tool can help you itemise everything that AWS can offer, so you can split costs out by each workload.
Calculating costs should be done before implementing a cloud infrastructure. Otherwise, it can get a little bit tricky. You can use different cloud calculators before settling on a vendor. This will help you see what services and price works best for your organisation.
AWS pricing models can seem intimidating, but becoming familiar with pricing models and services can help you analyse costs. Keeping on top of costs should become a regular practice in your cloud strategy. It can be easy for costs to skyrocket if you don't understand exactly what you're paying for, and why.