Monoliths & microservices
Microservices are an architectural approach where an app is composed of loosely coupled, separately deployable services that often communicate via API.
Each service is typically organized around core business capabilities with distinct requirements for frameworks, data architectures, services levels and tools.
Breaking up a monolithic architecture into microservices drives better team autonomy and reduces coordination effort across teams. Each team deploys, releases, and rolls out their services independently.
Managing microservices using feature flags
With microservices there are often dependencies across services for large feature changes. Taking advantage of feature flags to toggle on and off features, you can make the transition to microservices safe and controlled.
Feature flags make it easy to coordinate these larger changes so each team can deploy on their own schedule, with dormant features, independently tested in production, and then all can be released to users at the same time.