- An approach to developing a single application as a suite of small services
- Independently deployable, using automated deployment tools
- Enable apps to be built by multiple teams using multiple tech stacks
- They help decrease the cost of change
- Works very well in Devops context