Skip to content

Latest commit

 

History

History
430 lines (413 loc) · 50.9 KB

README.md

File metadata and controls

430 lines (413 loc) · 50.9 KB

Awesome Scalability, Availability, and Stability Back-end Design Patterns

An updated and curated list of selected readings to illustrate Scalability, Availability, and Stability Design Patterns in Back-end Development. Concepts are explained in the articles of notable engineers (Werner Vogels, James Hamilton, Jeff Atwood, Martin Fowler, Robert C. Martin, Tom White, Martin Kleppmann) and high quality reference sources (highscalability.com, infoq.com, official engineering blogs, etc). Case studies are taken from battle-tested systems those are serving millions to billions of users (Netflix, Baidu, Flipkart, LINE, Spotify, etc).

What if your Back-end went slow?

Understand your problems: performance problem (slow for a single user) or scalability problem (fast for a single user but slow under heavy load) by reviewing design principles. You can also check some talks of elite engineers from tech giants (Google, Facebook, Instagram, etc) to see how they build and scale their systems.

What if your Back-end went down?

"Even if you lose all one day, you can build all over again if you retain your calm!" - Thuan Pham, CTO at Uber Technologies Inc.

Community Power

Contributions are greatly welcome! You may want to take a look at the contribution guidelines. If you find this project helpful, please help me share it on Twitter! Thank you very much ❤️

Contents

Principles

Scalability

Availability

Stability

Performance

Others

Talks

Books

Special Thanks

License

CC-BY

Copyright Benny (Quoc-Binh) Nguyen, 2018. Licensed under a Creative Commons Attribution 4.0 International License.