03 / Failure planningJC TechLabs insights
A reliable system has a recovery path.
Start by describing the business impact of failure. An unavailable brochure page and a duplicated payment are different problems. Decide how much data loss is acceptable, how quickly the service needs to recover, and who makes the decision during an incident. Those requirements guide architecture more reliably than choosing a fashionable stack.
For example, a quotation portal can accept a request, store it with a unique identifier, and send notifications through a background queue. If the mail provider is unavailable, the request remains saved and the notification can retry. Reusing the identifier prevents a retry from generating a second quotation. This is an illustrative architecture, not a guarantee about every project.
Start with a well-structured application and add separate services only when ownership, scale or operational needs justify them. More deployable components also mean more credentials, monitoring, network dependencies and recovery procedures.