Forty gigabytes of logs a day and no answer to “is checkout slow”. Metrics, logs and traces answer different questions, and logs were doing all three badly.
Logs answer what happened and traces answer what a request did, and a request that touches six services is a shape logs cannot represent. The value is entirely…
Two deployables reading and writing the same tables cannot change their schema independently and fail together, which removes every property a separate service was supposed to provide. The…
The question was how to deploy four services, and the answer arrived before it. Naming what you actually need — scheduling, health, rolling deploys, secrets.
Two deployables writing the same tables is one service with extra steps. Deciding who owns them is the whole decision, and the intermediate state lasts.
Two deployables reading and writing the same tables cannot be released independently, cannot change their schema independently and fail together — which is every property a service was…
One identifier, generated at the edge, attached to every log line the request produces in every service — and an incident becomes one query instead of four SSH…
The synchronous call between two services was the reason both were down. Publishing an event decouples their availability — and makes eventual consistency a business decision.