Как спланировать требования к инфраструктуре и затраты

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

  • создал проект Google Cloud;
  • настроил сервер, работающий в стандартной среде App Engine.

Стандартная среда App Engine предназначена для тестирования и настройки серверного контейнера. При проверке настроек вы вряд ли превысите лимиты на бесплатное использование, однако для обработки реального трафика с сайта вам понадобится улучшенная инфраструктура.

Прежде чем обновлять среду, вам нужно учесть следующее:

  • Стабильность. Какая вычислительная мощность нужна для работы вашей среды добавления тегов на стороне сервера? Как сильно изменяется объем трафика в зависимости от времени года или во время проведения масштабных кампаний?
  • Стоимость. Какой бюджет вы можете выделить на обслуживание среды? Если у вас не хватает средств для обработки всего трафика, возможно, придется его ограничить, чтобы серверный контейнер обрабатывал лишь часть событий.
  • Обслуживание. Для работы с App Engine нужно немного разбираться в Google Cloud Platform. У вас есть такой опыт или вам понадобится помощь сторонних специалистов?
  • Политики организации. Если у вашей компании уже есть аккаунт или организация Google Cloud Platform, к ним могут применяться правила, согласно которым, прежде чем обновлять серверную среду, нужно пройти проверку. Мы рекомендуем выполнять обновление при поддержке ИТ-специалистов или разработчиков.
  • Система доменных имен (DNS). Рекомендуем перенести отслеживание на ваши собственные сайты. Для этого обновите зоны DNS с помощью ИТ-специалистов и разработчиков.

Далее мы расскажем, как рассчитать нужное количество экземпляров. Если вы уже хорошо разбираетесь в проектировании инфраструктуры, то можете сразу приступить к обновлению.

Как оценить затраты – Cloud Billing

Затраты на гибкую среду App Engine с добавлением тегов на стороне сервера зависят от требуемой вычислительной мощности и размера хранилища, а также от объема генерируемого сетевого трафика.

Для расчета ежемесячных платежей вы можете воспользоваться Калькулятором цен Google Cloud, но рискуете столкнуться с трудностями: объем трафика на сайте обычно колеблется, а это может повлиять на все три типа затрат, перечисленные ниже.

Чтобы примерно оценить затраты на развертывание App Engine, нужно учесть указанные ниже факторы.

Тип затрат Влияние на размер оплаты Примечания
Вычисления (экземпляры) Высокое (фиксированная величина) Минимальная стоимость – это минимальное количество настроенных вами серверов, умноженное на стоимость одного сервера. Чтобы учесть масштабирование серверов и рассчитать более реалистичный диапазон цен, умножьте максимальное количество настроенных экземпляров на стоимость одного сервера. Цена составляет примерно 30–50 долларов США за экземпляр в месяц.
Сеть (исходящий трафик) Умеренное (возможны колебания) При расчете исходящего трафика учитываются все сетевые данные, поступающие из серверного контейнера. К ним относятся запросы, отправленные клиентами и тегами, а также ответы HTTP, которые серверный контейнер возвращает браузеру пользователя. Исходящий сетевой трафик может увеличить затраты, если конечная точка в среде добавления тегов на стороне сервера работает с большими ресурсами или библиотеками JavaScript.
Хранилище (журналы) Может меняться Когда общее количество запросов превысит лимит для бесплатного плана Cloud Logging, стоимость хранения журналов может стать существенной. Чтобы удешевить ведение журналов, отфильтруйте входящие запросы или включите только выборку записей в журналах.

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

Что нужно учесть при проектировании инфраструктуры

Если вам нужен расширенный контроль над развертыванием, ознакомьтесь с приведенным ниже контрольным списком. Хотя App Engine максимально упрощает эксплуатацию и обслуживание серверов, вам будет полезно разобраться в технических аспектах их работы. Это поможет вам принимать обоснованные решения.

Тема Описание Что нужно учесть
Время холодной загрузки Когда объем трафика резко увеличивается, App Engine создает ещё один экземпляр, который нужно запустить и подготовить к работе в среде добавления тегов.
Это может занять некоторое время. Пока инфраструктура адаптируется, может увеличиться задержка.
Настройте достаточное минимальное количество экземпляров с учетом регулярных колебаний трафика.

При сезонном увеличении трафика снова выполните сценарий командной строки и настройте большее минимальное количество экземпляров.
Сине-зеленое развертывание Если вам нужно обновить образ Docker, потребуется повторно развернуть сервер App Engine. Пока AppEngine настраивает новую версию сервера (статус синий), трафик по-прежнему направляется на старую версию. Как только новая версия будет готова (статус сменится на зеленый), трафик автоматически начнет перенаправляться на нее, а старая версия сервера деактивируется. Во время обновления вы можете увидеть, что развернуто несколько версий приложения. Это нормально. Настройка новой версии и перенаправление трафика на нее будут выполнены автоматически.
Проверки состояния В журналах App Engine вы можете увидеть периодические запросы к /healthz. Это проверки состояния, которые инициализируются средой развертывания. Если такие запросы завершаются ошибкой, это означает, что среда неработоспособна. Она будет автоматически развернута повторно. Хотя запросы к /healthz имеют совсем небольшой размер и занимают очень мало места в хранилище, вы можете исключить их из журналов Cloud Logging, чтобы анализировать только нужные записи.
Виртуальные машины и бессерверная среда Для работы Google App Engine используются виртуальные машины. Гибкая среда App Engine никогда не останавливается полностью, поэтому даже при отсутствии трафика всегда будет работать по крайней мере один экземпляр. Если вам нужна бессерверная среда с дополнительными возможностями масштабирования, вы можете развернуть ее, к примеру, в Google Cloud Run. Как развернуть добавление тегов на стороне сервера в Google Cloud Run
Сжатие App Engine автоматически сжимает все ресурсы (например, файлы JavaScript и изображения), которые возвращаются источнику запроса в ответах HTTP. Это помогает уменьшить исходящий сетевой трафик. Не все облачные сервисы поддерживают автоматическое сжатие. Возможно, вам понадобится применить дополнительные инструменты или настройки, чтобы обеспечить сжатие ресурсов в таких сервисах. Клиенты Google Менеджера тегов, GA4 и Universal Analytics в серверном контейнере можно настроить таким образом, чтобы в средах, не поддерживающих автоматическое сжатие (например, Google Cloud Run), данные сжимались на уровне приложения. Это немного увеличивает использование вычислительных ресурсов, так как сжатие происходит во время выполнения приложения.
Поддержка пользовательских доменов Поддержка пользовательских доменов позволяет настроить теги на собственных ресурсах.

Некоторые сервисы (например, Google App Engine) позволяют сопоставить пользовательский домен со средой напрямую. В других сервисах (например, Google Cloud Run) может потребоваться более сложная настройка, особенно для мультирегиональных конфигураций с балансировщиками нагрузки.
Если вы используете Google Cloud Platform, то можете развернуть несколько пользовательских доменов в среде добавления тегов на стороне сервера.

При развертывании сервера тегов в Cloud Run помните о текущих ограничениях для сопоставления доменов в зависимости от региона.
Во многих случаях лучше всего использовать балансировщик нагрузки, хотя это и повышает стоимость и сложность развертывания.
Регион Cloud При автоматической инициализации серверного контейнера создается приложение App Engine в регионе us-central1. Из-за особенностей работы App Engine регион, заданный для вашего проекта, нельзя изменить. Если вы хотите самостоятельно выбрать регион развертывания App Engine, пропустите автоматическую инициализацию и выполните развертывание с помощью сценария командной строки в проекте, где ещё не установлено приложение App Engine. App Engine развертывается только в одном регионе. Если среда добавления тегов на стороне сервера должна обслуживать несколько регионов, вы можете настроить в Google Cloud Run несколько серверов тегов и задействовать балансировщик нагрузки, который распределяет трафик в зависимости от географического местоположения пользователя.

Полезные ссылки

Резюме

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

Вы готовы обновить свои серверы? Тогда переходите к следующей главе.