When I talk to clients about cloud services and AWS the topic about pricing always comes up and even though people have actually no idea how much AWS will cost for their project, they have this notion that AWS would be the most expensive option.
AWS offers a tool called AWS Pricing Calculator which aims to make it possible to calculate precisely your AWS monthly bill. The problem with it however, is that one needs to know in great detail the AWS resources needed and the expected workload to get an estimate. These variables are difficult to predict early on so there really isn’t a way to get a sense of what the AWS price would be.
In an effort to shed some light upon this matter, I’ll give a few examples of how much it costs to run certain types of structure on AWS from our experience.
How the AWS pricing works
Before else, let’s clear how AWS charges for services. In their words “AWS pricing is similar to how you pay for utilities like water and electricity” - you pay only for the services you are actually using, without licences and monthly fees (except for support).
Each service has its own pricing mechanism, but they all kind of follow the same concept - you pay for the resources the given service uses - by the minute for compute power or by the MB/GB for traffic or storage.
This level of granularity and the lack of set commitments gives cloud architects the ability to design systems in the most cost-efficient way.
Example AWS infrastructures and their price
Now that we’ve cleared the AWS pricing mechanism, here are some practical examples from our experience about how much it costs to run the following type of infrastructures. Now, because the AWS pricing is per usage, these estimates are to be used only as a vague general guidance.
There are a few considerations to make here:
- AWS charges for support separately (a fixed fee or % - whatever is higher AWS Support pricing) - the estimate below won’t include support fees;
- This estimates are based on the on-demand AWS prices;
With AWS it’s easy to host static websites using S3 + Route 53 and that will cost you $0.50/m for the first year (during the Free Tier period) and $1 - $3/month afterwards. Unlike the other under $5/m options, a website on AWS would easily support massive volumes of traffic without breaking.
More on the topic here: https://aws.amazon.com/getting-started/hands-on/host-static-website/
Simplest dynamic website / app
The simplest website or an app on AWS would require at the very least a single EC2 instance without a Load Balancer + a Single AZ RDS instance. Depending on the specific AWS region you need, the lowest possible price for such a combo will be in the $30 - $50/month range.
Tiny E-shop / website / app
Running an e-commerce website or a less-complex, less-traffic SAAS type of an application would require some additional resources like a Load Balancer, additional instances to ensure availability, S3 storage, SES for emails and others. With the additional resources the monthly price would round up in the $50 - $500/month range.
The ElasticBeanstalk service would do a great job for such a configuration.
Small SAAS / high-traffic website / e-commerce
As the infrastructure complexity scales, so would the price. More complex applications and websites require additional and more powerful resources to operate and comply with SLAs. For apps at scale up state that don’t offer any compute intense functionalities an expected price would be in the range of $500 - $5000/month.
Here you'd be using more services like AWS Lambda, Redis, SQS, SNS that add up to the price, but at the same time allow you to offer better functionalities, improve user experience and overall deliver a better service.
The following screenshot is from one of our accounts and shows the AWS cost of running some of the API services we offer.
SAAS / enterprise applications
Running a full-featured SAAS product or a set of corporate systems the price goes further up. $5000 - $20000/month is a standard price for operating a highly available public product or an enterprise level of software. High availability requires a certain level of redundancy which comes at an additional price. For applications with AI or other compute intense functionalities the price can easily spike further.
The next screen is from a client's account that operates a medical infrastructure consisting of multiple systems for different company departments.
Is AWS worth it?
Some would say the prices I've listed above are insanely high compared to some other popular cloud hosting. If you compare individual server prices with DigitalOcean or Linode they'd both have $5/month options unlike AWS, but AWS isn't just about the servers. AWS is an ecosystem for business to thrive and it is unmatched in a few directions:
AWS isn't just a hosting provider, but a platform for creating and running cloud applications. There are over 175 different services that will empower you to do more and deliver better software.
Services like Lambda, SQS, Sagemaker allow you take a completely different approach to designing your software and solve your technological problems better.
The AWS cloud stretches between multiple phisical regions and offers multiple different tools to allow to operate a high-availability, low-latency software even if your users are spread across the entire globe.
Using AWS means you'll be able to respond faster and more efficiently to the demands if your users and handle usage spikes with ease as your software grows.
AWS offers multiple services that will allow you to secure your applications and satisfy the requirements of any privacy/security regulation.