System architecture decides which code deploys together, how components communicate, and where durable state survives instance failure. Those decisions sit on different axes: monoliths, modular monoliths, microservices, and SOA define decomposition and governance. Event-driven architecture defines communication. Serverless defines hosting and scaling.

Function runtimes are trigger-invoked, and providers may create or retire their instances. Container processes are usually longer-lived even when the platform scales them on demand. Execution lifetime differs, but neither process should own authoritative durable state. Horizontally scaled instances treat in-process state as disposable and keep durable data in external storage.

Choosing an Architecture

These six entries describe three axes rather than six competing options. A system selects a decomposition and governance model, a communication style, and a hosting model that fit together.

ChoiceAxisStructural effectCoupling and communicationScaling modelOperational costBest fit
Software Architecture/System Architecture/Monolith ArchitectureDecomposition and governanceOne coordinated deployment unit, commonly one artifactUsually in-process or collocated calls. Data stores may be shared or separatedScale the deployment together. No independent per-module scalingLow: one release unit to deploy, monitor, and debugSmall team or early product with evolving boundaries. Delivery speed and simple local transactions dominate
Software Architecture/System Architecture/Modular MonolithDecomposition and governanceSingle deployment with strict internal module boundariesIn-process calls cross module contracts. Schema or DbContext ownership can remain per moduleScale the deployment togetherLow to medium: boundary discipline with one runtimeGrowing product with clearer domains and limited ops capacity. Module seams make later extraction safer, though still costly
Software Architecture/System Architecture/MicroservicesDecomposition and governanceIndependently deployable services with service-owned dataVersioned network APIs or events. Loose coupling often brings eventual consistencyScale hot paths independently by serviceHigh: tracing, retries, consistency workflows, and per-service pipelinesShared deployments repeatedly block teams, or one component needs independent scale and release cadence
Software Architecture/System Architecture/Service-Oriented ArchitectureDecomposition and governanceCoarse-grained services, often on shared infrastructureESB or service contracts with centralized governance. Shared databases may remainServices scale independently at coarse granularityMedium to high: the integration layer becomes a governed componentHeterogeneous legacy integration or regulated audit and governance requirements
Software Architecture/System Architecture/Event-Driven ArchitectureCommunicationNo required deployment shape. Producers emit facts and consumers react through a brokerAsynchronous publish/subscribe introduces temporal decoupling and eventual consistencyConsumer groups scale independently, often partitioned by aggregate keyMedium to high: broker operations, idempotency, ordering, and distributed-flow diagnosisCross-boundary workflows can complete asynchronously, or retained events support audit and replay
Software Architecture/System Architecture/Serverless ArchitectureHosting and scalingProvider-managed functions or containers whose instances may be created and retiredTrigger or request driven. Authoritative state remains external to disposable instancesDemand-driven scaling. Some consumption modes reach zero, while ready capacity reduces startup delay at added costLess host management, but quotas, cold starts, retries, and distributed observability remainBursty or infrequent workloads where idle cost matters more than steady startup latency

A monolith, ideally a Software Architecture/System Architecture/Modular Monolith, is the default while boundaries are forming. Software Architecture/System Architecture/Microservices become justified when independent deployment or asymmetric scaling repeatedly blocks delivery. SOA serves enterprise integration where centralized governance over heterogeneous systems matters more than team autonomy.

Software Architecture/System Architecture/Event-Driven Architecture changes communication rather than decomposition. It fits workflows that need temporal decoupling and can accept explicit consistency rules.

The serverless model changes hosting. It pairs naturally with bursty or event-driven work, but it does not decide service boundaries or remove the need for durable external state.

References

6 items under this folder.