Сайты и SEO

Jamstack не заменит WordPress: рассмотрим новую архитектуру веб-разработки

Jamstack VS WordPress – что выбрать, 8 летнюю CMS или 20 летнюю....

Jamstack как альтернативная WordPress: есть ли у этой архитектуры будущее?

Jamstack
Jamstack

Jamstack – это современная архитектура веб-разработки, основанная на клиентском JavaScript, многоразовых API и встроенной разметке.

WordPress – это 20-летняя система управления контентом (CMS), которая обслуживает 42,8% интернета, используя Linux, Apache, MySQL и PHP.

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

  • Набор технологий Jamstack – это “программная архитектура” 8-летней давности, которая обеспечивает 1,2% интернета с использованием JavaScript, API и Markdown. Архитектура делает сайты быстрее, безопаснее и проще в масштабировании.

Так почему же Jamstack до сих пор не заменил WordPress?

Идея Jamstack заключается в том, что вы обслуживаете свой веб-сайт из сети доставки контента, которая извлекает файлы сайта из бессерверной архитектуры. Но что это значит?

Сеть доставки контента (CDN) – это услуга, предоставляемая такими компаниями, как Cloudflare и Fastly, которая ускоряет время, необходимое пользователю сайта для загрузки страницы.

  • Эта услуга реализуется путем размещения нескольких веб-серверов по всему миру, а затем предоставления содержимого веб-сайта (файлов) с сервера, который находится ближе всего к запрашивающему пользователю.

Уменьшение расстояния от сервера до клиента уменьшает задержку в сети, поэтому пользователь быстрее получает данные. Другими словами, CDN представляет собой кэш.

Что такое файл? Файл – это виртуальное представление бумаги, в котором хранятся биты (1 и 0). С другой стороны, контент – это человеческая конструкция, используемая для представления медиа (которые могут содержать файлы).

Важно понимать разницу между файлом и содержимым. Изображение в формате PNG – это файл с расширением ”.png”, который содержит содержимое в пикселях.

Сеть доставки контента (CDN) – как работает и для чего нужна

Ограничение традиционного CDN заключается в том, что он хранит только содержимое файла, в отличие от выполнения кода внутри файла.

Что ж… CDN не хочет, чтобы его веб-серверы тратили время на выполнение кода или извлечение данных с других серверов.

  • Таким образом, служба CDN ожидает, что разработчики сайтов отправят “статический” (неизменяемый) контент в CDN. Таким образом, пользователь веб-сайта получает данные только с CDN, а не с исходного веб-сервера. Изображение в формате PNG – это пример статического содержимого.

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

Посмотрите новые ноутбуки на AliExpress или Яндекс.Маркете!

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

Джемстек
Jam stack

Технология Workers

Эта технология выполняет код (JavaScript, WASM) в файлах, размещенных аналогично статическому контенту.

  • Когда пользователь запрашивает веб-страницу (которая содержит скрипты на CDN), веб-серверы CDN будут выполнять код (в скрипте). Это позволяет веб-разработчикам предоставлять “динамический” (изменяющийся) контент из CDN пользователю сайта.

Ожидается, что веб-разработчик внедрит функциональность в Worker, которая всегда возвращает ответ пользователю. Таким образом, когда код выполняется, страница отправляется клиенту пользователя.

Что такое архитектура сервера?

Архитектура сервера относится к системному проектированию сети компьютеров (называемых серверами). Другими словами, она показывает, как группа компьютеров взаимодействует друг с другом.

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

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

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

Что такое бессерверная архитектура?

Бессерверная архитектура – это тип серверной архитектуры. Он предполагает использование серверов, над которыми разработчик не имеет никакого контроля.

В бессерверных архитектурах ответственность за управление сервером передается сторонним сервисам (например, AWS, GCP, CDN и т.д.). Напомним, что обслуживание веб-страниц – это вариант использования Workers, но не их единственная цель.

  • Фактическая цель Workers – позволить разработчикам запускать функции (лямбды и т.д.) без управления сервером. Затем сторонний сервис взимает плату с разработчика за использованную вычислительную мощность.

Поскольку эти “функции” обычно выполняются “на границе”, использование бессерверной архитектуры также называется ”обслуживанием с края”. Бессерверный веб-сайт – это веб-сайт, созданный с использованием бессерверной архитектуры. Это серверная архитектура, которую веб-сайт Jamstack использует для обслуживания веб-страниц.

  • Другими словами, Jamstack – это реализация бессерверной архитектуры, которая использует Workers для отправки файлов в CDN.

Что сбивает с толку, так это то, что многие термины используются для описания функциональности, аналогичной Workers.

Предоставление динамического контента

Какова цель предоставления динамического контента? Допустим, вы хотите создать веб-сайт с персонализированной домашней страницей. Это требует, чтобы сервер выполнил код.

Считывает запрос пользователя для определения его статуса входа в систему. Обслуживает различный (статический) контент в зависимости от пользователя.

В этом случае домашняя страница веб-сайта является “динамической”, поскольку она изменяется в зависимости от состояния посещающего пользователя.

  • Worker выполняет код, который проверяет статус входа пользователя в систему, а затем предоставляет ему персонализированный контент.

Для веб-сайта типично хранить информацию о пользователе в базе данных. Таким образом, в данном случае “проверка информации пользователя” подразумевает, что сервер извлекает данные из базы данных.

Затем он сравнивает эти данные с другими значениями. Но как вы извлекаете данные из базы данных? Это зависит от серверной архитектуры вашего веб-сайта.

Джемстек
Джемстек

Как обслуживать динамический контент

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

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

  • Обычно для динамического контента требуется код, который взаимодействует со службами API и решениями для хранения данных.

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

WordPress – это PHP-приложение, которое использует базу данных MySQL и веб-сервер Apache для обслуживания веб-страниц с одного сервера. Без сервера вы должны использовать сеть для подключения нескольких служб сайта (например, пользователя, выставления счетов, ролей и т.д.).

Такое поведение является функцией архитектуры сервисов. При использовании Jamstack выбора нет: вы должны использовать CDN, ориентированный на push, и вычислять workers для обслуживания веб-страниц. Читайте также как продвинуть сайт самостоятельно.

НА ГЛАВНУЮ

Одно Сообщение

  1. Вордпресс я думаю ничто и никогда не заменит! Это очень гибкая и удобная система, самый лучший движок сайта. Хоть и ей 20 лет ну и что, если все работает. Никакой Jamstack WordPress не заменит никогда

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Кнопка «Наверх»