OK, who hasn’t heard someone use a term or acronym that sums something up nicely, but you didn’t know it?
That’s why we are going to centralize a few here and expand our buzzword vocabulary.
Reliability
| Term | Meaning |
|---|
| SPoF | Single point of failure: the component that centralizes so much responsibility that, if it goes down, everything goes down |
| SLA | Service Level Agreement: the commitment to the customer, usually with penalties (e.g. 99.9% availability per month) |
| SLO | Service Level Objective: the team’s internal target, usually stricter than the SLA |
| SLI | Service Level Indicator: the metric actually measured (e.g. % of successful requests under 300 ms) |
| MTTR | Mean Time To Recovery: how long, on average, it takes to get back to normal after a failure |
| RTO / RPO | In disasters: how long the system can be down (RTO) and how much data can be lost (RPO) |
| Circuit breaker | Stops calling a failing service for a while, so as not to make things worse |
Data and distributed systems
| Term | Meaning |
|---|
| ACID | Atomicity, Consistency, Isolation and Durability: the guarantees of a transaction in a relational database |
| CAP theorem | During a network partition, a distributed system chooses between consistency and availability |
| Eventual consistency | Data may diverge between replicas for a while, but it converges |
| Idempotency | Running the same operation many times has the same effect as running it once (essential for retries) |
| Backpressure | The consumer signals the producer that it is overloaded, so the producer slows down |
Delivery
| Term | Meaning |
|---|
| Blue-green | Two versions in production side by side; traffic switches all at once and rollback is instant |
| Canary | The new version gets a small fraction of traffic before going to everyone |
| Feature flag | Turns a feature on and off without a new deploy |
| PoC / MVP | Proof of concept (can it be done?) and minimum viable product (is it worth it for the user?) |
Team life
| Term | Meaning |
|---|
| Bus factor | How many people need to leave the team for a project to stall. If the answer is 1, there is a problem |
| Bikeshedding | Spending too much time discussing trivial details while the important stuff goes unnoticed |
| Yak shaving | The chain of side tasks you need to solve before you can do the original task |
| Toil | Manual, repetitive, automatable work that grows along with the system |
| KISS / DRY / YAGNI | Keep it simple; don’t repeat yourself; you aren’t gonna need it (don’t build it before it’s time) |