- The Cloud Economist
- Posts
- How Canva Saves $300K Every Month On Amazon S3 Costs
How Canva Saves $300K Every Month On Amazon S3 Costs
A case study on saving money with Amazon S3 costs by using the different storage classes and understanding your access pattern.
Canva stores over 230 petabytes of data in Amazon S3, and growing every day.
But it is by having visibility over these vast amounts of data and using S3’s various storage classes effectively that allows Canva to save millions of dollars every year. [1]
Let’s take a look at exactly how Canva analyzes their workloads, compares them against the different storage classes in S3 to help them save $300,000 every month, and how you can do the same by following this strategy.
The Storage Challenge
Imagine you are managing the data for 130 million (and growing) monthly active users across 190 countries. These users regularly create billions of designs.
Storing that data cost-effectively was one of Canva’s biggest challenges.
While Canva’s in-house media library lies in the region of 75 million assets, it pales in comparison to the amount of user-generated data it needs to store.
Understanding Your Usage Patterns
Here’s where things get interesting.
Canva’s engineering team noticed that most users access their designs right after creation, but this activity drops off significantly afterward.
This insight led them to question their storage strategy.
Initially, Canva was using S3’s standard storage class for frequently accessed content like newly created designs and Canva’s licensed assets. For less frequently accessed data like older designs, they used S3’s standard IA storage class.
But they felt like there was much room for improvement.
Amazon S3 has several different storage classes you can choose from.
Based on your access patterns, the resiliency you need, and the cost requirements of your workloads, you can choose to store your data in the following different storage classes:

AWS Docs. Amazon S3 storage classes
Understanding Their Access Patterns
To realize the maximum cost savings, Canva needed to thoroughly understand their storage access patterns.
The following graph shows the steep decline in bytes stored after 30 days in the Standard Class, due to lifecycle policies that Canva put into place. Retrieval rates drop sharply after 15 days.
The next graph shows the same information as above but for the Infrequently Access Storage class. The graph resembles closely Canva’s user base growth.
Here, notice how the rate of retrieval remains flat across the entire timeline.
The S3 Glacier Instant Retrieval Solution
When AWS launched S3 Glacier Instant Retrieval in 2021, it offered a highly beneficial solution for Canva: archive-level storage costs with millisecond-level access speeds.
However, there was a catch.
Moving their data from standard and IA-standard storage classes isn’t free.
With over 300 billion objects in S3, moving all of these out to another storage class would cost about $6 million.
The engineering team was forced to think carefully about what data to move and when to move it.
The approach Canva’s team came up with was to analyze the average size of objects in each storage bucket.
Moving large objects would offer a faster ROI recovery, while smaller objects might take months to break even
So they decided to focus on buckets where the average object size was 400kb or more.
When moving objects between S3 storage classes you pay per request. Moving objects into S3’s Glacier Instant Retrieval class costs $0.02 for 1000 objects.
At the same time, the potential savings from storing your data in S3’s Glacier Instant Retrieval tier comes from the total amount of data in the storage class. Also, the cost to transition all the data is a one-time charge while the savings from the Glacier tier is an ongoing reduction.
Here’s what that meant:
Canva could calculate the approximate time it would take to move data from S3 standard to Glacier Instant Retrieval to break even based on the average object size in the bucket.
They calculated that they would see a positive ROI from moving objects from S3 Standard-IA to S3 Glacier Instant Retrieval faster on buckets with larger average object sizes.
The Results: A $3.6 Million Annual Win
The migration process was made super smooth thanks to S3’s fully managed nature. It took Canva only 2 days to complete the migration.
While the transition cost them $1.6 million, the results were worth it.
They had saved $300,000 each month, adding up to $3.6 million annually.
Today, more than half of Canva’s data (130 out of 230 petabytes) lives in S3 Glacier Instant Retrieval, and they continue to increase their savings as their user base grows.
The Takeaway
Here are the main takeaways for businesses that require large-scale storage solutions and hope to reduce expenses:
Understand your data storage patterns before making any storage decisions.
Spending money upfront can sometimes lead to significant long-term savings.
Not all data should be treated equally, different access patterns call for different storage solutions.
Use the various S3 storage classes sparingly, they are designed to help you reduce costs intelligently.
One Tip To Save Costs
Use S3’s Intelligent Storage Tier - it will learn from your access patterns and automatically move your data across tiers to optimize costs for you.
You’ll pay a little extra at first but it will massively pay off after a few months only.
Want to learn more about optimizing your cloud costs?
Subscribe to our newsletter for weekly cloud computing cost-savings tips and insights.
I would like to recommend a great up-and-coming newsletter called Llambduh - Join the herd 🦙 and subscribe 📰 to Llambduh for fun and informative DevOps articles & videos!
You can subscribe to Llambduh here.
Curated Articles
“How Canva saves over $3 million annually in Amazon S3 costs”. By Josh Smith. May 4th 2023. https://aws.amazon.com/blogs/storage/how-canva-saves-over-3-million-annually-in-amazon-s3-costs/
“S3 Intelligent Tiering storage class”. AWS.com. https://aws.amazon.com/s3/storage-classes/intelligent-tiering/