Headless CMS (безголовая CMS система управления контентом) — это когда интерфейс или уровень представления отделен от серверной части. Отделив внешний интерфейс или уровень представления от серверной части или функций электронной коммерции, команды могут быть более гибкими и производительными.
Далее вы узнаете, что такое headless-система, чем она отличается от устаревших монолитных архитектур CMS, а также плюсы и минусы, которые следует учитывать перед созданием headless-системы. Headless стал предпочтительным решением для современных контент-платформ, но все же есть некоторые подводные камни, на которые следует обратить внимание.
Что такое Headless
Безголовая CMS включает в себя функции хранения и администрирования контента, но в ней отсутствует механизм отображения этого контента.
Традиционные варианты CMS, такие как WordPress, Drupal и Joomla, имеют три основные возможности:
- Хранение контента в базе данных, например сообщений в блогах, списков продуктов и событий,
- Пользовательский интерфейс для авторов, редакторов и кураторов контента, позволяющий публиковать новый контент в базе данных,
- Средство отображения контента конечным пользователям, которое обычно основано на темах сайта, отображаемых на стороне сервера в браузере пользователя.
Безголовые системы сохраняют поддержку первых двух пунктов, но отказываются от третьего. Вам придется реализовать свою собственную «голову», используя API, предоставляемые CMS. Эти API предоставляют сохраненные вами необработанные данные контента без какого-либо визуального форматирования. API-интерфейсы позволяют вам получать доступ к вашим данным с помощью любой необходимой вам внешней технологии, например React для веб-приложений или Flutter для мобильных приложений.
Эта модель решает одну из самых больших проблем традиционных сайтов, управляемых CMS: контент внутри этих систем может отображаться только с использованием серверных тем, доступных для платформы. Для создания нового приложения для Android или iOS требуется механизм моста, позволяющий предоставлять контент из CMS таким образом, чтобы к нему мог получить доступ ваш собственный код.
Безголовый подход, ориентированный на API, аккуратно обходит эту проблему. Вместо того, чтобы создавать темы для своей CMS, вы отгружаете из нее контент для любого контекста и потребителя, которая будет актуальной. Это позволяет обойти дорогостоящие обходные пути, когда вы создаете более богатый опыт на основе приложений, для которого требуются статьи, реестры или профили, хранящиеся в вашей CMS.
Некоторые ранее популярные CMS-решения за последние несколько лет перешли на гибридный подход. Например, WordPress теперь имеет собственный REST API , позволяющий создавать собственные заголовки для вашего сайта в дополнение к обычным темам, отображаемым на сервере. Однако гибридное решение вряд ли сможет предложить мощную структуру, гибкость и расширяемость специализированных автономных платформ.
Плюсы безголовой архитектуры
Гибкость
Гибкость — определяющая характеристика headless-систем. Устаревшие решения CMS заставляют вас разрабатывать темы с использованием предпочитаемого ими языка и системы шаблонов. Headless предоставляет вам согласованный API, который работает во всем вашем программном обеспечении. Вы можете использовать контент в любом приложении, платформе или среде программирования.
Это расширяет возможности предоставления новых возможностей клиентам вашей организации. Вместо разработки для CMS вы разрабатываете цифровые продукты, включающие контент, опубликованный вами в CMS.
Кастомизация
Безголовые системы обладают широкими возможностями настройки, поскольку от вас зависит, какую форму примет окончательный контент. Большинство безголовых решений обеспечивают комплексный контроль над схемами контента и правилами проверки. В то время как устаревшие системы могут заставить вас моделировать каждый элемент как «страницу» или «публикацию», современные контент-платформы позволяют вам определять ваши собственные фундаментальные единицы, такие как «продукт», «статья», «видео».
Масштабируемость
Масштабируемость присуща headless-системам. Отделив представление контента от его хранилища, вы можете масштабировать два компонента независимо друг от друга.
Испытываете замедление работы серверной части? Добавьте новые экземпляры CMS, чтобы можно было одновременно обслуживать больше запросов API. Заметили увеличение трафика пользователей к конкретному приложению? Вы можете масштабировать этот продукт и кэшировать его содержимое в CDN.
Устаревшие решения заставят вас каждый раз масштабировать весь сервис, включая как серверные, так и внешние компоненты. Это неэффективно, если избыточная нагрузка воздействует только на одну сторону, что приводит к увеличению затрат на облако из-за создания новых ресурсов, которые вам не нужны.
Ускоренный выход на рынок
Headless-системы также сокращают время выхода на продукта рынок. Ваш контент хранится в центральном месте, где к нему может получить доступ любая система, которая в нем нуждается. Вы можете пропустить подготовку экземпляра CMS для каждого нового решения и избежать неудобного дублирования, когда для каждого сайта требуются разные платформы контента.
С помощью headless CMS вы всегда можете добавлять новые интерфейсы, подключать их к API и получать необходимые данные. Это обеспечивает конкурентное преимущество, когда вам нужно быстро запустить новый микросайт или приложение в ответ на рыночные изменения и актуализировать контент в разных каналов из единого центра правды.
Совместимость
Headless-системы отлично совместимы с различными вычислительными платформами и внешними приложениями. Они также обычно хорошо совместимы, что позволяет унифицировать контент из разрозненных источников, таких как удаленные базы данных и сторонние API. Многие автономные платформы могут даже извлекать данные из традиционных CMS с помощью REST API, помогая вам мигрировать существующие сервисы.
Минусы безголовой архитектуры Headless
Хотя большинство контент-платформ могут извлечь выгоду из безголового подхода, у этой архитектуры есть несколько слабых мест, которые стоит предвидеть, прежде чем начинать. Вот три ключевых момента, которые следует учитывать.
Ограниченная персонализация
Headless CMS может затруднить персонализацию вашего контента для отдельных пользователей. Пользователи физически отделены от контента в вашей CMS. Содержимое, хранящееся на сервере, передается через Интернет и собирается в видимые страницы и экраны на устройстве пользователя. Сервер не может узнать личность пользователя, если устройство не отправляет токен с каждым запросом API. Это может создать трудности, когда вам нужно установить удостоверения для изменения контента отдельно для каждого пользователя.
Усилия по реализации этой работы с нуля должны быть реализованы в коде внешнего интерфейса, создавая новые задачи для ваших разработчиков. Более простой метод — интеграция пакета аналитики или измерений, предназначенного для автономной работы, такого как Frosmo или Conscia. Эти библиотеки позволяют включать токены идентификации в запросы API, направляемые к серверной части CMS. Затем CMS может персонализировать контент для пользователя.
Управление инфраструктурой
Вам также понадобится больше опыта управления инфраструктурой для размещения собственной автономной CMS. Устаревшие системы хорошо поддерживаются бесчисленными хостинговыми компаниями, которые позволяют вам создать новый сайт за считанные секунды. При использовании headless вам необходимо развертывать CMS и интерфейсы отдельно. Хотя это обеспечивает мощную масштабируемость, это означает, что необходимо организовать и поддерживать больше движущихся частей. Для запуска крупномасштабной автономной системы могут потребоваться специальные знания DevOps, например, как распределять несколько сервисов с помощью Kubernetes и обеспечивать безопасность сетевых коммуникаций с помощью таких инструментов, как Calico .
Эти проблемы можно решить, выбрав облачную CMS, которой управляет поставщик. Вы по-прежнему будете нести ответственность за развертывание собственных интерфейсов, но сложность запуска и масштабирования платформы контента будет решена за вас.
Дорого в реализации
Аналогичным образом, внедрение безголовых решений может оказаться более дорогостоящим. Потребуется ряд затрат, включая инфраструктуру для платформы контента и ее хранилища, хостинг для каждого развертываемого вами внешнего интерфейса, а также любые сборы разработчиков за изучение автономного рабочего процесса и создание собственных функций.
Вознаграждение приходит в виде гибкости, свободы и ловкости. Хотя первоначальные инвестиции могут быть выше, технология Headless сокращает время выхода на рынок и позволяет быстрее реагировать на требования клиентов. Перенос представления контента из разрозненных шаблонов CMS в API многократного использования дает вам больше возможностей использовать этот контент и сократить расходы на протяжении всего срока службы вашей системы.
Заключение
Безголовая архитектура — это шаблон CMS, в котором хранение и администрирование контента отделены от того, как он отображается для потребителей. API используются для получения вашего контента в любой среде программирования. Вы собираете свои «головы», запрашивая нужные вам данные. Это обеспечивает универсальность для создания современных приложений, управляемых контентом, без привязки к серверной части.
Интерес к безголовым подходам неуклонно растет во всей отрасли, поскольку все больше организаций стремятся более широко использовать контент и управлять за пределами устаревших систем CMS. Хотя переход на автономную CMS может оказаться дорогостоящим, он окупается, помогая быстрее запускать новые приложения без дублирования контента в нескольких сервисах.