> In short, the microservice architectural style is an approach to developing a single application as a **suite of small services**, each **running in its own process** and communicating with lightweight mechanisms, often an HTTP resource API. These services are **built around business capabilities** and **independently deployable** by fully automated deployment machinery. There is a **bare minimum of centralized management** of these services, which may be written in different programming languages and use different data storage technologies. [^mf1] [^mf1]: [Microservices Guide](https://martinfowler.com/microservices/) by [[@Martin Fowler]] ## Microservice concepts - [[Distributed sagas]] - [[Lock-step deployment]] ## Building with microservices - [[Testing microservices]] - [[How Big Should Microservices Be (video review)]] ## See also - [[Monolithic architecture]] - [[The Majestic Monolith (article review)]] ## References - [Microservices decision tree](https://twitter.com/der_rehan/status/1450044694013022209?s=12) by [[@Rehan van der Merwe]] - [Hacker news discussion on "Don't Start With Microservices"](https://news.ycombinator.com/item?id=29577336). Original article [here](https://arnoldgalovics.com/microservices-in-production/). --- tags: #SoftwareEngineering , #SoftwareArchitecture, #MOC