The Patterns of Scalable, Reliable, and Performant Large-Scale Systems
Go to file
2018-10-12 17:19:28 +08:00
CONTRIBUTING.md Create CONTRIBUTING.md 2017-12-27 11:48:12 +08:00
README.md ZooKeeper at Twitter 2018-10-12 17:19:28 +08:00

Scalable, Available, Stable, Performant, and Intelligent System Design Patterns

An updated and curated list of readings to illustrate best practices and patterns in building scalable, available, stable, performant, and intelligent large-scale systems. Concepts are explained in the articles of prominent engineers and credible references. Case studies are taken from battle-tested systems that serve millions to billions of users.

If your system goes slow 🚥

Understand your problems: scalability problem (fast for a single user but slow under heavy load) or performance problem (slow for a single user) by reviewing some design principles and checking how scalability and performance problems are solved at tech companies. The section of intelligence are created for those who work with data and machine learning at big (data) and deep (learning) scale.

If your system goes down 🚧

"Even if you lose all one day, you can build all over again if you retain your calm!" - Thuan Pham, CTO of Uber. So, keep calm and mind the availability and stability matters!

If you are having a system design interview 🌊

Look at some interview notes and real-world architectures with completed diagrams to get a comprehensive view before designing your system on whiteboard. You can check some talks of engineers from tech giants to know how they build, scale, and optimize their systems. There are some selected books for you (most of them are free)! Good luck 🍀

If you are building your dream team 🎡

The goal of scaling team is not growing team size but increasing team output and value. You can find out how tech companies reach that goal in various aspects: hiring, management, organization, culture, and communication in the organization section.

Community power 🚠🚡🚠

Contributions are greatly welcome! You may want to take a look at the contribution guidelines.

If you find this project helpful, please share on your chat groups, on Twitter, or on Weibo so more people can be helped! Power is gained by sharing knowledge, not hoarding it. Thank you! 🌺

Contents

Principle

Scalability

Availability

Stability

Performance

Intelligence

Architecture

Interview

Organization

Talk

Book

Special Thanks

License

CC-BY

This repo is created and maintained by Binh Nguyen, R&D Engineer at The Agency for Science, Technology and Research of Singapore (A*Star). I am fortunate to be a part of a small but elite Vietnamese team, working remotely on various software projects with international clients. If you want to join us, please message me directly on LinkedIn! Thank You & Happy Coding! ❤️