Microservices
An architectural style that builds an application as a set of small, independently deployable services, each owning one business capability.
Microservices let separate teams release and scale parts of a product independently, but they add infrastructure, monitoring and coordination costs, so they suit organizations with several teams more than small products.
A SaaS platform extracts billing from its monolith into a service with its own PostgreSQL database; checkout calls it through an API Gateway, and invoice events go to a message queue read by the email and analytics services.
Network calls add latency and failure points, data consistency across services needs patterns such as sagas, and debugging requires distributed tracing. Splitting too early creates a distributed monolith with tight coupling and extra operational overhead.
Each service runs in its own process, is organized around a business capability, has its own deployment pipeline and usually its own database. Services communicate over lightweight HTTP APIs or messaging, following the idea of smart endpoints and dumb pipes, and are designed to tolerate failure with timeouts and circuit breakers. Cross-service operations use patterns such as API composition or sagas, which fits naturally with Event-Driven Architecture and Composable Architecture.
Data Engineering
Martin Fowler — Microservices — https://martinfowler.com/articles/microservices.html; Microservices.io — Pattern: Microservice Architecture — https://microservices.io/patterns/microservices.html
