How Does AWS Price its Services?
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:
- Discount for reserving services for periods of 1 or 3 years (known as Reserved Instances)
- Discount for spare computing capacity by bidding on Amazon’s Spot Instance market
- Savings Plans—a commitment to purchase a certain quantity of Amazon resources across your entire organization
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.
This is part of an extensive series of guides about FinOps.
In this article, you will learn:
- AWS Pricing Principles
- AWS Free Tier
- 5 AWS Pricing Models
- Pricing Factors for 10 Popular AWS Services
- AWS Cost Management Tools
- Optimizing AWS Pricing with Spot by NetApp
- Learn about AWS Pricing
AWS Pricing Principles
Pay as You Go
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.
Use More, Pay Less
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.
Save When You Reserve
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.
Free Usage Tier
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.
AWS Free Tier
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:
- 12 months free—a bundle of services that a new Amazon user can use for a year from their initial registration. Users pay the regular price after 12 months, or if they exceed the Free Tier limits on any of the services.
- Always free—this is a more limited bundle of services that all AWS users can use for free, even after their initial 12 months expire.
- Trials—short term trial for a specified period after activating an Amazon service
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 backup25GB 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.
5 AWS Pricing Models
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.
On-Demand
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.
Spot Instances
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
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.
Savings Plans
Like RIs, AWS Savings 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, Savings Plans are consolidated across resources, which means you can leverage several discounts across your AWS account.
Dedicated Hosts
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.
Learn more in our detailed guide to emr spot instances
Pricing Factors for 10 Popular AWS Services
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 DynamoDB
| Amazon Elastic Map/Reduce (EMR)
Learn more in our guide to AWS EMR pricing |
Amazon Lambda
| Amazon Fargate
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 |
AWS Cost Management Tools
Amazon offers several free tools you can use to optimize your cloud costs.
Billing and Cost Management Console
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.
AWS Budgets
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.
AWS Cost Explorer
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.
AWS Trusted Advisor
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
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.
Optimizing AWS Pricing with Spot by NetApp
While public cloud providers offer native tools for some cloud optimization, and even provide recommendations for potential cost reduction, they stop short of actually implementing any of those optimizations for you. In addition, each cloud provider is also siloed to its own cloud. Most organizations have at least two clouds and therefore need a solution that can provide a multi-cloud perspective.
This is where Spot by NetApp’s portfolio can help. Spot not only provides comprehensive visibility into what is being spent on your cloud compute and by whom and on what resources, but also:
- Generates an average saving of 68% by showing you exactly where you can use either EC2 spot instances or reserved capacity (RIs and Savings Plans) to save costs. It lets you reliably automate workload optimization recommendations in just a few clicks.
- Guarantee continuity for spot instances, ensuring even production and mission-critical applications can safely run on spot instances, using predictive algorithms and advanced automation to guarantee workload continuity.
- Automatically manage and optimize RIs and Saving Plans portfolios, providing maximum utilization and ROI with minimal risk of financial lock-in and cloud waste.
- Maximize savings for DevOps teams running Kubernetes with proven machine learning and automation to continuously determine and deploy the most balanced and cost-effective compute resources for your container clusters.
Learn more about Spot by NetApp’s FinOps solutions
Learn More About AWS Pricing
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.
Read more: AWS Fargate Pricing: Optimize Billing and Cut Costs
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.
Read more: AWS ECS Pricing: 3 Pricing Models and 5 Cost Saving Tips
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.
Learn more in our detailed guide to Fargate vs EC2 pricing
See Additional Guides on Key FinOps Topics
Together with our content partners, we have authored in-depth guides on several other topics that can also be useful as you explore the world of FinOps.
AWS Cost Optimization
Authored by Spot.io
- [Guide] AWS Cost Management: Free Tools and 7 Best Practices
- [Guide] AWS Pricing Calculator: Calculate AWS Costs Like the Pros
- [Report] Optimizing in a Multi-Cloud World
- [Product] Spot Eco | Cloud Commitments and Cost Management
Azure Cost Optimization
Authored by Spot.io
- [Guide] Azure Cost Management: 4 Ways to Optimize Azure Costs
- [Guide] Azure Cost Calculator: Estimating Azure Costs, Step by Step
- [Report] Optimizing in a Multi-Cloud World
- [Product] NetApp Spot | Cloud Optimization Solutions
Kubernetes Cost Optimization
Authored by Komodor