Headless CMS (безголовая CMS система управления контентом) — это когда интерфейс или уровень представления отделен от данных (серверной части). Отделив внешний интерфейс или уровень представления от серверной части или функций электронной коммерции, команды могут быть более гибкими и производительными.
Далее вы узнаете, что такое headless-система, чем она отличается от устаревших монолитных архитектур CMS, а также плюсы и минусы, которые следует учитывать перед созданием headless-системы. Headless стал предпочтительным решением для современных контент-платформ, но все же есть некоторые подводные камни, на которые следует обратить внимание.
- Что такое Headless
- Плюсы безголовой архитектуры
- Гибкость
- Кастомизация
- Масштабируемость
- Ускоренный выход на рынок
- Совместимость
- Минусы безголовой архитектуры Headless
- Ограниченная персонализация
- Управление инфраструктурой
- Дороже на стадии инвестиций
- Headless для электронной коммерции
- Традиционная и безголовая коммерческая архитектура
- Традиционная архитектура электронной коммерции
- Безголовая архитектура электронной коммерции
- Преимущества безголовой коммерции
- Более быстрые веб-сайты
- Легче построить омниканальное присутствие, в т.ч. для IoT
- Больший контроль над отдельными частями архитектуры
- Бесшовная интеграция с другими инструментами и сервисами
- Будущая проверка вашего технического стека
- Распространенные заблуждения о безголовых архитектурах
- Это плохо для SEO
- Без головы = больше сложности
- Заключение
Что такое 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 многократного использования дает вам больше возможностей использовать этот контент и сократить расходы на протяжении всего срока службы вашей системы.
Headless для электронной коммерции
Безголовая (Headless) коммерция — это когда интерфейс или уровень представления отделен от серверной части. Он следует тем же принципам, что и безголовая CMS, в том смысле, что, отделив внешний интерфейс или уровень представления от серверной части или функций электронной коммерции, команды могут быть более гибкими и производительными. Безголовая коммерция следует модульному подходу к архитектуре сайтов, при котором команды полагаются на существующие лучшие в своем классе инструменты для создания индивидуальной архитектуры.
Применяя «безголовый» подход к электронной коммерции, компании выбирают архитектуру, которая позволяет им создать мощный серверный компонент, полный необходимых функций электронной коммерции, который со временем будет расти вместе с ними. Создание PIM (системы управления продуктом) с большим объемом данных, управление корзинами покупок и заказами — это лишь часть функций, которые актуальны и необходимы для создания современного сайта электронной коммерции на серверной стороне. Что касается внешнего интерфейса, крайне важно, чтобы игроки электронной коммерции предоставляли современный пользовательский интерфейс, отражающий последние потребительские тенденции.
Потребительские тенденции в электронной коммерции и их ожидания в отношении бесперебойного взаимодействия с пользователем демонстрируют, насколько динамичными и гибкими должны быть интерфейсные системы. В то время как бэкэнд должен фокусироваться на производительности и надежности данных, фронтенд-системы отвечают за внешний вид контента, тон бренда и пользовательского опыта. Когда команды внедряют архитектуру автономной коммерции, становится легко быть в курсе потребительских тенденций без дорогостоящих обходных решений или трудоемкой миграции данных.
Традиционная и безголовая коммерческая архитектура
Те, кто приступает к созданию магазина электронной коммерции, могут выбирать между монолитным и безголовым подходами к архитектуре. В рамках этих 2 подходов необходимо учитывать множество вещей: от дополнительных инструментов, которые могут потребоваться, до требований к персоналу, основанных на этом подходе.
Традиционная архитектура электронной коммерции
Традиционные архитектуры электронной коммерции, также известные как монолитные архитектуры электронной коммерции, были стандартным рыночным решением для электронной коммерции, когда онлайн-взаимодействия ограничивались веб-браузером. Монолитная архитектура предлагает единую платформу, где логика внешнего и внутреннего интерфейса обрабатывается в одной системе.
Хотя эти системы могут быть эффективными при работе с большими наборами данных, они часто обладают дополнительными функциями, которые могут усложнить систему. С точки зрения пользователей, они заранее ограничиваются определенными шаблонами или разработчиками, которые могли создавать трудоемкие индивидуальные решения.
Преимущества монолитных систем заключаются в том, что их легко настроить для простых случаев использования, таких как магазин электронной коммерции на основе браузера. Нахождение всех данных в одной системе означает, что командам не нужно беспокоиться о хранилищах данных, но данные не очень гибкие.
Те, кто хочет выйти за рамки магазина электронной коммерции на базе браузера, скорее всего, столкнутся с дорогостоящей миграцией данных и длительным сроком реализации проекта. Рост омниканального опыта электронной коммерции и появление лучших в своем классе специализированных приложений привели к тому, что эффективность электронной торговли зависит от гибких решений, а такой подход к архитектуре выходит за рамки монолита.
Безголовая архитектура электронной коммерции
Headless-архитектура для электронной коммерции — это модульная микросервисная архитектура, состоящая из отдельных интерфейсных и серверных систем, соединенных через API. В своей простейшей форме они могут состоять из внутренней платформы электронной коммерции и одного внешнего уровня представления. Платформы безголовой электронной коммерции могут обрабатывать все: от управления информацией о продуктах (PIM) до управления заказами и структурирования корзины.
В то время как подход к архитектуре безголовой коммерции без CMS подойдет для простых случаев использования, бренды, желающие обеспечить запоминающийся пользовательский опыт, часто комбинируют использование системы безголовой коммерции в тандеме с системой управления контентом и другими инструментами. Эти инструменты будут подключены через API и добавят в стек больше функциональности и гибкости.
Добавление CMS в стек позволяет маркетинговым организациям иметь больший контроль над контентом на сайте, что позволяет им быстро создавать маркетинговые кампании без необходимости участия разработчиков. Поскольку подход к безголовой коммерции опирается на API-интерфейсы для соединения различных систем, команды получают возможность внедрять лучшие инструменты, соответствующие их варианту использования, не создавая при этом лишнего веса в системе.
Преимущества безголовой коммерции
Чтобы лучше понять, почему компании тратят время на внедрение нового подхода к безголовой коммерции, давайте взглянем на преимущества реализации архитектуры безголовой коммерции.
Более быстрые веб-сайты
Благодаря «безголовому» подходу организации могут объединить высокопроизводительные современные инструменты для создания соответствующих быстрых веб-сайтов. Используя инструменты и технологии, которые отдают приоритет производительности на каждом уровне, команды могут создавать веб-сайты быстрее, чем их монолитные коллеги.
Мир внешнего интерфейса быстро развивается, и всегда существуют новые способы повышения производительности с помощью современных инструментов внешнего интерфейса. Разработчики и маркетологи могут воспользоваться преимуществами тестирования этих новых технологий, чтобы найти наиболее производительный стек, не нарушая работу серверной части.
С точки зрения серверной части наиболее важным фактором является то, что системы безголовой коммерции и CMS имеют высокопроизводительный API. Поскольку большая часть контента, скорее всего, будет размещена в этих двух системах, ключевым моментом является обеспечение соответствия инструментов поставленной задаче. Индикаторы, которые могут быть полезны, включают в себя большие объемы вызовов API, быстрое время ответа API и большое внимание к опыту разработчиков.
Легче построить омниканальное присутствие, в т.ч. для IoT
Омниканальный опыт является ключевым моментом для многих брендов. Потребители могут увидеть что-то в приложении, примерить это в магазине, но купить онлайн. С появлением технологий Интернета вещей IoT разнообразие доступных каналов становится бесконечным. Безголовая архитектура обеспечивает омниканальный подход, поскольку центральная серверная система остается согласованной по различным каналам.
Фронтенд-команды могут тестировать и запускать новые каналы, используя существующие данные с платформы безголовой коммерции, и представлять их по-новому через ранее неизведанный канал. Если существующие каналы устаревают, их легко отключить, не нарушая работу других каналов.
Это позволяет организациям быть более гибкими и новаторскими. Компании больше не связаны с длительной и дорогостоящей миграцией, из-за которой они не склонны к риску. Имея возможность использовать существующие серверные данные, команды могут формировать свои подходы к созданию эффективного пользовательского опыта в каждом канале, который они используют.
Больший контроль над отдельными частями архитектуры
Поскольку команды внедрили модульную архитектуру, это также позволяет им лучше контролировать отдельные элементы архитектуры. Модульная архитектура позволяет организациям выбирать технологии , которые лучше всего подходят для их конкретного случая использования и возможностей персонала.
По мере роста компании и изменения потребностей им может потребоваться добавлять или удалять элементы своей архитектуры. С модульной архитектурой это сделать намного проще, чем с традиционным подходом к электронной коммерции; однако этот процесс все еще может потребовать ресурсов для разработки, поэтому важно рассмотреть инструменты, которые будут хорошо служить своей цели в долгосрочной перспективе.
При выборе элементов архитектуры важно учитывать не только то, как они повлияют на текущие требования проекта, но и то, как они будут масштабироваться в будущем. Выбор технологий, которые предлагают цену и функциональность с возможностью масштабирования без ущерба для производительности в долгосрочной перспективе, имеет важное значение для долгосрочного здоровья архитектуры. Это наиболее важно для системы безголовой торговли и CMS, где будет храниться большая часть контента, насыщенного данными.
Бесшовная интеграция с другими инструментами и сервисами
Поскольку для подключения каждого из модульных инструментов используются API-интерфейсы, существует множество возможностей для плавной интеграции с другими инструментами и сервисами. Мало того, что данные могут беспрепятственно передаваться между различными инструментами через API, команды могут создавать интеграцию между различными инструментами для создания более эффективных рабочих процессов.
В традиционных системах электронной коммерции интеграция может быть построена в качестве обходного пути или зависеть от создания монолитного решения. Если такая интеграция еще не существует, инвестиции в ее создание могут быть дорогостоящими и трудоемкими. Благодаря безголовой архитектуре создавать новые интеграции легко благодаря гибкому характеру архитектуры.
Некоторые платформы обеспечивает эту возможность через удаленные источники, где данные могут быть получены из внешних систем, и позволяет использовать эти данные в CMS. Создавая непрерывный поток данных из PIM в вашу платформу электронной коммерции, легко обеспечить правильное обслуживание данных.
Будущая проверка вашего технического стека
Благодаря безголовой архитектуре компании могут построить более устойчивый к изменениям технологический стек. Врожденная гибкость стека позволяет вносить коррективы по мере развития проекта и изменения потребностей. По мере изменения омниканальных подходов или роста команды могут меняться дополнительные инструменты для конкретного проекта; однако богатая данными серверная часть платформы автономной коммерции и CMS, работающие в тандеме, позволят этим изменениям произойти быстро.
Распространенные заблуждения о безголовых архитектурах
Существует несколько распространенных заблуждений относительно принятия безголовой архитектуры и недостатков ее реализации. Давайте рассмотрим некоторые из них:
Это плохо для SEO
Во многих модульных, автономных архитектурах в качестве внешней среды выбора используется JavaScript. Существует понимание того, что при использовании JavaScript веб-сайты сложнее сканировать поисковыми системами, поскольку им необходимо сначала поместить страницы в очередь рендеринга. Однако с появлением современных генераторов статических сайтов этой проблемы больше не существует. С помощью генераторов статических сайтов SSG команды могут предварительно отображать страницы и серверный HTML-код в браузере.
Кроме того, использование современного SSG помогает улучшить скорость загрузки веб-сайта, что еще больше помогает SEO, поскольку основные веб-показатели (CWV) становятся важным фактором ранжирования. По-настоящему модульный, «безголовый» подход использует широкий набор инструментов, который позволяет организациям воспользоваться преимуществами инструментов, созданных в соответствии с сегодняшними стандартами, ориентированными на производительность и SEO.
Без головы = больше сложности
Существует распространенное заблуждение, что безголовая архитектура значительно усложняет архитектуру и рабочие процессы. Безголовая архитектура в своей простейшей форме означает предоставление единого бэкэнда для всех возможных способов доставки контента. Команды могут предоставлять контент на несколько платформ, просто подключив уровень внешнего интерфейса к вашему решению для автономной коммерции.
Современные способы взаимодействия с клиентами практически требуют от брендов думать по-другому и использовать новые подходы к привлечению внимания клиентов, но это почти всегда в большей степени зависит от способа представления данных, чем от необходимости сложной архитектуры серверной части. Часто инструменты могут интегрироваться друг с другом, чтобы обеспечить больше функциональности в одном инструменте, сокращая рабочий процесс и создавая более унифицированный пользовательский интерфейс, сохраняя при этом преимущества модульного рабочего процесса.
Заключение
Безголовая архитектура — это шаблон CMS, в котором хранение и администрирование контента отделены от того, как он отображается для потребителей. API используются для получения вашего контента в любой среде программирования. Вы собираете свои «головы», запрашивая нужные вам данные. Это обеспечивает универсальность для создания современных приложений, управляемых контентом, без привязки к серверной части.
Интерес к безголовым подходам неуклонно растет во всей отрасли, поскольку все больше организаций стремятся более широко использовать контент и управлять за пределами устаревших систем CMS. Хотя переход на автономную CMS может оказаться дорогостоящим, он окупается, помогая быстрее запускать новые приложения без дублирования контента в нескольких сервисах.