Backends, APIs and distributed architectures
Your users never see this part, and it does the heavy lifting. An API is how two pieces of software exchange data, and we take care with it, because it's hard to change once other systems depend on it. Spreading the work across several machines, which is what a distributed architecture does, comes with a real price: any message over the network can fail. We only go there when your load calls for it.
- Backend services sized for the load you expect
- Internal or public APIs, with documentation
- Message queues and background jobs that retry after errors
- Databases and data models
- Logs and metrics, so incidents can be diagnosed quickly