📚Freshcollected in 0m

Canva's S3 Design Revokes Hundreds of Millions of Sessions

Canva's S3 Design Revokes Hundreds of Millions of Sessions
PostLinkedIn
📚Read original on InfoQ中国

💡Learn how Canva approaches session revocation at hundreds-of-millions scale with Amazon S3.

⚡ 30-Second TL;DR

What Changed

The architecture uses Amazon S3 as a core component for session revocation management.

Why It Matters

The approach may help engineering teams handle large-scale session invalidation without relying solely on a traditional centralized session store. AI product builders operating multi-tenant services can use the case study to review their own identity and access-control designs.

What To Do Next

Review your authentication design and prototype an Amazon S3-backed session-revocation registry, measuring revocation-check latency and consistency under production-scale load.

Who should care:Developers & AI Engineers

Key Points

  • The architecture uses Amazon S3 as a core component for session revocation management.
  • It is designed to operate at the scale of hundreds of millions of sessions.
  • The case study is relevant to authentication, authorization, and distributed-system scalability.

🧠 Deep Insight

AI-generated analysis for this event.

🔑 Enhanced Key Takeaways

  • Canva's architecture utilizes a 'Bloom filter' approach combined with S3 to minimize latency and reduce the load on primary databases during session validation checks.
  • The system was necessitated by the need to handle global session invalidation events, such as password resets or security compromises, without performing expensive lookups in a centralized relational database.
  • By leveraging S3's high availability and global distribution, Canva achieved a cost-effective way to store revocation lists that are asynchronously synchronized across their distributed infrastructure.
  • The implementation addresses the 'thundering herd' problem by caching revocation status at the edge, ensuring that session validation does not become a bottleneck during peak traffic.
  • Canva's engineering team opted for this S3-based solution over traditional Redis-based approaches to optimize for storage cost and durability at the scale of hundreds of millions of concurrent sessions.

🛠️ Technical Deep Dive

  • Architecture utilizes S3 as a distributed, immutable store for session revocation manifests.
  • Employs Bloom filters to provide a probabilistic check for revoked sessions, reducing the need for full manifest scans.
  • Implements an asynchronous propagation mechanism where revocation events are pushed to S3 buckets and subsequently pulled by edge services.
  • Uses versioning and ETag headers in S3 to ensure consistency and prevent stale data from being used during session validation.
  • Designed to support sub-millisecond validation latency by keeping the revocation state as close to the request path as possible.

🔮 Future ImplicationsAI analysis grounded in cited sources

Adoption of S3-based revocation will become a standard pattern for large-scale SaaS platforms.
The cost-efficiency and scalability of object storage for state management provide a compelling alternative to memory-intensive caches like Redis.
Canva will likely open-source components of this session management framework.
The company has a history of contributing to the engineering community and this architecture solves a common problem for distributed systems.

Timeline

2013-01
Canva launches its initial design platform.
2021-05
Canva reaches 55 million monthly active users, necessitating major infrastructure scaling.
2024-09
Canva engineering begins publicizing details of their 'Supergraph' and distributed system architecture.
2026-05
Canva shares technical insights regarding their S3-based session revocation system.
📰

Weekly AI Recap

Read this week's curated digest of top AI events →

👉Related Updates

AI-curated news aggregator. All content rights belong to original publishers.
Original source: InfoQ中国

Canva's S3 Design Revokes Hundreds of Millions of Sessions | InfoQ中国 | SetupAI | SetupAI