TL;DR: Amazon S3 offers a service named S3 Intelligent Tiering that has the potential to save you money by shifting S3 objects between various S3 storage classes on your behalf. However, there are accompanying fees and use-cases where this will actually cost you more money. This post helps break down the mechanics of how S3 Intelligent Tiering works in simple terms.
Amazon Simple Storage Service (S3) is one of the most popular services that AWS provides. AWS has made it dead simple for you to push files (which AWS refers to as objects) up to the cloud into namespaces (which AWS refers to as buckets) that allow you to pay for only what you use. Despite its popularity, S3 is one of the most complicated services from a pricing perspective as it charges you on a variety of dimensions including transit costs, the HTTP requests for accessing the service, as well as, the underlying storage utilized. This blog post covers the topic of S3 Intelligent Tiering which has potentially drastic cost saving implications for S3 storage in particular with the ability to save you over 50% depending on your objects’ access patterns.
Before diving into what S3 Intelligent Tiering is and how it works, you should be comfortable with understanding the concept that S3 offers various different storage types that can be set on a per-object basis. If you’re familiar with S3 storage classes you can skip to the next section.
S3 storage classes cover different use-cases offering varying degrees of durability and access performance and, as a result, different pricing. By default all objects are stored in the “Standard Storage” class which happens to be the most expensive storage class. All other storage classes offer varying, lower levels of durability or access performance.
This post won’t go in depth on the various S3 storage classes and how they’re priced but there is a separate blog post where you can learn more about this written here or you can read brief summaries in the S3 Storage Class section of the Cloud Cost Handbook.
S3 Intelligent Tiering in simplistic terms is an automated service that AWS S3 provides that will monitor access patterns of S3 objects and change their respective storage classes on your behalf to get you automatic cost savings. Objects uploaded or transitioned to S3 Intelligent-Tiering are automatically stored in the Frequent Access tier which has the same pricing as Standard Storage.
The four storage classes that S3 Intelligent Tiering transitions objects in between are:
Now that you understand concepts of S3 storage classes and what intelligent tiering is, the first question is typically, “How much can this save me?” Ultimately that question is answered by three things:
The easiest way to think about possible savings is understanding the relative pricing between the four storage classes that S3 Intelligent Tiering can possibly place your objects in. Below is a table of relative savings percentages to S3 Standard Storage based upon prices in us-east-1:
Ultimately only you know your objects’ access patterns. If all of your files are being regularly accessed, you’re ultimately not going to yield any savings through S3 Intelligent Tiering. If your access patterns are incredibly seldom then over time you can save over 90% on storage costs by leveraging the Deep Archive Access Tier.
The final consideration mentioned above is “How many objects you’re monitoring with S3 Intelligent Tiering.” For how that impacts potential cost savings, the entire section below covers this.
S3 Intelligent Tiering has monitoring fees associated with it of $0.0025 per 1,000 objects per month. Note that this fee will occur when you turn on Intelligent Tiering but it will take time for objects to transition from one storage class to another to realize savings. Ultimately your savings rate will be impacted by the number of objects that are being monitored by S3 Intelligent Tiering. To calculate S3 Intelligent Tiering Monitoring Fees, you can use the following equation (with one example) below:
S3 Intelligent Tiering Monitoring Costs per Month = # of objects with Intelligent Tiering / 1000 objects * $0.0025
$2.50 per month = 1,000,000 / 1000 * $0.0025
S3 Intelligent Tiering also has fees associated with transitioning objects from one storage class to another of $0.01 per 1,000 objects. This fee occurs as often as Intelligent Tiering transitions objects from one intelligent tiering class to another. To calculate S3 Intelligent Tiering Transition Fees, you can use the following equation (with one example) below. To estimate your transition fees, take a look at the transition timelines discussed later on in this post.
S3 Intelligent Tiering Transition Costs per Month = # of object transitions / 1000 objects transitions * $0.01
$5.00 per month = 500,000 object transitions / 1000 * $0.01
Note that AWS charges you for transitioning objects into Intelligent Tiering. So even just to transition an object from S3 Standard to S3 Intelligent Tiering, you’ll be charged this fee right off the bat.
When you think of your possible “net savings rate” as it relates to S3 Intelligent Tiering you should try and gage how much savings you think you’ll yield from having objects transition from one storage class to another but factor in the monthly fee for the number of objects you’re having S3 Intelligent Tiering monitor. This can be tricky as S3 Intelligent Tiering fees are based upon the number of objects monitored whereas the potential savings are derived from the storage of the underlying objects.
Using the example figured above, if you had 1,000,000 objects that in aggregate were storing roughly 45TB at a total storage cost of about $1,000 per month and you think half of that storage will transition to the Infrequent Access Tier (half the cost of the frequent access tier), your net savings rates would be:
Net Savings Rate = (Total Costs Before S3 Intelligent Tiering - Total Costs After S3 Intelligent Tiering) - Monthly Tiering Fee - Monthly Transition Fees
$492.50 in monthly savings = ($1000 - $500) - $2.50 - $5.00
Timelines for S3 Intelligent Tiering transitions are important to take note of as potential savings will be realized over the span of multiple months. It’s very likely for your first month of S3 Intelligent Tiering, your S3 costs will *go up.* Below is a view of these timelines and how long it may take you to realize savings for transitioning objects from one storage class to another.
There are a few final considerations to be aware of when it comes to S3 Intelligent Tiering to level set expectations:
Need help with S3 Intelligent Tiering? Vantage will now show you the approximate cost of monitoring S3 Buckets’ objects and what the potential ROI will be for potential savings. Login to the Vantage console and head to an S3 Bucket page to see the report.
Interested in this topic and others relating to cloud costs? Join our friendly, growing Slack community.