/Architecture

Simple Systems Have Less Downtime

- Greg Kogan tl;dr: Easier to manage, simpler systems require less proficiency and troubleshooting, and provide more alternatives. The post outlines three principles of simple systems. 

featured in #176


How I Write Backends

- Federico Pereiro tl;dr: Using Ubuntu, Node, Redis and a few other tools, we are run through various architectural configurations Federico implements regularly. 

featured in #171


What Is A Software Architect?

- Justin Miller tl;dr: A comprehensive guide - what an architect is, various levels of architecture, typical activities, important skills, suggested books and more.

featured in #171


The Myth Of Architect As Chess Master

- Ben Northrop tl;dr: While the rules of chess are consistent, the rules of software are not. To be an architect, you need to understand the specific "game you're in" - the business drivers, risks, technical constraints, integrations, trade-offs, and so on. 

featured in #170


Inefficient Efficiency

- Kent Beck tl;dr: Latency is “the time interval between a stimulus and its response." Throughput is “the rate at which a system achieves its goal”. Kent discusses the relationship of these two in architectural decisions, and when to optimize which. Click the link in this tweet if you're paywalled.

featured in #164


Reclaim Unreasonable Software

- Will Larson tl;dr: Code is "big ball of mud" at growth stage companies. Will describes a new approach to untangle it. "List all the beliefs you'd need to have to be confident in modifying your software" and see how they move up the behavior & property ladder, which he describes in detail.  

featured in #162


Making Instagram.com Faster: Code Size And Execution Optimizations (Part 4)

- Glenn Conner tl;dr: The first three parts were around optimizing loading patterns. This part is about shipping less code to the user, particularly JavaScript.  Click the link in this tweet if you are paywalled. 

featured in #162


Modern Applications At AWS

- Werner Vogels tl;dr: Amazon adopted 5 principles to operate quicker iterative cycles - microservices, purpose-built databases, automated software release pipelines, a serverless operational model and automated, continuous security. Article discusses each one.

featured in #153


Static Analysis At Scale: An Instagram Story

- Benjamin Woodruff tl;dr: The importance of static analysis and codemod (vs lint) in finding code in Instagram's monolithic Django based architecture.

featured in #151


Towards Progressive Delivery

- James Governor tl;dr: Progressive Delivery is the term the author has coined for the new basket of skills and technologies concerned with modern software development, testing and deployment i.e. Canarying, Feature Flags, A/B testing at scale.

featured in #150