Такой подход повышает гибкость в разработке:
- Нет нужды привязываться к одному языку программирования или к одному технологическому стеку. Например, одни сервисы могут быть разработаны на Java с использованием реляционных баз данных и ORM, другие на NodeJS с различными NoSQL базами («ключ-значение», «документная», «графовая»), третьи на Golang.
- Большие приложения cмогут продолжать работать даже при отказе одного из сервисов.
- При возрастании нагрузки можно масштабировать только те сервисы, на которые данная нагрузка ложится в большей степени. Это позволяет экономнее расходовать ресурсы оборудования.