The 2023 AWS re:Invent conference was filled with a number of exciting announcements, including the announcement of a new Amazon S3 storage class: S3 Express One Zone. Marketed to be suitable for “latency-sensitive applications,” this new storage class promises to efficiently scale and provide much lower request latency. The announcement of S3 Express One Zone created a lot of buzz in the Cloud and Data communities, prompting us to do a deep dive on its pricing as well as some community reactions.

Breaking Down the New S3 Storage Class

S3 Express One Zone is marketed as having a 10x better performance than S3 Standard. It is a single-Availability Zone (AZ) storage class, meaning users can select a specific AZ within a Region for storing data. S3 Express One Zone provides “consistent single-digit millisecond latency” and is ideal for frequently accessed data or demanding applications. The new storage class boasts the ability to handle “hundreds of thousands” of transactions per second. Users have the option to use a new type of storage bucket called directory buckets. These buckets also contribute to the greater access speeds. A general, non-exhaustive list of S3 Express One Zone features is provided below.

Feature Description
Latency and Performance
  • 10x faster data access speeds vs. S3 Standard
  • Scales elastically to meet demand
Availability and Redundancy
  • Offers 99.95% availability in a single AZ
  • Data redundancy is maintained via storage on multiple devices within the same AZ
Compatible Bucket Types
  • Option to use S3 general purpose buckets
  • Also the only storage class compatible with S3 directory buckets, which organize data hierarchically into directories and are appropriate for applications that require very low request latency
Multipart Uploads To optimize throughput, users can use multipart uploads, which AWS suggests using for objects greater than 100MB
Authentication and Authorization Includes a new session-based mechanism for authentication and authorization
Consistency Ensures strong read-after-write consistency, for both PUT and DELETE requests, for objects within directory buckets across all AWS Regions

Summary of S3 Express One Zone Features

S3 Express One Zone also has impressive reviews from companies like ClickHouse, who saw a 283% query performance boost for their primary storage. Pinterest also saw a 10x increase in data processing speeds when combining the new storage class with MemQ, which they found will enable “higher velocity data consumption and more frequent experimentations.”

S3 Express One Zone vs. S3 Standard Pricing

Another highly promoted feature of S3 Express One Zone is that request costs are 50% lower than S3 Standard. In general, S3 costs are billed based on object storage amount, object storage class, bandwidth, and request metrics, like GET, SELECT, PUT, COPY, POST, and LIST. Compared to S3 Standard, even though the new class offers 50% cheaper request pricing—storage is almost seven times more expensive.

The following table summarizes storage and request pricing differences between S3 Standard and S3 Express One Zone.

Storage Class Storage Pricing per Month (USD) PUT, COPY, POST, LIST requests (per 1,000 requests, USD) GET, SELECT, and all other requests (per 1,000 requests, USD)
S3 Standard
  • First 50 TB/Month: $0.023 per GB
  • Next 450 TB/Month: $0.022 per GB
  • Over 500 TB/Month: $0.021 per GB
$0.005 $0.0004
S3 Express One Zone All storage/Month: $0.16 per GB $0.0025 $0.0002

S3 Standard vs. One Zone Express Pricing

Note that the pricing above does not specify request size—which matters with the new storage class. S3 Express One Zone applies the above pre-request pricing for request sizes up to 512 KB. Additional per-GB charges occur on PUT and GET requests for the portion of a request that is greater than 512 KB.

  • For US East (N. Virginia), US West (Oregon), and Europe (Stockholm) Regions:
    • $0.008/GB for PUTs
    • $0.0015/GB for GETs
  • For the Asia Pacific (Tokyo) Region:
    • $0.0075/GB for PUTs
    • $0.0014/GB for GETs

S3 Express One Zone vs. S3 Standard Pricing Scenarios

The following pricing scenarios specifically highlight storage and request costs. For simplicity, we exclude any other costs, like data transfer, and focus on the areas where costs vary between the two storage classes.

Pricing Scenario 1: Storing 100 GB of Data and Performing 1,000,000 PUT Requests

This scenario assumes that request sizes are under 512 KB and therefore assesses only the flat per-request charge for S3 Express One Zone request costs. (All calculations are done in USD.)

Storage Class Storage Cost PUT Requests Cost Total Cost
S3 Standard $2.30 (100 GB x $0.023) $5.00 (1,000,000 PUT requests x $0.000005 per request) $7.30
S3 Express One Zone $16.00 (100 GB x $0.16) $2.50 (1,000,000 PUT requests x $0.0000025 per request) $18.50

​ In the above scenario, we can clearly see that the storage cost for S3 Express One Zone is about seven times greater than that of S3 Standard; however, the request cost is cut in half. Again, in this scenario, our request sizes were under 512 KB.

Let’s review a scenario where request sizes are greater than 512 KB.

Pricing Scenario 2: Storing 1 TB of Data and Performing 500,000 GET Requests with Request Size of 100 MB

In the following scenario, we will increase the request size above 512 KB to demonstrate additional assessed charges. Of course, your request sizes are more than likely going to vary for each request, but for simplicity’s sake, we’ll use 100 MB for all requests in this example. Again, all calculations are done in USD.

Storage Class Storage Cost GET Requests Cost Total Cost
S3 Standard $23.55 (1,024 GB x $0.023) $0.20 (500,000 GET requests in a month x $0.0000004 USD per request) $23.75
S3 Express One Zone $163.84 (1,024 GB x $0.16) $0.10 (500,000 GET requests in a month x $0.0000002 per request)

+

$72.88 additional request size charge (see box below table for calculations)
$236.82
Click to view detailed calculations for storage request size

  • $0.0015 per GB / 1024 (MB per GB) = $0.00000146484375 (cost per MB)
  • 100 MB - 0.5 MB (512 KB) included = 99.5 MB additional request size over 512 KB
  • 99.5 MB x $0.00000146484375 (cost per MB) = $0.000145751953125 (additional cost per request)
  • $0.000145751953125 (additional cost per request) x 500,000 requests = $72.88 (rounded to nearest cent)


Here, we can see that the request cost goes up quite a lot, therefore suggesting that smaller requests are much more economical. As community user Stanislav Kozlovski puts it, “…You’re incentivized to read/write a 1MB file with two writes.” Increasing the number of requests incurs nominal charges but saves you from having to front the much greater charges incurred by larger request data sizes.

S3 Express One Zone Community Reactions

After the announcement, we saw a ton of chatter and analysis in the Data and Cloud communities. Community opinions are generally mixed, and many tried to speculate on exactly how the new storage was able to provide such vast improvements in latency. One commenter—who claims to have formerly worked on S3—suggests that the new storage class is “SSD-backed” and “presumably doesn’t use Java,” which helps it with the latency challenges S3 Standard faces.

Stanislav Kozlovski (cited above) echoes the costs implications: “…[I]t’s 2x more expensive than gp3 SSD” and “30% more than io2 SSD.” (To note, the EBS pricing docs support this reference.) He offers a suggestion to get around the issue: “[Y]ou either want to DELETE the data in S3 Express soon after or READ it out to another system.”

A similar analysis from Jack Vanlightly recognizes the appeal of S3 Express One Zone, but also notes its failure to meet the “cheap” criterion users look for when selecting cloud storage. He suggests that, at present, the new storage class may not be “compelling to data systems that offer low-latency workloads using replicated caches,” citing its costs as a limiting factor for some users.

Finally, Richard Artoul brings up a solid point to consider: “…[T]he new Express storage class is single zone…[meaning] most modern data systems will have to manually replicate their data to two different availability zones” to avoid issues with single-AZ failures. Thus, users have another cost to consider in this instance.

Conclusion

In conclusion, this exciting re:Invent announcement created a ton of buzz in the Cloud community. Most users were excited about new possibilities with this performance increase, while some were concerned about price implications for some use cases. S3 Express One Zone introduces a significant shift in performance; however, users must always continue to assess their specific use case and data access patterns. Some tips and considerations discussed here include:

  • Consider making smaller-sized requests or splitting requests when request sizes exceed 512 KB.

  • Some may consider initially using S3 Express One Zone and then moving to another storage class, like S3 Standard, with lower storage costs. (Although, you may need to consider any associated charges with moving the storage here as well, and you’ll lose the massive increases in performance.)

  • At the end of the day, the savings in latency may outweigh increased storage costs based on your use case.

Ongoing discussions and user experiences will likely shape best practices for this new storage class.