Scalable architecture
what is it and how to do it right
Chief Architect @ Viber
Agenda
- Scaling stories from real companies
- Identifying bottlenecks (interactive session)
- Resources basics
- Simple app from basic to super scale
- Considering the right elements (What not to do)
Scaling stories
- Sisense
- Wix
- OpenWeb
- Wiki\Netflix
- Rabbitmq\Whatsapp
- Google
note:
- Sisense - Multi Build & Partial build
- Wix - Module Federation
- OpenWeb - Microservices Arch
- Wiki\Netflix - Elastic
- Rabbitmq\Whatsapp - Erlang
- Google - k8s
- what is scaling? not just a system needs scale, monitoring logging and team solutions
Let’s solve a scale issue
note:
- I explain a system, and that the users are upset of how slow it is: Fun Run - Web Game
- Identify (ask questions and seek the biggest bottleneck)
- Diagnose -> Track -> Fix
- web, react + go + auth service + socring service
- Summarize
Basic method of solving any scale issue
- Identify & Diagnose
- Monitor
- Plan & Suggest
- Change & Asses
- Iterate (got to 1)
Break
The Basics
- Stateless vs Stateful
- Horizontal and vertical scaling
- Microservices
- Communication (API, GQL, Message Q, RPC)
- Languages (go, node, rust)
- DBs (s3, elastic, graph, nosql, sql)
- Caching - varnish\ CDN \ redis \ nginx \ caddy (ML guesstimations)
note:
it’s all about understanding the issue and tradeoffs:
- statefullness gives you speed, stateless gives you the abillity to serve lot’s of users
- Micoreservices comes with a price, just like monorepos does (complexity)
- choose Communication based on the problem and diff between solutions (MCP)
- language is a choise but not just technical, it has business implications (hiring, growing, maturity, onboarding)
- DBs has Price as another aspect and DBAs are almost gone so ease of operation
- caching is an optimization (start without it)
Super Scale your SaaS
note:
- Networking
- DNS
- loadbalancer
- CDN
- Cache
- API GW
- Compute
- MQ
- DB
- Multi region
- Recovery
- Security
- Monitoring
A time and a place for everything
Considering the right elements (What not to do)
- ML
- Do the simplest thing that solves the problem
- Scaling is not just about system
- use the tools you already have
- Multiple ways to solve the same problem
- Resources & workarounds
note:
- problem should describe the amount of users/RPM, SLAs
- Conway law
- opensource, org, techleads, consultants
- Money, devs, QA, support

Random links