Startup Resources: Scalability

Learn how to scale your tech stack to handle more users, more traffic, and more data. See the "Scalability" chapter in Part II, Technologies for more info.

  1. Scalability Patterns
  2. Distributed Systems Reading
  3. Performance profiling and debugging tools and techniques
  4. Further reading

These startup resources are based on the book Hello, Startup: A Programmer's Guide to Building Products, Technologies, and Teams by Yevgeniy Brikman. These resources are a work in a progress. They are also open source, so you can add your contributions by submitting a pull request to the Hello, Startup GitHub Repository. To see how these resources fit into the bigger picture, check out the The Startup Checklist, which is a comprehensive collection of everything you need to do to launch a startup.

Scalability Patterns

Building Software Systems At Google and Lessons Learned

https://www.youtube.com/watch?v=modXC5IWTJI

Jeff Dean's talk at Stanford EE Computer Systems Colloquium. See also the slides.


Scalability at YouTube

https://www.youtube.com/watch?v=G-lGCC4KKok

A talk by one of the original engineers at YouTube, Mike Solomon.

















Performance profiling and debugging tools and techniques

Performance Analysis Methodology

http://www.brendangregg.com/methodology.html

A performance analysis methodology is a procedure that you can follow to analyze system or application performance. These generally provide a starting point and then guidance to root cause, or causes.


USE Method: Linux Performance Checklist

http://www.brendangregg.com/USEmethod/use-linux.html

The USE Method provides a strategy for performing a complete check of system health, identifying common bottlenecks and errors. For each system resource, metrics for utilization, saturation and errors are identified and checked.