While many sites and services crash these days due to extremely intensive and unplanned load caused by high traffic, it is a great opportunity to learn. In this lecture about system scalability I share a story about small company that while grows up, facing challenges at each stage and solving them by applying various scalability patterns and decomposes its monolithic system into distributed Microservices.
- Scalability cube
- Scaling the DB
- Scaling the app
- Session management
- Asynchronous operations
- Security aspects in Cloud management of keys & least privilege approach, monitoring and security incident response plan
1. Knowledge is the power and for that you need data - Monitoring of 4 golden signals (latency, traffic, system errors, resource saturation) along with business and product metrics is crucial for dealing with scalability challenges.
2. Use The Scale Cube model and apply three of the methods by which technology platforms may be scaled to meet increasing levels of demand and build systems that scale indefinitely.
3. Power is the power - your power is your customers. Don’t let them wait. Use separation in time principle and schedule long running competing requirements in different times by using async vs. sync, offline jobs and event driven streaming approaches.
4) Minimize blast radius
5) Automate everything
6) Escalate early and often
7) Learn from your failures
I need about 1 hour for this session and about 15 minutes for questions. Target audience: engineers, architects, tech leads, development managers
Intuit - Chief Architect, Israel Site
Rishon LeTsiyyon, Israel