The architecture pattern landscape in 2021 is settled enough to assess what has proven out in production versus what remains aspirational. The hype cycle has cycled and the production data is in.

Microservices: pragmatic adoption

Microservices work well for large teams with clear domain boundaries and strong operational tooling. For teams under 50 engineers or domains that are not yet well-understood, microservices add coordination overhead and operational complexity that exceeds the benefit. The architectural pattern that is gaining in 2021 is the modular monolith: well-structured internal modules with eventual extraction to services as team size and operational maturity justify it.

Event-driven architecture maturing

Event-driven architecture (services communicating via events on message buses rather than synchronous API calls) has matured with Kafka, Azure Event Hubs, and cloud-native event buses. The production pattern: use events for cross-service communication where the producer should not need to know about consumers, where temporal decoupling is beneficial, and where the data is inherently append-only. Use synchronous APIs where the producer needs the response to continue.

CQRS/ES: narrowing to appropriate use cases

The enthusiasm for CQRS and Event Sourcing that accompanied the microservices wave has moderated. Production teams have learned that event sourcing adds significant operational complexity (event versioning, snapshot management, projection rebuild) that is justified only for domains with strong audit, temporal query, or event-driven collaboration requirements. The pattern is correct for those domains; it is over-applied elsewhere.

API-first design

API-first design (define the API contract before writing implementation code) has become standard practice for teams building services consumed by multiple clients. OpenAPI specification drives generated server stubs, client SDKs, and documentation. The investment in API design before implementation reduces integration friction and produces more stable APIs. Tools like Stoplight, Swagger UI, and the OpenAPI Generator ecosystem support the practice.