Интересное

Бесконечный рост. Зачем создавать мультикластерные сервисы и как с ними работать

2 июня 2023

5 мин

Поделиться в соцсетях

Мультикластерные сервисы решают проблему отказоустойчивости и экономят ресурсы компании. Как создать мультикластер и организовать его бесперебойную работу?

Как устроен кластер?

Чем популярнее приложение, тем больше у него кода. Для облегчения работы с кодом и экономии места на физических серверах используют инструменты контейнеризации, которые упаковывают приложение и превращают его в небольшой (20—50 Мб), легкопереносимый и независимый от окружения контейнер. Контейнер — это приложение и файлы, необходимые для запуска и работы кода.

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

Итог работы оркестратора — кластер. Кластер — группа компьютеров, которые работают как единая система и имеют общие функции и задачи.

Что такое мультикластерная система?

Мультикластерная система — система, которая состоит из нескольких кластеров.

В чём преимущества использования мультикластерной системы?

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

Жёсткая изоляция приложений, которая не позволяет приложениям случайно или намеренно обмениваться информацией и повышает безопасность системы.

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

Меньшее число пользователей и меньший шанс сломать кластер.

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

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

Как создать мультикластерный сервис?

Можно реализовать мультикластерную архитектуру самостоятельно в виртуальном облаке или на физическом сервере, однако есть ряд сложностей. Так, при использовании оркестратора Kubernetes на физическом сервере (Bare Metal) компания «УРУС — Умные цифровые сервисы» столкнулась с необходимостью его поддержки и разработки, а также большими экономическими затратами. Эти проблемы решает обращение к хостеру — компании, которая будет развёртывать и поддерживать кластеры в облаке.

Критерии выбора хостера

Надёжность — соответствие 152-ФЗ «Закон о персональных данных». Согласно закону, серверы провайдера должны находиться на территории РФ. Также провайдер должен иметь аттестат соответствия требованиям по защите информации.

Производительность — зависит от процессора вычислительных платформ.

Отсутствие оверселлинга — продажи большего числа ресурсов, чем хостер может предоставить. В результате можно столкнуться с замедлением отклика и низкой скоростью соединения.

Как определить оверселлинг? Сравнить предложенные параметры с имеющимися параметрами виртуального частного облака и/или выделенного сервера.

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

Зрелость технологии — возможность её полноценного использования и наличие связанных сервисов (например, брандмауэра для фильтрации трафика и базы данных в облаке).

Соотношение цены и качества.

По словам руководителя отдела инфраструктуры компании «ЛАНИТ-Интеграция» Ильдара Закиева, использование хостера позволяет в разы ускорить процессы сборки и проверки жизнеспособности тестовой версии продукта (MVP), а также быстро запустить новые сервисы или приложения для пользователей.

Происходит это за счёт предоставления вычислительных ресурсов по клику мыши, исключая долгие согласования, закупку необходимого оборудования и его настройку. Кроме того, у хостеров есть множество платформенных сервисов, которые могут использоваться при разработке приложений. Они предоставляются по модели PaaS (модель, в которой поставщик настраивает операционную систему и оборудование, а также поддерживает его работу) или SaaS (модель продажи и доставки приложений пользователям), управляются хостером и не требуют инженерных ресурсов на развертывание и администрирование от заказчика.

Также хостинг-провайдер даёт возможность использовать модель оплаты по мере использования pay-as-you-go. Если по результатам проверки тестовой версии продукта компания понимает, что разработанный сервис не приносит ожидаемых результатов, то она может с минимальными экономическими потерями отказаться от него.


Самые важные кейсы лидеров бизнеса, мнения ведущих экспертов и тренды в отраслях экономики теперь всегда под рукой — подпишитесь на наш Telegram-канал.

Поделиться в соцсетях

Статья была вам полезна?

Да

Нет