backend systems
Elena on Software
Hi, I'm Elena. Essays and field notes on backend systems. I write about background jobs, observability, idempotency and whatever else I'm learning this month.
Latest writing
- ·
Rate Limiting With Nothing but Redis
This post started as a note to my future self. Every few months I relearn the same lessons about rate limiting, so this time I'm writing them down.
#api#reliability - ·
Designing APIs You Won't Have to Version
A colleague asked me last week why our team cares so much about background jobs. I gave a rambling answer, so here is the longer, more organized version.
#architecture#distributed-systems - ·
Zero-Downtime Schema Migrations in Practice
For a long time I treated schema migrations as something to worry about later. Then a small change to our Django setup turned into a week of debugging, and "later" arrived all at once.
#distributed-systems#python - ·
Structured Logging Is the Cheapest Observability You'll Buy
Every codebase has one area everyone is a little afraid to touch. On our team, it was everything related to observability.
#distributed-systems#go - ·
Postgres Is Probably Enough for Your Job Queue
Every codebase has one area everyone is a little afraid to touch. On our team, it was everything related to observability.
#go#architecture#python - ·
Idempotency Keys: The Boring Feature That Saved Us
This post started as a note to my future self. Every few months I relearn the same lessons about idempotency, so this time I'm writing them down.
#architecture#go - ·
What I Learned Writing My First gRPC Service
There is no shortage of articles about gRPC. Most of them cover the happy path. This one is about what happened after the happy path ended.
#python#reliability#api - ·
The Case for Boring Background Jobs
Every codebase has one area everyone is a little afraid to touch. On our team, it was everything related to background jobs.
#databases#python - ·
Timeouts Everywhere: A Field Guide
This post started as a note to my future self. Every few months I relearn the same lessons about API versioning, so this time I'm writing them down.
#go#reliability#distributed-systems