SysPad › Examples › Collaboration platform
Collaboration platform
A Notion/Slack-style product: AppSync realtime doc sync + WebSocket chat + Redis Streams presence (Realtime Layer), a DocumentDB/Neptune/MemoryDB/DynamoDB data tier (grouped VPC), and an App Runner integrations service flagged as tech debt.
Using logical clusters to keep a 13-node architecture readable - a collapsed data-tier VPC, an expanded realtime layer, and a colour-coded tech-debt callout.
- Load: 5,000 req/sec
- First to saturate: Auth
- Estimated cost: $67k/mo
How it works
- Doc Sync (AppSync)
- Pushes document changes to everyone with the page open, so a collaborator sees an edit without asking for it. Three resolvers per request is the real cost of a GraphQL response assembled from several sources.
- Chat (WebSocket)
- Chat needs a connection held open, not a request answered. Cost here follows connection-minutes and messages per connection, which is a different shape from every HTTP node on this canvas.
- Presence Fan-out
- Who is online and where their cursor is. A capped stream rather than a database, because presence is worthless the moment it is stale and nobody wants it kept.
- Permissions Graph
- "Can this person see this page, through any group they belong to?" is a graph traversal. Answering it in SQL means recursive joins that get slower as the org chart grows.
- Integrations Bot
- Flagged as tech debt on purpose. It takes 5% of traffic but 300ms per request and writes to a shared filesystem, which is why it sits in its own group rather than pretending to belong with the rest.
Lessons for this architecture
- Modelling users and traffic entry points
- How Application Load Balancer works
- How EKS Cluster works
- How Cognito works
- How AWS AppSync works
- How Amazon API Gateway works
- How Redis Streams works
- How DocumentDB works
- How Neptune works
- How MemoryDB for Redis works
- How DynamoDB works
- How AWS App Runner works
- How EFS works