31.01.2024_
пресса

Coupled, Decoupled или Headless?

Для многих компаний выбор платформы CMS для управления своими веб-сайтами и другими приложениями может быть трудным решением. Существует множество различных поставщиков, не говоря уже о различных архитектурах CMS. Связанная или распределенная? Headless или нет? Если принимающим решения хочется сохранить ясность ума, им нужен способ разобраться в терминологии.

 

Существует два основных типа архитектур CMS: связанная и распределенная. Исторически термин "связанная" относится к отношениям между инструментами редактирования и предоставления контента (веб-сайта). С появлением headless CMS платформ ландшафт стал немного сложнее из-за большего количества вариантов доставки контента. Многие поставщики headless CMS маркетингово позиционируют свои системы как распределенные, когда на самом деле это не так.

 

В этой статье мы разберем различные архитектуры CMS, выделим их сильные и слабые стороны, чтобы предоставить вам понимание каждой из них и помочь сделать правильный выбор.

 

Что такое Coupled CMS?

 

Coupled CMS, также известная как "связанная CMS", позволяет пользователям создавать и редактировать контент, а затем "публиковать" его для конечных пользователей через интерфейс “присоединенный” к CMS. Система редактирования контента и база данных тесно связаны между собой. Примерами связанных CMS являются WordPress и Drupal.

Изображение статьи

Классическим примером связанной архитектуры CMS является система управления блогом. В связанной системе основное хранилище для вашего контента служит как для управления, так и для предоставления контента. Возможности редактирования являются частью системы предоставления контента, но доступны только тем, у кого есть соответствующие права. В связанной системе процесс публикации контента обычно сводится к установке флага в базе данных.

Что такое Decoupled CMS?

В отличие от этого, распределенная система размещает создание и предоставление контента в отдельных приложениях и, обычно, на отдельной инфраструктуре.

В данном случае процесс публикации контента осуществляется с помощью механизма публикации, при котором контент передается с платформы управления (и основного хранилища контента) на инфраструктуру предоставления контента. Примерами распределенных CMS являются DC CMS и Adobe AEM.

 

Изображение статьи

Связанная или распределенная CMS?

Все зависит от бизнес-требований, текущих процессов и общих целей. Выбор между связанной и распределенной CMS не является чем то новым, однако традиционно считалось, что существует универсальный способ управления и публикации контента.

Каждая архитектура имеет уникальные преимущества, недостатки и идеальные сценарии использования, которые необходимо учитывать перед определением того, какая из них подходит.

 Преимущества и недостатки связанной архитектуры

 Давайте рассмотрим преимущества и недостатки связанной архитектуры CMS.

 Преимущества

  • Легко настраивать и развертывать единственный экземпляр.
  • Админ часть и предоставление контента находятся на одной инфраструктуре, что упрощает управление.
  • Публикация проще; фактически, нет реальной публикации вообще. Переключите флаг в основной базе данных, и контент становится "опубликованным".
  • Относительно легкое администрирование систем для одиночных сайтов.

 Недостатки

  • Связанные инфраструктуры обычно сложнее масштабировать, поскольку они часто сильно зависят от масштабируемости базы данных и требуют сложных схем синхронизации данных.
  • Контент обычно сохраняется в схеме базы данных, предназначенной для предоставления на сайте. Это может затруднить интеграцию и миграцию.
  • Повышенная сложность программного обеспечения из-за того, что кодовая база содержит как функционал редактирования контента, так и его предоставления. Почти все, кроме самых тривиальных проектов, требует доработки и кастомизации.
  • Передача контента в CMS и из нее в сторонние системы происходит в той же системе, которая запускает ваш сайт в режиме реального времени. Интеграция не является встроенной в архитектуру и может повлиять на производительность системы.
  • Проблемы с безопасностью. Ваши инструменты редактирования контента, контент менеджеры и разработчики, по сути, меняют “живой” сайт, что делает его намного более уязвимым к взлому, получению доступа к корпоративной сети и компрометации других корпоративных систем.

 Преимущества и недостатки распределенной архитектуры

Давайте рассмотрим преимущества и недостатки распределенной архитектуры CMS.

 Преимущества

  • Легче масштабировать для веб-сайтов с высокой посещаемостью.
  • Управление несколькими сайтами и каналами доставки с использованием той же CMS гораздо проще.
  • Масштабируйте только те компоненты, которые вам нужны. Если вы не добавляете больше контент-менеджеров, то нет необходимости масштабировать систему редактирования контента. Это влияет на сложность решения и также на лицензионные расходы в случае коммерческого ПО.
  • Код изолирован в каждом из двух компонентов (редактирование и предоставление). Каждая часть может быть такой простой или сложной, как это необходимо, без влияния на другую.
  • Интеграция является встроенной функциональностью, поскольку контент нативно публикуется в удаленную систему доставки. Обычно довольно легко также выполнять публикацию в другие системы. Также следует отметить, что интеграция происходит на уровне системы управления контентом, в безопасном от удаленного сайта месте, что повышает защищенность, стабильность и производительность.
  • Миграция контента и совместное использование с другими системами обычно более естественны для архитектуры.
  • Поддержка много-канальности предоставляется бесшовным образом, так как публикация в мобильные приложения, социальные каналы и другие цифровые каналы является естественным продолжением нативной возможности публикации.
  • Поддерживается естественное совместное управление контентом.
  • Когда когд изолирован, а масштабирование простое, то легче разрабатывать и внедрять новые функции для ваших пользователей.
  • Интеграция с DevOps намного проще. Когда вам нужно интегрировать ваши средства разработки, процессы/автоматизацию и репозиторий исходного кода — все это значительно более доступно, если системы авторства и доставки разделены.

 Недостатки

  • Инсталляция имеет больше компонентов и может быть более сложной.
  • Публикация контента является дополнительной точкой отказа.
  • Разделение компонентов может зайди слишком далеко, увеличивая сложность и уменьшая связность пользовательского опыта.

Выбор между связанной и распеределенной CMS

Ясно, что у каждого подхода есть свои преимущества и недостатки. Связанная система может хорошо работать в одном сценарии, тогда как распределенная система может быть более подходящей в другом случае.

Связанная архитектура может хорошо подходить для небольших веб-сайтов, микросайтов и посадочных страниц, которые нужно быстро настроить и выложить в Интернет. Также это полезно, если вам не нужно быстро масштабироваться или публиковать контент за пределами самого веб-сайта.

С другой стороны, распределенная архитектура идеально подходит для веб-сайтов и других потребителей контента, которые требуют высокой производительности, высокой доступности и легкости масштабирования. Также, если им нужны множество настраиваемых функций, интеграций с системами от сторонних производителей или публикации контента на один или несколько цифровых каналов помимо самого веб-сайта. Управление многоканальными цифровыми опытами лучше всего выполнять с распределенной CMS.

Так что такое Headless CMS? И является ли Headless CMS распределенной CMS?

Связанные и распределенные архитектуры предоставляют уникальные преимущества и хорошо работают в различных сценариях. Однако это не объясняет, где в данном уравнении находится Headless CMS.

Технология Headless CMS предоставляет контент уровню представления (или потребителю контента) в виде сервиса, обычно через интерфейс RESTful в формате JSON или XML. Это также известно как Content as a Service (CaaS). Основное преимущество архитектуры Headless CMS заключается в том, что контент написан и опубликован один раз, но может быть запрошен и представлен уникальным образом любым количеством различных каналов/потребителей контента.

Хотя архитектура Headless CMS действительно разделяет, или "распределяет", контент и представление, она ничего не указывает относительно возможностей редактирования или доставки контента. И хотя разделение управления контента и его представления, безусловно, является одной из самых важных архитектурных опций, которые вам нужно рассмотреть, это не единственное важное архитектурное решение, которое вам нужно учитывать.

Таким образом, важно сохранять традиционное использование термина "распределенный CMS" в отношении разделения возможностей управления контентом и его доставки.

Многие поставщики Headless CMS говорят, что они являются распределенной системой, но, на самом деле, они ей не являются. Основной характеристикой Headless CMS является использование API для подключения к различным фронтенд-слоям, и многие поставщики Headless CMS все еще связывают свои возможности управления контентом с headless системой доставки. С другой стороны, распределенная CMS имеет как экземпляры управления, так и доставки; они просто разделены.