Недостатки MACH архитектуры
Основные проблемы MACH связаны с архитектурной сложностью. Создать MVP монолитного приложения можно быстрее, другое дело, что развивать его обычно намного сложнее.
Если приложение состоит из множества независимых микросервисов, каждый из которых имеет собственные API, это может потребовать значительных усилий для их интеграции. Это может удлинить время до получения дохода. Чтобы преодолеть это, можно использовать разные подходы. Например использовать для разработки микросервисов и интеграций единый инструмент iPaaS, а для контроля за интеграциями — решение по управлению API (API Management).
Микросервисы
Микросервисы (или микросервисная архитектура) — это облачный архитектурный подход, при котором одно приложение состоит из множества слабо связанных и независимо разворачиваемых компонентов или сервисов.
Недостатки микросервисов
Стоимость — это основной недостаток микросервисной архитектуры. Для малого бизнеса переход на микросервисную архитектуру может потребовать увеличения затрат на создание DevOps-культуры и управления ресурсами, такими как API и стратегии тестирования. Невелировать этот недостаток можно за счет готовых шаблонов для CI/CD и встроенных в вашу интеграционную платформу инструментов.
MACH ориентирован на API
Наличие сервиса с правильным дизайном API крайне важно, так как это позволит вашим разработчикам получить гибкость и скорость.
Недостатки подхода API-First
Наличие API само по себе не имеет недостатков, однако бизнес должен понимать, что не все API одинаковы. Помимо REST API есть так же очереди сообщений Kafka, RabbitMQ, и их использование становится необходимым при увеличении количества микросервисов. Не все компании готовы самостоятельно разворачивать и поддерживать инфраструктуру, которая необходима для работы всех этих технологий. К тому же при этом подходе компания должна разработать набор гайдлайнов для стандартизации API и очередей, без этого будет сложно ориентироваться в большом количестве интеграций.
Cloud Native
Принцип облачно-нативности означает, что коммерческий сервис предоставляется в облаке, что даёт быстроту и скорость подключения для бизнеса
Недостатки облачно-нативного подхода
Иногда может потребоваться развертывание сервиса в частном облаке или на месте из-за соображений безопасности или других причин. В таких случаях чисто облачно-нативное решение не подойдет, так как у них нет такой возможности.
Headless подход
Headless подход устраняет изолированные каналы для создания бесшовных клиентских впечатлений на всех точках взаимодействия с единообразной бизнес-логикой.
Недостатки headless
Хотя headless подход приносит много пользы, обычно в решении не включен фронтенд (head/голова). Бизнесу приходится либо самостоятельно создавать фронтенд, либо привлекать сторонний и интегрировать его. В обоих случаях это обычно негативно сказывается на времени выхода на рынок. Эта проблема менее актуальна для крупных корпоративных клиентов, у которых обычно уже есть готовые front-end приложения и задачи скорее сводятся к интеграции и последующим улучшениям.