A long post with summaries from reading technical papers in distributed systems, focusing on application architecture.
Status: Forever In Progress
This paper covers the best practices in design, development, deployment and operation of services built for high-traffic internet services. These best practices are divided into ten sections ranging from application design, infrastructure planning and management, software test, release, monitor, graceful degradation and recovery; there are 3 main tenets that appear throughout the paper - expect failures, keep it simple, automate everything. In the author's experience, the majority of issues arise in the service design and development phase and it is recommended to have the development, testing and operations team work closely together for improved operational-friendliness.
The key points within the section that I find worth highlighting are: