On 16 September 2026, Salesforce went down across six countries for about ten and a half hours. The public explanation is one sentence long, and it describes the most common cascading failure in backend systems: requests piling up behind one slow internal service until no workers were left. Here is why timeouts alone do not save you, what bulkheads cost, and why recovery took far longer than the failure.
A modest app somehow grew Postgres, Redis, RabbitMQ, Elasticsearch and a vector DB — five things to back up, secure and pay for. Most of that is now one Postgres. Here's the queue, vector, search and pub/sub SQL, and the honest signals for when to graduate.
Treating LLM calls as just another upstream dependency. How to use Spring AI to build a multi-provider gateway with retries, circuit breakers, prompt versioning, and observability — the same hygiene you'd put around any external API.
Retrieval-augmented generation has been wrapped in enough mystique to obscure that it's mostly an ETL problem. What the pipeline actually looks like, where the real engineering happens, and the failure modes that have nothing to do with the model.
Stop the thirty-PR CVE fire drill. How to centralize dependency versions across a microservice fleet using a Maven BOM or Gradle version catalog.
How to package global exception handling as a Spring Boot starter for a microservice fleet — RFC 7807 responses, no leaked stack traces, one dependency.