Является ли архитектура MACH для веб-разработки просто «Jamstack для предприятия», или за ней кроется нечто большее? Эту тему обсуждают опрошенные порталом The New Stack эксперты.
Некоторые разработчики считают о том, что архитектурный подход Jamstack должен стать более упорядоченным и вернуться к своим композитным корням, потому что модная веб-архитектура с годами стала слишком сложной. Это стремление разработчиков к простоте и модульности, похоже, отчасти определяет недавний рост поддержки архитектуры MACH, которая также ориентирована на создание модульного технологического стека и предоставление разработчикам большей свободы в выборе инструментов и сервисов, подходящих для их нужд.
Введение в MACH
«MACH расшифровывается как Microservices, API-first, Cloud native SaaS, Headless и представляет не только технические стандарты, но и принципы создания ПО путем объединения различных компонентов в более крупные стеки. Эти принципы MACH позволяют создать корпоративный технологический стек, в котором каждый компонент является подключаемым, масштабируемым и заменяемым», — объясняет Марк Демени, старший директор по управлению продуктами Yext и технологический аналитик MACH Alliance, некоммерческой отраслевой группы, которая выступает за внедрение архитектуры MACH.
Что касается сходства между Jamstack и MACH, то здесь он подчеркивает их схожие «безголовые» (когда фронтенд и бэкенд разделены) подходы: «Jamstack и MACH тесно связаны между собой тем, что они оба зависят от „безголовых“ подходов, чтобы обеспечить максимальную гибкость при выборе фронтенда для веб-разработки. Однако MACH шире, поскольку охватывает многие другие типы продуктов и вертикали (например, коммерцию), а также включает принципы для вендоров — например, микросервисы и облачный подход — которые позволяют масштабировать эти первоначальные „безголовые“ принципы для поддержки более крупных корпоративных сценариев использования».
Привнесение композитной веб-разработки на предприятия
Безголовый и композитный подход помогает обеспечить максимальную гибкость разработчикам, которые ищут лучшие в своем классе сервисы при построении своего технологического стека, особенно командам разработчиков, работающим на средних и крупных предприятиях. Благодаря такому подходу за последние несколько лет число вендоров-участников MACH Alliance значительно увеличилось, а в начале 2024 г.
По словам Миган Уайт, руководителя отдела маркетинга Kibo, преимущества композитного подхода выражаются в расширении возможностей и гибкости для клиентов. «Поскольку архитектура MACH по своей сути является модульной, организации могут создавать и поддерживать свои цифровые системы как набор независимых микросервисов, а значит, легче адаптировать, масштабировать и заменять компоненты, не нарушая работу всей системы, — говорит она. — В отличие от этого, другие подходы, как правило, монолитны, что затрудняет обновление и отнимает больше времени. Гибкость архитектуры MACH обусловлена модульностью. Организации могут быстрее реагировать на меняющиеся требования и внедрять новые технологии, не занимаясь реинжинирингом. Кроме того, поскольку системы MACH по своей сути являются облачными, они могут масштабироваться по требованию, что снижает затраты на инфраструктуру».
Лиза Грейстон, генеральный директор по коммерции компании Coveo, согласна с тем, что модульный, композитный подход MACH также отвечает потребностям клиентов. «Архитектура MACH обеспечивает гибкость, которая необходима руководителям в области цифровых технологий, чтобы оставаться актуальными по мере изменения потребностей клиентов. Вместо того чтобы использовать универсальные технологии, архитектура MACH дает компаниям свободу выбора из лучших инструментов, представленных на рынке сегодня, и обеспечивает структуру, позволяющую легко добавлять, заменять или удалять технологии в будущем», — говорит она и добавляет, что MACH хорошо подходит для крупных предприятий, которые предъявляют сложные требования.
Может ли MACH перенять опыт Jamstack?
Все опрошенные эксперты отмечают некоторые сходства между композитными подходами, принятыми в Jamstack и MACH, и видят параллели — и потенциальные уроки, — которые архитектура MACH могла бы извлечь из эволюции Jamstack.
«Архитектуры Jamstack и MACH поощряют модульность и гибкость в проектировании систем, что дает разработчикам возможность выбирать лучшие компоненты и сервисы, обеспечивая при этом совместимость и взаимодействие, — говорит Уайт. — Это дает им возможность создавать индивидуальные решения без излишней сложности».
Грейстон признает, что Jamstack подвергся критике за «слишком свободное определение» и «отход от первоначальных принципов», и рассматривает эти события как предостережение для MACH Alliance. Она выражает уверенность в том, что MACH Alliance предпринял шаги, чтобы избежать некоторых из тех же проблем: «Эти меры включают в себя создание четких определений того, чем является и чем не является MACH, предложение строгого процесса сертификации, а также поддержку консультативного совета, который предоставляет рекомендации, советы и стратегические идеи для исполнительного совета».
Интегрированный против композитного
Дрис Буйтаерт, основатель Drupal, технический директор и соучредитель Acquia, недавно написал пост в блоге под названием «Новое старое: путь Jamstack и MACH к традиционным концепциям CMS». В нем он излагает свои мысли о том, как развиваются Jamstack, MACH и традиционные CMS, а также пробивает бреши в некоторых громких маркетинговых усилиях, связанных с Jamstack и MACH.
Буйтаерт утверждает, что многие преимущества Jamstack были преувеличены. «Мнение о том, что развертывание Jamstack — это просто, спорно. На самом деле это может быть утомительной задачей как для разработчиков, так и для маркетологов, но особенно для маркетологов, — пишет он. — Я также критически отношусь к предполагаемым преимуществам Jamstack в плане производительности. Короче говоря, Jamstack, изначально известный своей генерацией статических сайтов и простотой, превращается в нечто более динамичное и сложное. Это положительная эволюция, обусловленная потребностями рынка».
По мнению Буйтаерта, развитие Jamstack сокращает разрыв с традиционными платформами CMS: «Jamstack предлагает чисто безголовый подход, в то время как традиционные CMS предлагают как безголовые, так и интегрированные варианты». Он также считает, что эволюция Jamstack делает его более похожим на архитектуру MACH.
«Drupal и WordPress расширяют свои возможности путем добавления модулей к „базовой платформе“, в то время как MACH представляет собой набор независимых сервисов, работающих без опоры на базовую платформу, — отмечает Буйтаерт. — В последние годы мы стали свидетелями разнообразия технических подходов в области CMS/DXP: MACH, Jamstack, несвязанные (decoupled) и безголовые архитектуры, каждая из которых прокладывает свой путь. Изначально казалось, что эти пути расходятся. Однако сейчас мы наблюдаем тенденцию к сближению, когда различные системы учатся друг у друга и интегрируют уникальные преимущества».
Что касается преодоления разрыва между MACH и традиционными платформами CMS, то «...MACH, возможно, придется расширить сферу применения, чтобы охватить общие сервисы, обычно присутствующие в базовой платформе традиционных CMS. Это помогло бы снизить затраты на разработчиков, повысить композитность и удобство использования», — считает Буйтаерт.
Он также полагает, что отсутствие базовой, общей платформы и чрезмерная модульность могут привести к фрагментарному, разобщенному пользовательскому опыту. Он называет это «усталостью от MACH».
Демени согласен с тем, что один единственный подход не может быть оптимальным для любого сценария использования. «MACH хорошо подходит для более крупных кейсов, когда организации может потребоваться объединить элементы коммерции, управления контентом, клиентские данные и другие приложения для обеспечения дифференцированного клиентского опыта, — говорит он. — Ключевое слово здесь — дифференцированный, и преимущество MACH заключается в возможности легко менять элементы стека по мере изменения потребностей или эволюции поставщиков. Конечно, такой подход подходит не всем — если ваши потребности просты и один поставщик предоставляет все необходимое „из коробки“, то MACH оказаться не подходящим, поскольку он требует дополнительной работы и понимания движущихся частей и того, как они складываются в единый клиентский опыт».
В свою очередь, Буйтаерт утверждает, что идеальное решение «...может быть описано как „слабосвязанные архитектуры с высокоинтегрированным пользовательским опытом“».
Привлекательность для предприятий и эволюция композитности
Поскольку Jamstack и MACH продолжают развиваться, классификация архитектуры MACH как «Jamstack для предприятия» может быть не совсем точной, но несомненно, что подход MACH набирает обороты среди вендоров и становится все более привлекательным для корпоративных клиентов.
Демени считает, что MACH Alliance и архитектура MACH вступают в новую фазу. «Это также означает, что профиль аудитории сообщества и покупателей MACH начинает немного смещаться от разработчиков к более ориентированным на бизнес заинтересованным сторонам, — говорит Демени. — Поэтому Альянс проводит больше работы, связанной с пониманием совместимости и стандартами, чтобы помочь этим новым заинтересованным сторонам понять и сориентироваться в ландшафте».
Независимо от того, какой технологический стек выберут разработчики и организации, эволюция Jamstack и MACH предоставляет разработчикам больше возможностей и гибкости. Это также распространяется на интегрированный и модульный ландшафт, который теперь имеет больше вариантов, чем когда-либо, для разработчиков, стремящихся найти «золотую середину» технологического стека для своей конкретной организации или сценария использования.
«В конечном итоге успех любой платформы оценивается по тому, насколько эффективно она обеспечивает хороший пользовательский опыт и экономическую эффективность, независимо от ее архитектуры, — пишет Буйтаерт. — Необходимо сместить акцент с архитектурных соображений на то, как эти технологии могут создать более интуитивные и мощные платформы для конечных пользователей».