AWS (Amazon Web Services) is the world’s leading cloud provider, offering 175 services across infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS).
All Amazon services have on-demand pricing, which means you pay for your actual use of the service. In addition, Amazon provides discounts in the following cases:
Amazon also offers the Free Tier, which lets organizations use a wide variety of services, with certain limitations, for the first year since they joined Amazon. Even after the first year, Amazon provides an Always Free tier with a limited set of services.
In this article, you will learn:
Pay as You Go is a pricing principle that lets you rent resources on-demand. This model provides complete flexibility over how many machines you run and for how long. You can leverage on-demand resources when you cannot buy or build your own infrastructure. However, on-demand infrastructure can quickly incur high costs, especially for ongoing server deployments.
Amazon provides volume discounts and tiered pricing for most of its services. For example, the more storage you consume, the less the storage services cost. You can dynamically move your workloads between services and pricing tiers to continuously optimize costs. However, to effectively manage this operation you need to understand the inner workings of each service, and learn when and how to shift data across environments.
AWS provides significant discounts, ranging between 30% and 72%, on reserved EC2 instances. This option lets you reserve compute capacity for a long period of time (1 or 3 years). In return for this long term commitment, you get a discount on the total price of the reserved capacity. However, you are committed to pay the full cost even if you do not end up using all of the reserved capacity.
AWS offers new customers the option to use many services for free, for the duration of one year or until you reach the allotted quota. For example, you can get a maximum of 750 hours worth of EC2 instances or 5 GB of storage on Amazon Simple Storage Service (Amazon S3). However, to ensure you properly leverage free resources, you should plan your budget in advance. AWS offers a pricing calculator that can help you estimate your costs.
Now that we have introduced AWS pricing principles, let’s dive into each one of their actual pricing models.
An important part of Amazon’s pricing is the AWS Free Tier, which allows organizations to try Amazon services at no cost. The Free Tier has three levels:
The following table shows key services available in the 12 month and always free tiers. To see the full list of services for all three tiers see the official free tier pricing.
|12 Months Free||Always Free|
|Compute||750 hours of EC2 Linux t2.micro instance and Elastic Load Balancer (ELB)|
|Database||750 hours of Amazon Relational Database Service (RDS)* with 20GB storage and 20GB backup
25GB of storage and 25 Units of Read/Write Capacity on DynamoDB
|25GB of storage on DynamoDB|
|Caching||750 hours of Amazon ElastiCache Micro Cache Node|
|Storage||EBS volume with 30GB, GB of storage on S3, 1 GB of snapshot storage|
|Serverless||(same as Always Free)||1 million requests per month on AWS Lambda|
|Messaging||(same as Always Free)||1M publishes on Amazon SNS|
|Logging||(same as Always Free)||10 custom metrics and alarms on CloudWatch|
|Archival||(same as Always Free)||10GB of retrieval from Amazon Glacier|
(*) Amazon RDS provides access to free database engines including MySQL, PostgreSQL, and SQL Server Express Edition.
AWS provides five pricing models, which can help you optimize costs and plan budgets according to specific use cases. You can use one or more of these models when planning your AWS project.
AWS lets you use EC2 compute instances with on-demand pricing, and pay by the hour or by the second. This pricing model enables you to spin up instances without paying for anything in advance. You can quickly terminate these instances as needed, and pay for the resources you used. This option provides a high level of flexibility and scalability, and is ideal for new AWS users testing the environment or for unpredictable workloads. However, on-demand instances are more expensive and can quickly accumulate costs.
AWS Spot Instances can help you significantly reduce costs on computing capacity, because these instances are offered at up to 90% off the on-demand price. This model offers the largest potential cost-savings, especially when you need to scale quickly. However, spot instances can be challenging to use for some fault-sensitive workloads. A spot instance may be terminated at any time, whenever AWS needs this compute capacity. You get a two minutes warning before your instance is terminated.
Learn more about using spot instances for production and mission-critical workloads.
Reserved Instances (RIs) pricing offers significant discounts in return for committing to use AWS for a long period of time—1 or 3 years. AWS offers several ways to pay for RIs, including no upfront, partial upfront, and all upfront. It is relatively less complex to set up and maintain RIs, compared to spot instances. However, you are billed for all reserved instances, even if you do not use all capacity.
Like RIs, AWS Saving Plans offer a significant discount in return for committing to use AWS resources for a longer period of time. However, Savings Plans let you make an hourly spend commitment, and then applies a discount rate, which is subtracted from your on-demand usage. Unlike RIs, Saving Plans are consolidated across resources, which means you can leverage several discounts across your AWS account.
AWS lets you rent physical servers, which are called Dedicated Hosts. This option is considered highly secured and reliable, because you have the entire server for your private use. When renting a Dedicated Host, you do not need to do administrative tasks. AWS cleans and maintains the hardware. However, Dedicated Hosts are more expensive, and is mainly within the budget of enterprises.
Amazon pricing is extremely complex, with long tables of pricing data for each service. Pricing can also change frequently, with shifts of demands for different Amazon services.
While it’s not possible to cover all prices and combinations in one article, below we provide a map of key Amazon services and the main factors guiding their pricing.
|Amazon Simple Storage Service (S3)
||Amazon Elastic Compute Cloud (EC2)
Learn more in our guide to AWS EC2 pricing
|Amazon Elastic Block Storage (EBS)
||Amazon Relational Database Service (RDS)
||Amazon Elastic Map/Reduce (EMR)
Learn more in our guide to AWS EMR pricing
Learn more in our guide to Fargate pricing
|Amazon Elastic Kubernetes Service (EKS)
||Amazon Elastic Container Service (ECS)
Learn more in our guide to AWS ECS pricing
Amazon offers several free tools you can use to optimize your cloud costs.
This is part of the Amazon Management Console, which lets you view Amazon services used by your organization, and find the optimal service structure.
You can use the billing console to consolidate accounts, and create a billing entity for each IT budget within your organization. This eases management, and can also help you leverage AWS Savings Plans, which grant a discount in exchange for a commitment to a certain spend across an entire Amazon account.
Enables setting a budget for a specific Amazon service, and triggers notifications via Simple Notification Service (SNS) when you reach or exceed the budget. You can specify an “umbrella” budget for a service, or link the budget to specific data points related to your usage of an Amazon service (such as the number of compute instances or data utilization).
AWS Budgets provides a budget dashboard that shows how each service is being used compared to its budget.
Lets you view historical data about Amazon service usage and costs. It displays 13 months of historical data, and also predicts future expenses. You can Create custom views to analyze your costs, find areas of waste and discover saving opportunities. Cost Explorer also provides an API to access your data through analytics tools.
An automated tool that provides guidance on best practices for Amazon services. One of the five areas Trusted Advisor investigates is cost optimization.
The tool offers automatic optimization suggestions, including optimizing reserved instances and managing lease expiration, identifying EC2 instances and EBS volumes with low usage, load balancers that are currently idle, unused elastic IPs, unused Amazon RDS databases, and any other resource that is underutilized and could be terminated to save costs.
Amazon CloudWatch allows you to set alarms based on metrics captured for Amazon services. Many organizations use CloudWatch for cost optimization and savings. For example, you can set up an alarm when an EC2 instance's utilization drops below a certain threshold, investigate this alarm, and resize the instance or move workloads to another instance.
While AWS offers native tools for monitoring your cloud spend, and even provides recommendations for potential cost reduction, they stop short of actually implementing any of those optimizations for you.
This is where Spot by NetApp’s Cloud Analyzer can help. Cloud Analyzer not only provides comprehensive visibility into what is being spent in AWS and by whom, but also:
AWS Fargate Pricing: Optimize Billing and Cut Costs
AWS Fargate is a managed service that enables you to run containers in Amazon Elastic Kubernetes Service (EKS) or Elastic Container Service (ECS). Since Fargate is serverless, you don’t need to provision or manage servers or clusters. However, you do need to set up package containers, define resource requirements, and configure permissions and networking policies. How much will it cost you to run serverless containers on AWS Fargate? Learn about pricing and best practices to optimize your container infrastructure.
AWS ECS Pricing: 3 Pricing Models and 5 Cost Saving Tips
Amazon Elastic Container Service (ECS) lets developers run containers at scale on Amazon Elastic Compute Cloud (EC2) or Amazon Fargate. ECS is a container orchestration service that manages clusters of containers, including aspects like container lifecycle, high availability, storage and networking. Learn about three AWS ECS pricing models - on EC2, Outposts and Fargate - and get actionable tips for saving ECS costs.
AWS EMR Pricing: What are the Options?
Amazon Elastic MapReduce (EMR) is a tool designed for big data processing and analysis services. EMR is an Amazon Web Services (AWS) offering, but it is based on Apache Hadoop, which is a programming framework built for handling processing tasks of big data sets across distributed computing environments. Learn about AWS EMR pricing for different launch options, including EMR on EC2, EMR on Outposts, and EMR on Elastic Kubernetes Service (EKS).
Read more: AWS EMR Pricing: What are the Options?
Run an EMR Cluster on Spot Instances in 5 Steps
AWS EMR provides a managed Big Data framework that enables you to easily add/remove cluster capacity to meet the necessary workloads for your application. EMR supports Hadoop, Apache Spark, and other popular distributed frameworks. This tutorial focuses on cloning an existing EMR into Elastigroup. Elastigroup also enables you to wrap your existing cluster with Spot instances Task nodes.
for up to 20 instances