In part 1 of this series, we looked at the pricing models for three AWS storage options: EBS, EFS and Glacier. In this post, we will explore three more storage options to give you a broader view of your storage possibilities, allowing you to optimize your AWS storage cost while still meeting your company’s needs.
Note: Amazon Web Services is spread across 10 regions and pricing varies from region to region. In this blog post, US East (Northern Virginia) will be considered our base region. Therefore, the price calculations that we make here are only valid for that region.
1. Amazon RDS
Amazon Relational Database Service is a managed relational database offering for MySQL, PostgreSQL, Oracle, Aurora and SQL Server. It allows you to store your database in Magnetic Disks, General Purpose SSD or Provisioned IOPS SSD storage. Amazon RDS provides compute and storage scalability, performance, reliability and smooth deployment.
There are two types of charges for Amazon RDS: instance cost and storage cost.
Amazon RDS offers a wide variety of compute nodes for instances, from db.t2.micro to db.r3.8xlarge. AWS bills you on an hourly basis depending on the level of your deployment for each instance type (e.g., Single-AZ and Multi-AZ).
In terms of storage costs, Amazon RDS charges:
- $0.115 per GB/month (Single-AZ) and $0.230 per GB/month (Multi-AZ) for General Purpose SSD storage.
- $0.125 per GB/month (Single-AZ) and $0.250 per GB/month (Multi-AZ) for Provisioned IOPS SSD storage. Apart from this, you are charged a PIOPS rate of $0.10 per IOPS/month (Single-AZ) and $0.20 per IOPS/month (Multi-AZ).
- $0.10 per GB/month (Single-AZ) and $0.20 per GB/month (Multi-AZ) for Magnetic storage. There is also an I/O rate of $0.10 per 1 million requests.
A publishing company publishes articles about current affairs around the world. The publishing team consists of very well known journalists spread across the world that generate 30-40 articles on a daily basis. An average of 20,000 – 25,000 visitors comment on the articles on a daily basis.
The company has a LAMP stack and leverages Amazon RDS Multi-AZ to store their database records which include the daily articles and comments from visitors. They chose Amazon RDS because of its scalability, failover, and easy maintenance. Their current database size is around 12GB, deployed within a single Availability Zone, and they use general purpose SSD storage. Over the next six months, they expect their database to quadruple.
The current storage cost for this RDS environment is $1.38 per month, and after six months, the expected storage cost will be around $5.50 per month.
2. Amazon Redshift
If you are looking for a solution to store a large amount of data for analytics workloads or column based databases, Amazon Redshift is for you. It lets you store petabytes of data and allows you to process your data in parallel. It carries important features like scalability, backup, low cost, full management, encryption, easy restoration, and more. Consider it your private data warehouse in the cloud.
Amazon Redshift offers two types of nodes: Dense storage and Dense compute. Each node has pre-defined CPU, memory, storage and I/O. Dense storage uses Magnetic disk hard disks while Dense compute uses SSDs.
dw1.xlarge instances offer 2vCPU, 15GB memory, 2TB HDD storage, 0.30GB/s I/O at a price of $0.850 per hour.
dw1.8xlarge instances offer 16vCPU, 120GB memory, 16TB HDD, 2.4GB/s at a price of $6.800 per hour.
dw2.large instances offer 2vCPU, 15GB memory, 0.16TB SSD, 0.20GB/s I/O at a price of $0.250 per hour.
dw2.8xlarge instances offer 32vCPU, 244GB memory, 2.56TB SSD, 3.70GB/s I/O at a price of $4.800 per hour.
A social media company generates a lot of analytics data that needs to be stored in column based storage. They decided to go with Amazon Redshift because of its features and the fact that it removes the overhead and burden of managing a data warehouse. The company needs to analyze their analytics data on a regular basis to understand user usage patterns and make necessary recommendations to end-users. Currently, there data size is nearly 12TB, but they are growing at a rate of 1TB per month. Performance is definitely a top criteria for them, so they decided to go with dense compute nodes because they use SSD storage.
The current cost of maintaining their data warehouse for 12TB of storage comes out to:
five dw2.8xlarge instances which is equivalent to $24 per hour which is $17,280 per month. The size of their data will increase to 18TB over the next six months, which will require three additional dw2.8xlarge instances. The total cost of running a Redshift cluster with 18TB of storage then comes out to around $27,648 per month.
3. S3: Simple Storage Service
Amazon Simple Storage Service (S3), is object storage and was the first publicly available service launched by Amazon in 2006 with the aim of providing durability and scalability. With a pay as you go model. It allows you to store an almost infinite amount of data that can be accessed programmatically via different methods like REST API, SOAP, web interface, and more. All data in S3 is stored inside buckets. Amazon S3 started with the concept of object storage but over a period of time, many features were added like hosting static websites, object versioning, server side encryption, logging, and so on.
The total price of Amazon S3 usage depends on various factors like the amount of storage used, the number of GET/PUT/LIST/POST/COPY requests and data transfers.
- Storage Pricing: Amazon S3 charges $0.03 per GB for your first 1TB/month. The more data you store, the less you pay.
- Request Pricing: For PUT/COPY/POST and LIST requests, Amazon charges $0.005 per 1,000 requests and $0.004 per 1,000 requests for GET requests..
- Data Transfer Pricing: For up to 10TB/month of data transferred OUT from Amazon S3 to the internet, Amazon charges $0.09 per GB. There is no charge for INWARD traffic.
A photo sharing site completely relies on Amazon S3 to store and display photos uploaded by their end-users. Their current end-user customer base is about 8,000, and on average, 4,000 users upload around 60,000 photos per month. The approximate average size of each photo is around 1MB. Each photo is viewed around three times per month.
Let’s calculate the tentative costs incurred by this photo sharing site:
Total storage per month: 60,000 images x 1MB = 60,000MB = 60GB
Storage cost for 60GB: 60GB x $0.03 = $1.80 per month
Total PUT/POST requests per month: 60,000 requests
PUT/POST request cost: 60,000 x ($0.005/1000) = $0.30 per month
Total GET requests per month: 60,000 photographs x 3 views = 180,000 requests
Total GET request cost: 180,000 x ($0.004/1000) = $0.24 per month
Total data transfer OUT cost from Amazon S3 to the internet: 60GB of data x 3 views x $0.09 per GB = $16.20 per month
Total cost = (storage cost + PUT/POST request cost + GET request cost + data transfer cost) = $18.54 per month
As discussed above, there are various storage options offered by Amazon Web Services and each storage option has its own use case. With the information provided in this two-part series, you can make the appropriate storage decisions for your company’s needs.