Canva's S3-Powered Session Revocation: Scaling to 100M+ Sessions (2026)

The Canva Revamp: A Case Study in Scalable Session Management

Canva's recent overhaul of its session revocation infrastructure is a fascinating case study in managing scalability and performance for a rapidly growing platform. The challenge? How to handle hundreds of millions of active sessions without overloading the database with authentication requests.

The S3 Solution:

Canva's innovative approach involves leveraging Amazon S3, a simple yet powerful object storage service. Instead of relying solely on a traditional database, they store revocation data in S3 as compact, immutable records. This design decision is brilliant, as it allows for efficient distribution of data to application gateways, which can then authenticate requests locally.

What many might not realize is that this approach significantly reduces the need for networked database lookups, a common bottleneck in high-traffic systems. By keeping the data in S3, Canva ensures that the gateways can make authentication decisions quickly, improving overall system performance.

In-Memory Indexes and Optimizations:

The genius lies in the details of their implementation. Canva uses in-memory indexes at the gateways, which are updated with the latest revocation data from S3. This not only speeds up authentication but also reduces the memory footprint by a staggering 87.5%. This optimization is crucial for maintaining performance as the number of sessions grows.

Personally, I find the use of conditional GETs and PUTs intriguing. These mechanisms ensure that gateways only download and update the necessary data, further optimizing the process. It's a great example of how simple techniques can lead to significant performance gains.

Reducing Database Dependency:

Canva's choice to move away from a traditional database-centric approach is noteworthy. By avoiding the need to contact a networked datastore for every authentication request, they've reduced the strain on their database infrastructure. This is a common pain point for many large-scale applications, and Canva's solution offers a fresh perspective.

One thing that stands out is their decision to use Amazon S3 over Redis. While Redis is a popular choice for caching, Canva's engineers recognized that S3's durability and simplicity aligned better with their goals. This is a great reminder that the right tool depends on the specific use case.

Handling Revocations Efficiently:

The system's ability to process revocations efficiently is impressive. With the new architecture, Canva can handle over 2,000 revocations per second, which is more than sufficient for their needs. This is achieved through a clever design where revocations are stored in S3 objects, allowing for quick retrieval and processing.

A key insight here is that by optimizing the revocation process, Canva ensures that the overall system remains responsive even during high-traffic periods. This is essential for maintaining a seamless user experience.

Community Insights and Reflections:

The discussion on Reddit highlights an alternative approach: using refresh tokens and storing them in a database. While this is a valid strategy, Canva's engineers rightly point out that frequent token refreshes could lead to increased database load. Their chosen method strikes a balance, keeping the database dependency low while ensuring efficient revocation handling.

In my opinion, this case study demonstrates the importance of tailoring solutions to specific needs. Canva's success lies in understanding their unique requirements and designing a system that not only scales but also optimizes performance at every level.

Implications and Takeaways:

Canva's new session revocation architecture has far-reaching implications. It showcases how cloud storage services like Amazon S3 can be creatively utilized to solve complex scalability issues. Additionally, it emphasizes the value of optimizing data distribution and local processing to reduce system bottlenecks.

As we move towards an era of ever-increasing data and user interactions, such innovative solutions will become even more critical. Canva's approach provides a blueprint for other developers and engineers facing similar challenges, encouraging them to think beyond conventional database-centric designs.

In summary, Canva's journey teaches us that scalability and performance are not just about adding more servers or resources; it's about rethinking architecture, leveraging the right tools, and optimizing every layer of the system.

Canva's S3-Powered Session Revocation: Scaling to 100M+ Sessions (2026)

References

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Msgr. Benton Quitzon

Last Updated:

Views: 5773

Rating: 4.2 / 5 (43 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Msgr. Benton Quitzon

Birthday: 2001-08-13

Address: 96487 Kris Cliff, Teresiafurt, WI 95201

Phone: +9418513585781

Job: Senior Designer

Hobby: Calligraphy, Rowing, Vacation, Geocaching, Web surfing, Electronics, Electronics

Introduction: My name is Msgr. Benton Quitzon, I am a comfortable, charming, thankful, happy, adventurous, handsome, precious person who loves writing and wants to share my knowledge and understanding with you.