A county clerk wants building permits, fees, and inspections as separately deployable services, each with its own data store, so one team's release does not freeze the others. Which pattern matches that goal?
Select an answer to reveal the explanation.
Short Explanation
Think of three shops on Main Street with their own keys and cash drawers instead of one locked front door for everyone. Separate services with their own data stores let permits ship without freezing fees or inspections. That is microservices with bounded contexts.
Full Explanation
When a county clerk wants building permits, fees, and inspections as separately deployable services with their own data stores, the matching pattern is microservices with independently deployable bounded contexts. Each domain owns its schema and release train so a fee calculator hotfix does not freeze the permits team behind a shared monolith cutover. Separate data stores enforce autonomy: teams stop negotiating one mega-schema migration every sprint, and runtime failures in inspections need not take fee collection offline. For municipal IT with parallel vendors and ordinance-driven change rates, that independence is often the real goal—not “more containers for their own sake.”
A single deployable monolith that shares one schema and one release train fails the stated requirement because one team’s change freezes the others at deploy time. Shared-database UI modules that still ship in one artifact recreate the same coupling under a prettier folder layout: independent screens do not equal independent deployability when the binary and schema remain shared. A nightly ETL into one reporting warehouse as the only runtime path confuses analytics consolidation with transactional service boundaries; clerks cannot renew licenses against a warehouse lagging overnight.
Exam caveat: microservices are not mandatory for every township app. The scenario explicitly asks for separate deployability and separate stores; that is when the pattern fits. Do not confuse “microservices” with “many Lambdas sharing one database,” which keeps the coupling the clerk wants to escape.
Operational check: map permits, fees, and inspections to distinct services and datastores; require cross-domain communication via APIs or events rather than foreign-key joins; measure that each team can deploy without a joint change advisory board; and keep a reporting path (ETL or event projections) separate from the operational write models.