In this chapter
13.1 Choose an implementation for a capability
Technology is evaluated after the required capability and operating contract are known. Compare options against functional fit, team competence, security, data placement, lifecycle, recovery, integration and exit cost. A familiar product can be a reasonable choice; familiarity alone does not establish its suitability. For the scenario, the recommendation is a modular backend, PostgreSQL and a recoverable background worker. Specific language and hosting remain subject to maintainers, approved placement and test evidence. Kafka, Kubernetes and a separate warehouse are not initial requirements simply because the long-term vision is ambitious.
13.2 Technology mapping
| Capability | Candidate | Why it may fit | Operating obligation |
|---|---|---|---|
| Transactional state | PostgreSQL | Constraints, transactions and established relational model | Concurrency tests, patching and restore |
| Workflow implementation | Modular backend | Keeps one approval boundary understandable | Domain tests and migration ownership |
| Background processing | Outbox and small worker | Recoverable deferred effects | Retry, deduplication and stuck-work response |
| Packaging | Versioned containers | Reproducible artifact boundary | Image provenance, configuration and patching |
| Reporting | Versioned projections | Traceable initial daily reporting | Reconciliation, revision and source coverage |
13.3 Decision records
| Record | Recommendation | Alternative | Accepted consequence | Review trigger |
|---|---|---|---|---|
| ADR-001 | Modular application first | Independent microservices | Shared release lifecycle | Independent teams or measured isolation need |
| ADR-002 | Deferred notification | Send within approval transaction | Delivery delay and worker operation | Stricter demonstrated delivery requirement |
| ADR-003 | Draft offline, approve online | Final offline approval | Waiting during network outage | Approved conflict and delegation policy |
| ADR-004 | Daily projection first | Streaming analytical platform | One reporting-cycle delay | A decision needs fresher data and operating capacity exists |
These are reference recommendations, not accepted decisions by a real institution. An actual decision record names its approver, date, evidence and conditions.
13.4 Evaluate total operating cost
Compare discovery, implementation, migration, licenses where applicable, hosting, connectivity, staffing, support, recovery exercises and eventual exit. A free license does not make operation free. A managed service may reduce some work while adding cost, dependency and data-placement questions. Do not publish invented savings or precise infrastructure prices for an unmeasured scenario. Build cost ranges with explicit assumptions and sensitivity to workload, retention and service hours. Separate one-time change cost from recurring service cost and the institution’s retained responsibilities.
13.5 Exit and replaceability
Name the data export format, contract ownership, recovery materials and knowledge required to change a supplier or component. Technology replaceability is not instantaneous substitution. It is the ability to explain dependencies, test a transition and preserve authority and records during it. The review gate accepts a reasoned option comparison and its consequences. Product installation is a later delivery activity.