Облачный десант: как мы интегрировали публичное облако с CDN и что из этого получилось

Когда в вашем распоряжении одновременно оказывается мощное облако с инфраструктурой в США, Евросоюзе, СНГ, Азии и Австралии и CDN со 100 точками присутствия в 70+ городах на пяти континентах, решение приходит само собой — нужно их интегрировать! Такая синергия очевидно расширит возможности инфраструктуры. Конечно же, мы не могли упустить такую возможность, но в то же время столкнулись с целым рядом челленджей.

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



Зачем вообще интегрировать облако с CDN
В первую очередь публичное облако — это масштабируемые мощности. Их можно использовать как угодно: для разработки и тестирования сервисов, а также хранения и обработки данных. Мы в G-Core Labs запустили облако в прошлом году и уже успели задействовать его в высоконагруженных проектах. Например, наш давний клиент — Wargaming — использует это решение сразу для нескольких задач:
  • Тестирование новых фич и сервисов разных проектов;
  • Подготовка тестовых прототипов с внешними разработчиками, которым нужен доступ к изолированным настраиваемым и контролируемым ресурсам;
  • Работа онлайн-игры «Калибр» на виртуальных машинах.

Со всем перечисленным облако справляется на ура, но работа на этом не заканчивается. Для чего бы ни были задействованы те или иные мощности, результат их работы ещё нужно доставить до точки назначения. О чём бы ни шла речь — об онлайн-игре или настоящих военных соединениях — тут-то и возникает проблема: что многотонную боевую технику, что тяжёлые данные быстро доставлять в удалённые регионы крайне непросто. Упростить эту задачу позволяет интеграция облака с сетью доставки контента. С помощью CDN транспортабельную часть — статические данные — можно забросить «по воздуху» прямо к точке назначения, а из облака лишь останется отправить «негабаритные» динамические данные. С таким подходом можно смело начинать работу даже на других континентах, так как интеграция позволяет быстрее конкурентов доставлять тяжёлый контент по всему миру.



Сокращай, распределяй, ускоряй: как CDN помогает облаку
Перейдём к конкретике. Мы не понаслышке знаем, что доставлять тяжёлый контент в удалённые регионы прямо из облака выходит долго, а постоянно увеличивать мощность инфраструктуры согласно росту нагрузки бывает накладно. К счастью, помимо публичного облака у нас оказалась и своя CDN, которая даже вошла в Книгу рекордов Гиннеса, обеспечив бесперебойный опыт игры в World of Tanks в период пиковой нагрузки.

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

1. Облачные сервисы находились под постоянной нагрузкой. Пользователи высоконагруженных проектов регулярно запрашивали контент из облаков наших клиентов. Это приводило к высокой нагрузке и долгой отдаче данных. Требовалось решение, которое позволило бы легко сократить количество обращений к источнику. Для этого мы интегрировали серверы публичного облака и кеш-серверы CDN, а также сделали единый интерфейс управления этими сервисами. С его помощью пользователи могут выносить статические данные в нужные точки присутствия сети. Благодаря этому обращения к облаку происходят только при первых запросах контента. Работает это стандартно: CDN забирает данные у источника и отправляет их пользователю, а также ближайшему к нему кеш-серверу, откуда контент и раздаётся при последующих запросах;

2. Данные долго передавались между облаком и CDN. Объединив облако с сетью доставки контента, мы заметили, что задержка при доставке данных могла бы быть меньше. Чтобы сохранить как можно больше драгоценных миллисекунд, пришлось реализовать обмен трафиком между кеш-серверами и облаком внутри опорной сети (backbone);



3. Нагрузка на источник оказывалась неравномерно. Даже после подключения CDN оставшиеся обращения к облаку распределялись неэффективно. Мы исправили это с помощью HTTP(S)-балансировщиков. Теперь в момент запроса контента они определяют из какого именно источника (виртуальной машины или бакета облачного хранилища) следует забирать данные для кеширования;

4. Тяжёлый контент долго шёл до пользователей. Чтобы сократить время ожидания, мы постоянно наращивали мощность и географию присутствия CDN. Теперь пользователям уже не приходится ждать, пока контент дойдёт до них через полмира — в момент обращения сеть доставки контента выбирает ближайшую из 100 точек присутствия на пяти континентах. В результате среднее время отклика по всему миру находится в пределах 30 мс.

Разобравшись с этими проблемами, мы уже было посчитали работу законченной. Но у облака с CDN на нас были иные планы.

Так закалялась сталь: модернизируем инфраструктуру
В один момент стало понятно, что эффект от всех наших усилий не мог проявиться в полной мере, пока мы использовали старую аппаратную конфигурацию. Чтобы серверы и размещённые на них приложения работали лучше, а контент передавался быстрей, требовался апгрейд инфраструктуры. Звёзды на небе сошлись в начале этого года: мы принялись за модернизацию, как только вышла линейка масштабируемых процессоров Intel Xeon Scalable второго поколения.

Сейчас стандартная конфигурация серверов выглядит следующим образом:
  • Облачные сервисы работают на процессорах Intel Xeon Gold 6152, 6252 и 5220, имеют до 1 ТБ RAM, а также SSD и HDD с тройной репликацией;
  • Кеш-серверы CDN оснащены Intel Xeon Platinum, виртуальными RAID на CPU и SSD D3-S4610.

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

Шилдинг, шардинг и геораспределение: ускоряем доставку контента в экстремальных условиях
Беда не приходит одна. Это особенно актуально, когда речь идёт о глобальных проектах. Отсутствие географически распределённой инфраструктуры, высокие нагрузки из-за множества пользователей со всего мира и море разнородных данных, которые им нужно быстро доставлять, — одному нашему клиенту, крупному медиаресурсу, нужно было разом разобраться со всеми этими сложностями. Немного подробностей:
  • Контент долго шёл до пользователей, а иногда и вовсе до них не доходил из-за высоких задержек и проблем в сети. Сложность заключалась в том, что весь большой пул серверов с данными размещался в одной географической точке;
  • К источнику контента обращались пользователи со всего мира, что вызывало повышенную нагрузку на инфраструктуру и приводило к дороговизне обслуживания, а также медленной отдаче данных;
  • Пользователям требовалось доставлять огромное количество постоянно пополняемого контента, уникального для каждого региона.

Базовыми возможностями интеграции облака с CDN тут было не обойтись. Мы взялись за разработку дополнительных решений.

Как мы придумали «региональный шилдинг»
Это понятие, а теперь уже и действующую услугу, мы ввели специально для решения проблемы с удалённостью источника контента. Из-за того, что все серверы клиента находились в одной географической точке, данные от них долго добирались до пользователей из разных частей света. Ситуацию усложнял тот факт, что в разные регионы нужно было доставлять разный, постоянно пополняемый контент. Простое кеширование данных на edge-серверах проблему бы не устранило — они бы всё равно часто обращались к источнику через полмира.

Мы решили задачу, развернув большой пул кеш-серверов в популярных точках обмена трафика на разных континентах. «Региональные шилдинги» стали своеобразными прослойками между источником и edge-серверами в странах пользователей. Теперь весь востребованный в соответствующих частях света контент сначала попадал на них, а затем передавался кеш-серверам. Таким образом шилдинги разом снизили нагрузку на источник клиента и сократили задержки до конечных пользователей. Клиент, в свою очередь, сэкономил на размещении нескольких пулов серверов с одинаковым контентом в разных частях света, так как при таком принципе работы достаточно было одного источника данных.


Зачем понадобилось шардирование контента
Проблему долгой доставки контента в разные части света региональные шилдинги решили сполна. Однако, теперь возникла новая сложность: поскольку данных у клиента было много и они постоянно обновлялись, их то и дело не оказывалось в кеше edge-серверов, к которым обращались пользователи. Это приводило к тому, что на региональные пулы постоянно сыпалась масса запросов от кеш-серверов, число которых в одной группе достигало 20–30 штук. Чтобы снять с шилдингов часть этой нагрузки и доставлять контент пользователям ещё быстрей, мы добавили возможность забирать нужные данные у ближайшего edge-сервера в пуле.

Теперь кеш-серверы в регионах присутствия начали обращаться к шилдингам лишь тогда, когда данных не оказывалось во всей группе. Причём даже в этих случаях контент сразу же запрашивался именно у того сервера, который его содержал — благодаря шардингу edge-серверы заранее «знали» где лежит конкретный файл, а не опрашивали для этого весь пул региональных шилдингов. Такой принцип работы снизил количество запросов к пулу и позволил эффективно распределять контент по нему вместо того, чтобы хранить копии данных на каждом сервере. В результате шилдинги вмещали больше контента и как следствие оказывали меньшую нагрузку на источник клиента.


Создание такой инфраструктуры не могло не повлечь за собой ещё одной сложности. Учитывая количество кеш-серверов в группах, было бы глупо предположить, что ни один из них не может выйти из строя. В такой ситуации, как и в случае добавления в пул нового сервера, кеш в группах нужно было перераспределять оптимальным образом. Для этого мы реализовали организацию шардированного кеша с алгоритмом консистентного хеширования в блоке upstream в nginx:
upstream cache_servers {
   hash $cache_key consistent;
   server edge1.dc1.gcorelabs.com;
   server edge2.dc1.gcorelabs.com;
   server edge3.dc1.gcorelabs.com;
}


Появление в пуле недоступных серверов также было чревато ещё одной проблемой: другие серверы продолжали посылать к ним запросы и ожидали ответа. Чтобы избавиться от этой задержки, мы написали алгоритм обнаружения таких серверов в пуле. Теперь, благодаря тому что они автоматически переводятся в состояние down в upstream-группе, мы больше не обращаемся к неактивным серверам и не ждём от них данных.

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

Кому пригодилось облако с CDN
Работы по интеграции позади, а продуктом уже пользуются наши клиенты. Делимся, кто из них получает от этого наибольшую отдачу.

Скажем сразу, что решение пригодилось не всем. Другого мы и не ждали: кому-то достаточно одного лишь хранилища и виртуальных машин, а кому-то — сети доставки контента. Например, когда вся аудитория у проекта находится в одном регионе, CDN к облаку подключать практически незачем. Для минимизации задержек в этом случае хватит сервера, расположенного неподалёку от пользователей.

Во всей красе интеграция раскрывается, когда нужно быстро и далеко отдавать тяжёлый контент большому количеству пользователей. Вот пара примеров того, как облако с CDN помогает разным проектам:
  • Стриминговые сервисы, критичные к задержкам и буферизации, добиваются стабильной работы и высокого качества трансляций;
  • Сервисы онлайн-развлечений быстрее доставляют тяжёлые игры в разные точки мира и снижают нагрузку на серверы, в том числе при пиковых нагрузках;
  • Медиапроекты ускоряют загрузку рекламы и сохраняют доступность при всплесках посещаемости;
  • Интернет-магазины быстрее загружаются в разных странах, в том числе во время акций и распродаж.

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

https://gcorelabs.com

HiPanel Module








hipanel.com

HiPanel разделен на множество подключаемых пакетов, из которых вы можете выбирать:
  • hipanel-core — основной пакет
  • hipanel-rbac — RBAC
  • hipanel-hiart — HiArt
  • hipanel-module-client — клиенты и контакты
  • hipanel-module-domain — зарегистрированные домены
  • hipanel-module-finance — биллинг, счета, тарифы, интеграция платежных систем, корзина
  • hipanel-module-ticket — система поддержки билетов
  • hipanel-module-hosting — учетные записи, виртуальные хосты, базы данных, резервные копии, IPS
  • hipanel-module-server — серверы
  • hipanel-module-dashboard — приборная панель
  • hipanel-module-request — запросы
  • hipanel-module-stock — модели и позиции на складе, история заказов и перемещений
  • hipanel-module-dns — записи DNS
  • hipanel-module-document — файлы и документы
  • hipanel-module-mailing — электронный маркетинг
  • hipanel-module-certificate — SSL-сертификаты

getcomposer.org/download/
php composer.phar require "hiqdev/hipanel-core"

or add
"hiqdev/hipanel-core": "*"

Родился AlmaLinux !!



Алма означает «душа» на многих латинских языках, включая испанский и итальянский. Слово происходит от латинского almus, что означает «питательный, добрый».

Душевное сообщество
Ни одно техническое сообщество не может быть таким задушевным и страстным, как сообщество Linux. Это заботливое, совместное и питательное сообщество, которое превратило усилия отдельного человека в программное обеспечение, на котором основан мир.

История Linux начинается с личной истории Линуса Торвальдса, который в 1991 году объявил о разработке бесплатного UNIX-подобного ядра для машин x86 — ядра, которое он назвал Linux. Ядро для сообщества.

Разработчики быстро увидели потенциал бесплатного ядра UNIX с открытым исходным кодом. Шаг за шагом члены невероятно увлеченного сообщества разработчиков превратили Linux в мощное гибкое ядро, лежащее в основе бесчисленных популярных операционных систем — от настольных компьютеров до центров обработки данных.

Разнообразие сообщества Linux
Сообщество Linux удивительно разнообразно. Ядро сообщества состоит из замечательно преданных разработчиков и сопровождающих. В него также входят организации, занимающиеся развитием Linux и другого бесплатного программного обеспечения с открытым исходным кодом (FOSS). Например, Linux Foundation.

Поставщики, включая страстную команду CloudLinux, — еще один важный компонент сообщества Linux. Поставщики предоставляют критически важные ресурсы, которые помогают расти, создавать и поддерживать Linux.

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

Таким образом, AlmaLinux родился из нашей страсти и необходимости оживить сердце и душу Linux.

AlmaLinux — ответ на потребность сообщества в замене CentOS
В декабре 2020 года сообщество потеряло один из важнейших ресурсов. Red Hat объявила, что CentOS больше не будет выпускаться как стабильный выпуск, а будет заменен постоянно обновляемым CentOS Stream.

В CloudLinux мы быстро осознали огромные последствия объявления Red Hat, поэтому мы пошли на замену CentOS: бинарно совместимый форк RHEL® 1: 1, который можно использовать бесплатно и с открытым исходным кодом. Мы дали ему кодовое название Project Lenix.

Теперь мы объявляем результаты проекта Lenix: AlmaLinux. Новый дистрибутив Linux, который будет выпущен в первом квартале 2021 года, позволит пользователям CentOS легко переключиться на замену CentOS, которая пользуется постоянной поддержкой.

Переключение требует минимальных усилий: поскольку AlmaLinux является бинарно-совместимой вилкой RHEL, базой для CentOS, переключение с CentOS на AlmaLinux чрезвычайно просто.

В партнерстве с сообществом
Мы разрабатываем AlmaLinux в тесном сотрудничестве с сообществом: включая сообщество в управлении и в каждом ключевом решении. CloudLinux обязуется поддерживать этот важный дистрибутив как минимум до 2029 года, инвестируя в его разработку минимум 1 миллион долларов в год.

Однако организация проекта с открытым исходным кодом означает, что сообщество может продвигать AlmaLinux вперед независимо от того, что происходит с организацией CloudLinux.

Итак, в заключение, именно так мы выбрали название AlmaLinux. AlmaLinux — это навсегда бесплатный дистрибутив Linux для сообщества, созданный сообществом и воплощающий душу сообщества.

almalinux.org

Новые промо в Нидерландах на Xeon Gold 6142 (3.7 ГГц)!



Все серверы в Нидерландах, в том числе и промо-тарифы теперь на новых Intel Xeon Gold 6142 (3.7 ГГц)!

Рады сообщить об обновлении тарифной линейки серверов в Нидерландах, теперь все новые серверы устанавливаются на мощных хост-нодах с процессорами Intel Xeon Gold 6142 с тактовой частотой до 3.7 ГГц.

Цены при этом остались прежними, все как вы любите.
К установке на NL-тарифы доступны: CentOS, Debian, Ubuntu, Windows Server и Windows 10.

Установка автоматическая в течение 120 секунд с момента оплаты.
Оформить заказ можно в личном кабинете: my.msk.host

Подробнее о тарифах: msk.host/vps

Комбинация жестких дисков и твердотельных накопителей NVMe обеспечивает

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


www.hetzner.com/dedicated-rootserver/matrix-sx

Переезд серверов Robokassa в новый data-центр



Переезд серверов Robokassa в новый data-центр

Уважаемые клиенты!
Сегодня ночью, с 23:00 до 05:00, будет происходить переезд серверов Robokassa в новый data-центр. В связи с ними могут наблюдаться кратковременные (в течение 15 минут) трудности с прохождением платежей.

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

Большое спасибо за понимание!
Ваша Robokassa.

Winter Sale 2021 — 30% скидки на SSD VDS и виртуальный хостинг



WINTER SALE 2021
Мы начинаем зимнюю распродажу «Winter sale 2021», которая пройдёт с 18.01.2021 по 28.02.2021 года. В рамках данной распродажи мы подготовили выгодную скидку для новых заказов и приятные бонусы для продления уже заказанных vds и виртуального хостинга.
https://friendhosting.net/promo/winter-sale-2021.php

Для новых заказов
Не упустите свой шанс заказать vds или виртуальный хостинг со скидкой 30%. Для получения скидки во время заказа используйте промо-код winter21
Обратите внимание, что скидка активируется исключительно для первого периода оплаты, поэтому для получения максимальной выгоды рекомендуем совершить заказ на максимальный период действия промо-кода, который составляет 6 месяцев.

Для действующих заказов
Если у Вас уже есть активный заказ vds или виртуального хостинга, то Вы также можете получить бонус: продлите заказ на год (при продлении на 12 месяцев будет учитываться скидка 10% + скидка по программе лояльности автоматически) и получите в подарок 1 месяц бесплатно.
Для получения бонуса необходимо создать запрос в финансовый отдел.
Акция действует с 18.01.2021 по 28.02.2021 включительно и/или до момента исчерпания акционных предложений vds и виртуального хостинга (в зависимости от того, какое событие наступит ранее).

https://my.friendhosting.net

Проведение работ на серверах Robokassa



Уважаемые клиенты!
С 19:00 17 января до 05:00 18 января будут проводиться работы на серверном оборудовании Robokassa. В связи с ними могут наблюдаться трудности с прохождением платежей в промежутке с 22:00 до 22:30.
ВАЖНО!

Обратите внимание на новый IP-адрес!
  • 185.59.216.65

Если у вас настроен white-list IP-адресов, просим внести в него корректировки.

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

Большое спасибо за понимание!
Ваша Robokassa.

Приглашение на десятилетний юбилей Qrator Labs



19 января 2021 года компания Qrator Labs официально отмечает десятилетний юбилей!

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

Каждое выступление рассчитано на 15-20 минут, поэтому каждый зритель может рассчитывать на два с половиной часа презентаций от ключевых сотрудников Qrator Labs.

Отмечайте 19 января 2021 года в своих календарях, потому что вот что будет происходить начиная с 14:00 Московского времени.

I/III — Первый Час
10 лет развития бизнеса: с нуля к росту, путь от первых клиентов и спасенных карьер к захвату рынков новейшими технологиями.
Максим Белоенко, вице-президент глобальных продаж.
Создание технологии опережающей конкурентов, нескончаемое научное исследование на стыке информатики и практики реального мира.
Артем Гавриченков, со-основатель и технический директор Qrator Labs.
5-минутный перерыв

II/III — Второй Час
Интеграции с облаком Qrator Labs — как мы работаем над улучшением сервисов, которые предоставляем под одной крышей — партнерскими решениями CDN и WAF.
Андрей Лескин, менеджер по продукту.
Qrator Radar — пятилетнее путешествие от внутренней разработки к одному из крупнейших в мире специализированных сервисов.
Евгений Богомазов, сетевой инженер.
5-минутный перерыв

III/III — Третий Час
Пресейл и интеграция:
  • Технический пресейл — как мы принимаем на борт наиболее крупных клиентов;
  • Партнерская интеграция — сделай единожды и наслаждайся результатом;
  • Продуктовое видение — сделай дважды и у тебя на руках почти готовый продукт.
Георгий Тарасов, инженер.
Жизнь NOC (Центра управления сетью) в компании занимающейся кибербезопасностью.
Дмитрий Шемонаев, глава Центра Управления Сетью.
Заключительное слово и итоги десятилетия компании. Работа с заказчиками в 20-х годах, грядущие инновации. Дальнейший рост компании первого эшелона на базе исследовательской деятельности и взаимоотношений с потребителем, как с инвестором.
Сергей Пасечник, директор отдела продаж.
До встречи 19 января!

youtu.be/L-yKHlcbJ2w
С наилучшими пожеланиями, Qrator.net team