Businesses are moving more of their applications and data to the cloud. The Amazon AWS cloud platform is a popular choice for many companies. To get the most out of your...
AWS EC2 provides a cost-effective and scalable way to run your AWS applications. However, there are a few things to consider when determining the total cost of running your AWS applications on EC2 instances. This article will provide a detailed analysis of the costs associated with running AWS EC2 instances.
AWS EC2 pricing model
First, let's look at the AWS EC2 pricing model. AWS EC2 instances are charged on a per-hour basis, with a minimum of one hour. There are three different instance types: On-Demand, Reserved, and Spot.
On-Demand instances are the most common type of AWS EC2 instance. They are ideal for applications that have variable or unpredictable workloads. On-Demand instances are charged by the hour, with no upfront commitment.
Reserved instances are perfect for applications with a steady state or predictable workloads. Reserved instances provide a significant discount (up to 75%) compared to On-Demand instance prices. Reserved instances also offer flexibility, with the ability to change the instance type, operating system, or network platform.
Spot instances are a great way to save money on AWS EC2 costs. Spot instances are unused EC2 instances that are made available at a discount (up to 90% off the On-Demand price). Spot instances are perfect for applications that can tolerate interruptions, such as batch jobs or test environments.
AWS EC2 running costs
Now that we've looked at the AWS EC2 pricing model, let's take a closer look at the cost of running an AWS EC2 instance. The cost of running an AWS EC2 instance includes the cost of the instance itself, as well as the cost of any associated resources (Storage e.g., EBS volumes, ELBs, etc.).
AWS EC2 instances are charged by the hour, and calculations for AWS cost are done by either the hour or second depending on the size. The hourly rate for an AWS EC2 instance depends on the instance type and region. In addition to the hourly cost of the AWS EC2 instance, you will also incur charges for any associated resources. For example, if you launch an AWS EC2 instance with an EBS volume, you will be charged for the cost of the EBS volume. Similarly, if you attach an ELB to your AWS EC2 instance, you will be charged for the cost of the ELB.
The other main cost for an EC2 instance is the bandwidth and any disaster recovery infrastructure running to support it. Then there are the costs for the operating system and anything installed on it, this is things like Windows Server licences.
AWS EC2s left running
As you can see from the breakdown of costs, there are a lot of costs that rollup into the actual cost for a VM running an application. Each of these component costs is small but over time they add up.
Many organisations we have worked with have taken the step of using reservations or some other discount model and then that is as far as they go. Their AWS infrastructure runs 24 hours a day 7 days a week.
If you compare this to your energy costs it's like leaving the lights on and all your terminal on 24 hours a day in an office building. Not the most efficient way of doing it.
One of the biggest selling points for the cloud when it initially launched was around being able to just pay for what you consume and how this would work out so much cheaper than a data centre where you would pay regardless of if you are using it. Fast forward a decade and so many organisations just run their AWS deployments 24 hours a day and pay for that AWS and the other public cloud providers must be rubbing their hands together.
So, what can you do? Implement auto-scaling (turn the lights and terminals off when you don't need them). To do this you first need to understand your AWS usage and then look at how you can scale for demand.
CloudOps takes the guesswork out of this for you and allows you to plan with confidence how you will do the equivalent of turning the lights down / off. If you did this for a third of the day this could reduce your AWS bill by up to 30%.