Это когда мы создаем автономные, совместно работающие сервисы, каждый из которых отвечает за свою 1 задачу.

Плюсы
- Каждый из микросервисов может писаться на разном языке
- Проще маштабировать приложение
- Децентрализованное управление данными. Может быть собственная БД
- Можно обеспечить разную степень безопасности на уровне каждого сервиса.
- Независимость команд разработки. Каждая команда может заниматься своим сервисам и не мешать друг другу
Минусы
- Сложная архитектура, нужно продумывать их взаимодейтсвие
- Возможные сложности с устранением не поладок. Не всегда понятно на чьей стороне ошибка.
- Каждый микросервис легко тестировать, но сложно все приложениецеликом