Что такое геокластер и чем он может быть полезен владельцам бизнеса
Понятие «геокластер», применительно к компьютерным системам, появилось довольно давно. Однако долгое время оно оставалось чем-то из области «стратосферы», доступным только узкому кругу крупнейших компаний. Но, времена изменились — сегодня, благодаря облакам, геокластер это вполне доступный и даже необходимый рабочий инструмент для большинства онлайн-компаний.
Как справиться с ростом онлайн-продаж и не потерять бизнес
Пандемия коронавируса, с которой, будем надеяться, человечество вскоре сумеет совладать, привела к целому ряду неожиданных следствий. Например, из-за того, что в условиях карантина огромное количество людей перешло к удаленному режиму работы (который очень быстро стал новой нормой), резко вырос спрос на бытовую электронику и всевозможные гаджеты. Казалось бы — «пандемия = экономический спад». Но не в этом случае. Оказавшись фактически запертыми в четырех стенах, люди начали с удвоенным рвением обустраивать свой быт и закупаться новыми устройствами для коммуникаций и потребления контента.
Согласно исследованию Data Insight и PickPoint, по итогам 2020 года в российских интернет-магазинах бытовой техники и электроники было оформлено 105 млн заказов на сумму 762 млрд руб., что на 80% больше, чем в 2019 году. Объем онлайн-продаж за тот же период вырос в рублях на 68%.
Казалось бы — это замечательно, под влиянием момента рынок быстро увеличивается в объемах, и владельцы интернет-площадок должны быть благодарны судьбе за такой подарок. Но в ряде случаев, все оказалось настолько хорошо, что стало даже плохо. Лавинообразный рост спроса в онлайн-торговле вызвал шквал обращений к торговым интернет-сайтам и не всем удалось пережить такую нагрузку. Часть площадок «падала», некоторые потом долго «лежали», а за это время покупатели находили более расторопного (или менее загруженного) конкурента, где и приобретали товар.
В общем, владельцы онлайн-магазинов столкнулись с классической проблемой масштабирования, которую надо было решать, и быстро. Что делать, когда сайт, — а в худшем случае, целый ЦОД, — оказался недоступен (по любым причинам)? Один из рабочих вариантов выхода из ситуации — создание геокластера, то есть распределенной ИТ-инфраструктуры на базе нескольких территориально удаленных дата-центров. Решение, широко известное в мире, но лишь набирающее популярность в России (особенно за пределами больших компаний).
Геокластер в двух словах
Геокластер — это инструмент для построения ИТ-решений, обеспечивающий доступность услуги даже в случае различных сбоев: сервиса на одном из виртуальных серверов, самого виртуального сервера, маршрутизаторов ядра ЦОДа, пограничных маршрутизаторов.
Услуга «Геокластер» облачной платформы «Облакотека» представляет собой географически-распределенный балансировщик сетевой нагрузки, обеспечивающий поддержку нескольких виртуальных серверов в разных дата-центрах, но в пределах одного региона. Такой подход позволяет создавать высокодоступные решения способные выдержать потерю не просто сервера, а даже целого ЦОДа, без существенного ущерба для бизнеса. Максимум, что почувствует клиент — небольшое снижение производительности, а, возможно, и его не будет (рис. 1).
Для распределения сетевой нагрузки между виртуальными серверами с ролью Front End используется алгоритм Round-robin, что позволяет равномерно нагрузить виртуальные серверы. В то же время публичный IP-адрес не имеет привязки к конкретному дата-центру и может использоваться всеми пограничными маршрутизаторами региона. В итоге на всех площадках обеспечивается единообразие конфигураций виртуальных машин, настроек, сервисов и, главное, целостность клиентских данных.
Отметим, что на текущий момент «Облакотека» развернула шесть собственных кластеров в двух территориально удаленных ЦОДах (все на территории Москвы). Также есть резервная площадка в Эстонии (рис. 2).
Как это выглядит на практике
Для большей наглядности рассмотрим реальный пример применения геокластерной технологии российских реалиях. Речь идет о проекте для крупной торговой онлайн-площадки, который компания «Облакотека» реализовала в прошлом году.
С точки зрения архитектуры интернет-магазин заказчика представляет собой классическую схему на базе продуктов Microsoft. Клиентская сторона интерфейса (FrontEnd) обычно создается на платформе .NET и работает под управлением сервера IIS. Внутренняя часть сервиса (Back End) также построена на базе продуктов Microsoft, а для хранения данных используется СУБД SQL Server.
Помимо динамической части имеется также большая библиотека статической информации большого объема и количества файлов — всевозможные инструкции, описания, иллюстрации и прочий контент, который должен быть предоставлен клиенту интернет-магазина максимально быстро.
В случае размещения данных на нескольких географически разделенных площадках важной задачей становится функция поддержки целостности и синхронная репликация данных. Для интернет-магазина недопустима ситуация, когда наборы данных на разных площадках хоть сколько-нибудь отличаются. Ведь речь идет о транзакционных процессах, связанных с оплатой товаров и переводом денег.
Поэтому, с целью обеспечения идентичности контента была внедрена технология Microsoft DFS (Distributed File Services), которая как раз и позволяет поддерживать в одинаковом состоянии данные, размещенные, скажем, в двух каталогах, которые в свою очередь физически находятся на разных площадках. Благодаря MS DFS, если блок данных меняется на одном сервере, то происходят соответствующие процессы замены и на другом. На выходе — одно и то же содержимое в одно и то же время.
Детали реализации — аспекты и сложности
Практика внедрения геокластерных технологий показывает, что в большинстве случаев небольшие интернет-магазины построены на базе инфраструктуры, где все основные компоненты (и Front End и Back End) существуют только в единственном экземпляре, без резервирования. Например, может быть развернут один сервер СУБД и один сервер FrontEnd. Соответственно, если какой-либо из этих компонентов выходит из строя, это приводит к недоступности всего сервиса и простою бизнеса компании. Но, если даже сбоев удается избежать, любые серьезные манипуляции с серверами (обновления, обслуживание) приводят к остановке в работе ресурса, и, соответственно, к потерям прибыли. После внедрения географически распределенного кластера благодаря геораспределенной инфраструктуре допустима плановая остановка работы любого сервера.
Если в качестве СУБД используется MSSQL Server 2019, то на ее базе с помощью технологии Always On можно обеспечить полную синхронизацию и высокую доступность данных. Отметим, что сейчас данная технология доступна даже для уровня Standard, тогда как раньше предлагалась только в пакетах Enterprise. Это позволило существенно сэкономить на стоимости программных лицензий.
Примечательно реализован и механизм «кворума», необходимый для корректной работы кластера (не только с приставкой «гео»). Суть идеи в том, что, если происходит какой-то сбой в процессе общения синхронизированных узлов, например, теряется связь, разделенные узлы «не знают» как себя вести дальше и пытаются завладеть рабочей нагрузкой. Каждый из них работает как самостоятельная система, обрабатывая запросы тех клиентов, которые обращаются к нему в данный момент. Синхронизации не происходит, и на каждой площадке накапливаются свои объемы данных. Механизм же «кворума» позволяет избежать разночтений и определить, какой узел (группа узлов) примет на себя нагрузку в случае сбоя. Если количество узлов нечетное, то механизм «кворума» будет работать без проблем. Но обычно уже двух узлов для повышения доступности бывает достаточно, а в качестве «арбитра» можно использовать внешний облачный сервис на базе Microsoft Azure. Таким образом, в случае сбоя на одной из площадок или при потере связи между распределенными серверами, рассинхронизации в записи данных не произойдет — всю нагрузку возьмет на себя одна из оставшихся в строю площадок.
В целом же внедрение геокластера требует от компании, которая его предлагает, дополнительных и зачастую редких компетенций. Помимо описанных выше нюансов, обязательно потребуются развитые навыки настройки резервного копирования и политик информационной безопасности. Если еще приходится работать с персональными данными – то еще надо будет обязательно соответствовать требованиям 152-ФЗ. Как правило ИТ-персонал компании-заказчика не обладает всеми необходимыми компетенциями, а обращаться к крупным интеграторам за решением относительно небольших задач может быть достаточно дорого. В качестве разумной альтернативы для выполнения проекта можно подобрать несколько компетентных подрядчиков из числа относительно небольших ИТ-компаний. Найти таковых, равно как и оценить их квалификацию и репутацию можно на тематических интернет-площадках, например, cloudprofi.ru. Этот ресурс представляет собой свободное сообщество ИТ-компаний (а не фрилансеров), обладающих множеством полезных и даже уникальных компетенций.
Цена и SLA
Выше мы говорили о высокой доступности геокластеров, а также о том, что данная технология позволяет добиться отказоустойчивости ИТ-инфраструктуры, благодаря разнесению серверов по разным дата-центрам. В случае предложения компании «Облакотека» надежность находится на уровне «четырех девяток» (99,99%), что отражается в SLA. Есть мнение, что каждая следующая «девятка» резко увеличивает расходы на инфраструктуру. «Облакотека» в значительной степени опровергает это утверждение. Стоимость работы системы в режиме геокластера увеличивается всего в 2-2,5 раза, по сравнению с нерезервированным решением. То есть фактически заказчик платит только за использование дублированной инфраструктуры. «Облакотека», во всяком случае, пока, тарифицирует только дополнительные виртуальные машины, а балансировщик нагрузки (Software LoadBalancer, SLB) — то есть важнейшая составляющая геокластера — идет бонусом.