Term Kind Topic What it is
Blue-Green Database Schema pattern Release Strategies The constraint that makes fast rollback actually work — both application versions must be able to run against one schema at the same time.
Blue-Green Deployment pattern Software Architecture Running two identical production environments and switching traffic from the old one to the new one in a single cut, with the old kept warm for rollback.
Canary Release pattern Software Architecture Routing a small fraction of traffic to a new version, watching its metrics, and expanding or rolling back based on what they show.
CI/CD Continuous Integration, Continuous Delivery practice Software Architecture Merging work continuously into a shared trunk with automated verification, and keeping every commit in a state that could be released.
Clean Architecture pattern Software Architecture Concentric layers with a strict dependency rule — source code dependencies point only inwards, towards higher-level policy.
Cognitive Load concept Software Architecture The total amount a team must hold in its head to work effectively, and a real constraint on how many services or domains one team can own.
Domain-Driven Design DDD practice Software Architecture Modelling software around the business domain, with boundaries drawn where the language of the business changes.
DORA Metrics Four Key Metrics metric Software Architecture Four measures of software delivery performance — deployment frequency, lead time for change, change failure rate, and time to restore service.
Etsy's Continuous Deployment case-study Software Architecture Etsy moved from infrequent, risky releases to dozens of deploys a day, demonstrating that deployment frequency and stability improve together rather than trading off.
Feature Flag Feature Toggle pattern Software Architecture A runtime switch that decouples deploying code from releasing behaviour, so unfinished or risky work can ship dark.
Microservices pattern Software Architecture An architectural style where an application is a set of independently deployable services, each owning its data and aligned to a business capability.
Monzo's Microservice Estate case-study Software Architecture Monzo runs a bank on well over a thousand microservices, and the interesting engineering is in the platform and network isolation that makes that number survivable.
Refactoring practice Software Architecture Changing the internal structure of code without changing its external behaviour, in small verified steps.
Service Boundary concept Software Architecture The line separating what one service owns and is accountable for from what it must ask another service about.
SOLID practice Software Architecture Five object-oriented design principles — single responsibility, open/closed, Liskov substitution, interface segregation, dependency inversion.
Technical Debt concept Software Architecture The future cost incurred by choosing an expedient implementation now instead of the better one.
Test Pyramid practice Software Architecture A distribution of tests weighted towards many fast unit tests, fewer integration tests, and very few slow end-to-end tests.
Trunk-Based Development practice Software Architecture All developers integrating small changes into a single shared branch at least daily, with long-lived branches avoided entirely.
Uber's Domain-Oriented Microservice Architecture DOMA case-study Software Architecture After growing to roughly 2,200 microservices, Uber grouped them into domains behind gateways with strict dependency layering, to recover the comprehensibility that fine-grained decomposition had cost.