More about AWS Costs
- Understanding AWS Total Cost of Ownership (TCO)
- AWS Cost Optimizations: Tools, Checklist, and Best Practices
- AWS Storage Gateway Pricing Explained
- AWS Snowball Pricing Simplified
- AWS Calculator: Step By Step
- EFS Pricing Explained
- AWS RDS Pricing Explained
- AWS Cost Management: 9 Free Tools to Help Cut Your Costs
- AWS Data Transfer Costs: Hidden Network Transfer Costs and What to Do About Them
- AWS Storage Costs: All in One Place
- AWS Cost Saving Guidebook Shows How You Can Optimize EBS Costs
- AWS EBS Snapshot Pricing Vs. Azure & Cloud Volumes ONTAP
- Find and Optimize Your AWS Storage Costs for AWS EBS and More
- Control EBS Costs: How to Find and Delete Unused AWS EBS Volumes Using a Lambda Function
Organizations are moving more applications and services to Infrastructure as a Service, Platform as a Service, and Software as a Service models. A sizable part of IT budgets is diverted to cloud providers, and understanding your cloud bill and budget on cloud providers like Amazon Web Services is becoming a prime concern. AWS cost optimization has become a discipline of its own with specialized tools, economic models and cost reduction best practices.
In this article:
- Why Optimize Costs on AWS?
- What Are the 5 AWS Design Principles for Cost Optimization?
- AWS Pricing Models and How They Help Optimize Costs
- AWS Cost Management Tools
- AWS Cost Reduction Checklist
- AWS Cost Optimization Best Practices
- AWS Cost Reduction with Cloud Volumes ONTAP
Why Optimize Costs on AWS?
Here are key benefits of cloud costs optimization:
- Save costs - you can use Spot instances to save up to 90% on EC2 costs, and AWS Savings Plans to save up to 72%. You can also save up to 10% by rightsizing workloads with AMD-based instances or migrate to AWS Graviton2-based instances and save up to 20%.
- Increase agility - cost optimization can help you free up resources to scale applications cost-effectively. With additional resources, organizations can finance more projects to better serve customer needs or provide more resources to existing applications to improve performance.
- Streamline selection - AWS provides recommendations based on millions of simulations to help you choose the most suitable instance type and rightsize the compute environment.
What Are the 5 AWS Design Principles for Cost Optimization?
The AWS Well Architected Framework recommends five design principles for AWS cost optimization. Here is a summary of these principles:
- Implement cloud financial management - Cost Optimization, or Cloud Financial Management, can help you accelerate business value realization and achieve financial success in the cloud. It involves dedicating time and resources to build capability through programs, resources, knowledge building, and establishing processes.
- Adopt a consumption model - AWS recommends paying only for the required computing resources and increasing or decreasing usage according to business needs. For example, staff typically use development and testing environments eight hours per day during a workweek. You can potentially achieve 75% cost savings by stopping these resources when they are not used.
- Measure overall efficiency - this principle recommends measuring the business output of a given workload and all costs required to deliver it. This information can help you identify the gains from increasing output and reducing costs.
- Do not spend money on undifferentiated heavy lifting - AWS is responsible for data center operations such as racking, powering servers, and stacking. Additionally, AWS offers managed services to help remove the operational burden of managing applications and operating systems. These services free you up from IT infrastructure tasks, helping you focus on customers and business projects.
- Analyze and attribute expenditure - clouds can help you accurately identify the cost and usage of systems, allowing transparent attribution of IT costs to the individual workload owners. It enables you to measure return on investment (ROI) and helps workload owners optimize resources and reduce costs.
AWS Pricing Models and How They Help Optimize Costs
1. On-demand pricing
The basic AWS pricing model is on-demand, with pricing for services based on actual usage, billed per hour or per second (supported for some services). It is highly flexible, but also the most expensive option. Many organizations start with on-demand pricing to understand their cloud needs and later switch to another model.
- Suitable for organizations that prefer to structure their expenses as Operating Expenses (OpEx) with no up-front payments or time commitment.
- Suitable for applications that are mission critical or have unpredictable spikes in load.
2. Savings Plans
AWS Savings Plans offers a flexible pricing model with compute usage savings of up to 72%. It lets you reduce costs for AWS usage, including for AWS Lambda, AWS Fargate, and Amazon EC2 instances. You benefit from discounted prices regardless of instance size, Region, instance family, operating system, or tenancy.
AWS Cost Explorer provides recommendations to help you optimize costs - ensure you select one-year compute options without upfront costs. When you sign up for Savings Plans, AWS automatically charges your compute usage at the lower Savings Plans rates.
- Suitable for organizations that want to maintain flexibility while avoiding upfront costs.
- Suitable for applications with varied usage requirements but will likely operate over a long time.
3. Reserved instances
Amazon lets you reserve instances for a period of 1-3 years and receive discounts of up to 75%. In a reserved instance model, if you need to scale down, you cannot get rid of the reserved instances. Scaling up will require consuming resources on-demand at a higher cost. This reduces the flexibility of the Amazon offering, although you can still benefit from the advanced automation options and rich ecosystem of services Amazon provides.
- Suitable for organizations that are primarily running existing or legacy enterprise applications on the cloud.
- Suitable for applications that have predictable usage which can be planned a long time in advance or have a predictable growth trend.
4. Spot instances
Spot instances are only available for Amazon EC2. They offer the deepest discounts available on Amazon, up to 90% from on-demand instance pricing. Spot instances allow you to bid for spare computing capacity on Amazon’s open market. Pricing may change every five minutes, and if your price bid is above the current market price, you receive the spot instance. The Amazon EC2 Spot service can interrupt your instance if capacity is not available, or the current spot price exceeds your maximum price.
- Suitable for organizations that have advanced cloud-native development capabilities, with the ability to dynamically cluster, start, stop and migrate applications.
- Suitable for applications that are stateless and either highly distributed, or run non-time-critical workloads, for example overnight batch processing of analytics data.
AWS Cost Management Tools
Amazon provides a broad set of free tools for cost management and optimization. Familiarize yourself with these tools, and use them to gain data, make decisions, and create rules and automated actions that will help you save money on AWS.
Billing and Cost Management Console
The billing section of the Amazon Console lets you see what services you are consuming on AWS and optimize their structure. Use tagging to organize services by project or department, and consolidate AWS accounts to create one billing entity for each project that has a separate budget within your organization. Read the official documentation on how to consolidate AWS billing accounts.
AWS Cost Explorer
The Cost Explorer interface lets you view usage, costs, and return on investment for Amazon services. It shows data for the past 13 months and helps you forecast future spend. Create customized views that can help you analyze your costs and identify areas for improvement. Cost Explorer also provides an API that lets you access the data via your analytics tools.
Source: Amazon Web Services
AWS Budgets lets you set and enforce budgets for specific Amazon services, and receive emails or messages from the Simple Notification Service (SNS) when budgets are reached or exceeded. You can specify an overall cost budget or connect the budget to specific data points, such as number of instances or data usage. The Budgets dashboard provides similar views to those of Cost Explorer, showing how services are being used compared to their budgets.
AWS Trusted Advisor
AWS Trusted Advisor is an automatic tool that provides guidance on best practices for your Amazon services. One of the five areas checked by Trusted Advisor is cost optimization. It provides automated optimization recommendations related to:
- EC2 reserved instance optimization and lease expiration
- Low utilization of EC2 instances
- Idle load balancers
- Underutilized EBS volumes
- Unassociated elastic IP addresses
- Idle DB instances on Amazon RDS
- Redundant Route 53 latency resource record sets
- Underutilized Amazon Redshift clusters
Amazon CloudWatch lets you set alarms based on a large variety of metrics captured from your Amazon services. CloudWatch is commonly used for cost optimization. For example, you can set up an alarm and notification when an EC2 instance’s utilization goes below 30%, investigate why the instance is underused, and take action to right-size the instance or combine workloads.
AWS Cost Reduction Checklist
Follow this checklist to reduce the costs of your AWS resources:
- Create a budget plan to guide AWS resource spending.
- Analyze your costs using the Cost and Usage Report in the AWS Console.
- Use AWS Trusted Advisor to view cost estimates and unused resources.
Optimize compute instances
- Use instances on EC2 or any other service that fits your requirements.
- Purchase reserved instances for a reasonable period of time. If you don't need an instance, don't keep it longer than necessary.
- Use the latest instance types - they typically provide higher efficiency or better performance at a lower price.
- Carefully select which workloads to run on reserved instances and which to run on on-demand instances.
- Consider the use of spot instances for workloads that don’t require high reliability.
- Schedule instances to ensure they run only during business hours or when needed. You can achieve this automatically using AWS Instance Scheduler or other tools.
Optimize storage and other resources
- Avoid orphaned EBS volumes by checking the Delete on Termination checkbox when creating EC2 instances.
- In most cases, keep EBS snapshots for only a few weeks and delete them as new ones are created.
- Terminate unneeded resources such as database volumes and Elastic IPs that are not in use.
- Store production files in S3 and move them between storage tiers based on activity, or dynamically using S3 Smart Tiering.
- Archive infrequently used data in S3 Glacier and back up your long-term archived data in Glacier Deep Archive.
AWS Cost Optimization Best Practices
Identify Amazon EC2 Instances with Low Utilization
AWS Cost Explorer provides the Resource Optimization report, which shows idle or underutilized EC2 instances. You can drive cost reduction by stopping these instances or switching them to a smaller instance size. Another option is to automatically stop underutilized instances using the AWS Instance Scheduler, or automate scheduling of instances using AWS Operations Conductor.
The AWS Compute Optimizer provides additional recommendations for EC2 instances. For example, it can suggest how to downsize instances across instance families, or switch to more powerful instances to avoid performance bottlenecks. It can also provide recommendations for efficient use of Auto Scaling groups.
Use or Sell Underutilized Reserved Instances
Reserved Instances can significantly reduce costs on Amazon, but only if you actually use them. If you have idle reservations, it is important to make use of them to avoid losing your investment.
When you discover an unused or underused reserved instance, you can use them for a new application, or an existing application running on more expensive on-demand instances. Otherwise, you can sell your RIs in the Reserved Instance Marketplace.
Use Amazon EC2 Spot Instances for AWS Cost Reduction
If your workload is fault-tolerant, using Spot Instances can reduce EC2 costs by up to 90% and is a key strategy for AWS cost reduction. The main caveat is that spot instances can be interrupted at two minutes’ notice. Examples of typical workloads include big data, containerized workloads, CI/CD, web servers, and development/testing.
Amazon provides the Spot Fleet feature, which lets you run both on-demand and spot instances in the same Auto Scaling group, letting you reserve some on-demand instances which cannot be interrupted, for critical components.
AWS Cost Reduction with Cloud Volumes ONTAP
NetApp Cloud Volumes ONTAP, the leading enterprise-grade storage management solution can do even more to help reduce your overall AWS spending through its powerful storage efficiency technologies, space-efficient snapshots, and zero-cost data cloning. With the thin provisioning, data compression, and deduplication storage efficiencies, companies can reduce storage footprint and costs on AWS by 70% and more.
Read More About AWS Costs
AWS cost optimization is a broad topic. Different Amazon services have different pricing models and cost optimization techniques. Read the articles below to gain a deeper understanding of Amazon cost management strategies, with a special focus on storage services and opportunities for optimizing storage costs.
AWS Storage Costs
Amazon provides several popular cloud storage services: Elastic Block Store (EBS), Elastic File System (EFS), Simple Storage Service (S3), S3 Glacier, and more, each with its own pricing model and unique pricing parameters.
Understand storage costs across each of the primary storage services, and see Amazon storage pricing all in one place, with examples covering the most common scenarios.
Read more: AWS Storage Costs: All in One Place
Controlling EBS Costs
Amazon EBS provides persistent storage for Amazon EC2 instances. However, when you shut down an EC2 instances, the EBS storage volume may be not automatically deleted. This can lead to major cost overages, for example in case you deploy auto scaling and automatically create largen numbers of EC2 instances, but forget to erase their attached EBS volumes when they are no longer needed.
Learn how to find unused EBS volumes and automatically delete them using an AWS Lambda function, to control EBS costs and avoid waste.
Cloud Snapshot Costs: AWS Snapshots, Azure Snapshots, and Cloud Volumes ONTAP
Snapshots are an important part of keeping data protected no matter which cloud you’re using. But if you’re not aware of the costs involved both in the creation of snapshots and for storing them, you might wind up straining your cloud budget, especially when there are demands for consistency, which requires constant backing up.
This post deals with managing the costs of the native snapshots capabilities that are available for Amazon EBS and for Azure storage. You’ll see examples of how the snapshots are created and the pricing formulas on each service. Plus, you’ll see how NetApp Snapshots with Cloud Volumes ONTAP Cloud give a cost-saving third option for snapshot protection that works in any cloud.
AWS Cost Management: 9 Free Tools to Help Cut Your Costs
Amazon Web Services (AWS) provides a range of free tools for optimization and cost management. Discover a range of free Amazon cost management tools that can help you visualize, analyze, and cut cloud costs in the AWS cloud.
AWS RDS Pricing Explained
Amazon Relational Database Service (Amazon RDS) provides a fully-managed database that includes security and high availability. Learn about key components of RDS pricing, including the free tier, pricing per database engine, database storage, provisioned IOPs, and more.
Read more: AWS RDS Pricing Explained
EFS Pricing Explained
Amazon Elastic File System (Amazon EFS) offers serverless elastic file systems. Understand the basic components of EFS pricing - storage, redundancy, and storage tiers - and learn how to optimize your EFS costs.
Read more: EFS Pricing Explained
AWS Calculator: Step By Step
You can use the official, free AWS Pricing Calculator to research AWS services and generate cost estimates for future usage of AWS. Learn how to use the AWS Calculator to generate quick estimates, advanced estimates, organize workloads using groups, and more in our detailed guide.
Read more: AWS Calculator: Step By Step
AWS Snowball Pricing Simplified
AWS Snowball is a service that ships a physical device to your data center, in order to transfer large amounts of data to or from Amazon S3. Get a simple explanation of AWS Snowball pricing components, including job and day rates, upfront commitments, data transfer, storage pricing, and shipping fees.
Read more: AWS Snowball Pricing Simplified
AWS Storage Gateway Pricing Explained
AWS Storage Gateway is designed to establish a secure connection between the AWS cloud storage infrastructure and on-premises software appliances. Understand pricing for all types of AWS Storage Gateway: including S3 File Gateway, FSx File Gateway, Volume Gateway, Tape Gateway, Hardware Appliance, and more.
Read more: AWS Storage Gateway Pricing Explained
Understanding AWS Total Cost of Ownership (TCO)
Cloud TCO involves calculating the costs required to host, run, integrate, secure and manage workloads in the cloud over their lifetime. Learn how to estimate AWS Total Cost of Ownership as compared to the TOC of your on-premises environment, and how to evaluate the viability of your AWS migration.
See Our Additional Guides on Key IaaS Topics
We have authored in-depth guides on several other topics that can also be useful as you explore the world of IaaS.
Learn about cloud migration and what major challenges to expect when implementing a cloud migration strategy in your organization.
See top articles in our cloud migration strategy guide:
- Cloud Migration Tools: Transferring Your Data with Ease
- Cloud Data Integration 101: Benefits, Challenges, and Tools
- 3 Cloud Migration Approaches and Their Pros and Cons
AWS High Availability
Discover how high available systems are reliable and resilient and see how AWS can help you achieve high availability for cloud workloads, across 3 dimensions.
See top articles in our AWS high availability guide:
- AWS Availability Zones: Architecture and Considerations for Planning Your Deployment
- AWS Data Loss Prevention: 5 Strategies and 5 Tools You Can Use
- AWS GovCloud Services: Sensitive and Classified Data on the Public Cloud
Learn about Amazon’s basic framework for migration, and how to plan for common challenges that affect almost every migration project.
See top articles in our AWS migration guide:
- 5 Steps to the Cloud: AWS Migration Checklist
- AWS Case Studies with NetApp Cloud Volumes ONTAP
- AWS Database Migration Service: Copy-Paste Your Database to Amazon
Azure Cost Management
Learn about tools and practices that can help you manage and optimize costs on the Microsoft Azure cloud
See top articles in our Azure cost management:
Learn what is AWS EBS and how to perform common EBS operations. Including five highly useful EBS features that can help you optimize performance and billing.
See top articles in our guide to AWS EBS:
Learn about AWS EFS, your backup options, how to optimize performance, see a brief comparison of EFS vs EBS vs S3, and discover how Cloud Volumes ONTAP can help.
See top articles in our guide to AWS EFS:
Learn about aspects of considerations when implementing Azure migration: migration models, state assessment, storage configuration, security, and maintenance.
See top articles in our Azure migration guide:
Azure High Availability
High availability is one of the major benefits of cloud services. The guarantee that your data will remain accessible is critical to supporting high priority workloads and applications and is the reason many move to the cloud in the first place.
This guide explains what high availability is and how to optimize Azure high availability.
See top articles in our Azure high availability guide:
Linux on Azure
Learn how to use Linux on Azure, including guides for cloud-based enterprise Linux deployments and performance tips.
See top articles in our guide to Linux on Azure:
HPC on Azure
Discover services and techniques for cloud-based HPC, including unique Azure HPC features and use cases.
See top articles in our guide to HPC on Azure:
SAP on Azure
Learn about all SAP solutions offered as a service on Azure, including HANA, S/4HANA, NetWeaver and Hybris, migration considerations and best practices.
See top articles in our guide to SAP on Azure:
VDI on Azure
Learn what options are available for VDI on Azure. Understand how the architecture works and discover best practices for VDI deployments.
See top articles in our guide to VDI on Azure:
AWS Big Data
Learn about the tools AWS provides for building big data infrastructure, including data lakes and big data analytics systems.
See top articles in our guide on AWS Big Data:
Google Cloud Migration
Learn how to migrate your workloads and data to Google Cloud, including in-depth comparisons between GCP and other cloud providers, tools, strategies, costs, and more.
See top articles in our guide on Google Cloud migration: