System Design

From original https://gist.github.com/vasanthk/485d1c25737e8e72759f

System Design Cheatsheet

Picking the right architecture = Picking the right battles + Managing trade-offs

Basic Steps

1) Clarify and agree on the scope of the system

2) High level architecture design (Abstract design)

3) Component Design

4) Understanding Bottlenecks

5) Scaling your abstract design

Load Balancing

Platform Layer

Key topics for designing a system

1) Concurrency

2) Networking

3) Abstraction

4) Real-World Performance

5) Estimation

6) Availability & Reliability

Web App System design considerations:

Working Components of Front-end Architecture

Links

How to rock a systems design interview

System Design Interviewing

Scalability for Dummies

Introduction to Architecting Systems for Scale

Scalable System Design Patterns

Scalable Web Architecture and Distributed Systems

What is the best way to design a web site to be highly scalable?

How web works?