Интересное
Мультикластерные сервисы решают проблему отказоустойчивости и экономят ресурсы компании. Как создать мультикластер и организовать его бесперебойную работу?
Чем популярнее приложение, тем больше у него кода. Для облегчения работы с кодом и экономии места на физических серверах используют инструменты контейнеризации, которые упаковывают приложение и превращают его в небольшой (20—50 Мб), легкопереносимый и независимый от окружения контейнер. Контейнер — это приложение и файлы, необходимые для запуска и работы кода.
Для автоматизации управления контейнерами используют специальные инструменты — оркестраторы. Оркестраторы регулируют нагрузку на кластеры, загружают обновления, обеспечивают безопасность, распределяют трафик по внутренним ресурсам приложения.
Итог работы оркестратора — кластер. Кластер — группа компьютеров, которые работают как единая система и имеют общие функции и задачи.
Мультикластерная система — система, которая состоит из нескольких кластеров.
В чём преимущества использования мультикластерной системы?
Российские компании активно применяют такой подход. Например, «Авито» использует мультикластерную систему для создания отказоустойчивого сервиса, который продолжит работу несмотря на выход из строя части оборудования.
Продукты компании «Одноклассники» также защищены от поломки оборудования благодаря мультикластерному масштабируемому сервису, который будет работать, даже если дата-центр — физическое хранилище серверов — выйдет из строя.
Можно реализовать мультикластерную архитектуру самостоятельно в виртуальном облаке или на физическом сервере, однако есть ряд сложностей. Так, при использовании оркестратора Kubernetes на физическом сервере (Bare Metal) компания «УРУС — Умные цифровые сервисы» столкнулась с необходимостью его поддержки и разработки, а также большими экономическими затратами. Эти проблемы решает обращение к хостеру — компании, которая будет развёртывать и поддерживать кластеры в облаке.
Критерии выбора хостера
По словам руководителя отдела инфраструктуры компании «ЛАНИТ-Интеграция» Ильдара Закиева, использование хостера позволяет в разы ускорить процессы сборки и проверки жизнеспособности тестовой версии продукта (MVP), а также быстро запустить новые сервисы или приложения для пользователей.
Происходит это за счёт предоставления вычислительных ресурсов по клику мыши, исключая долгие согласования, закупку необходимого оборудования и его настройку. Кроме того, у хостеров есть множество платформенных сервисов, которые могут использоваться при разработке приложений. Они предоставляются по модели PaaS (модель, в которой поставщик настраивает операционную систему и оборудование, а также поддерживает его работу) или SaaS (модель продажи и доставки приложений пользователям), управляются хостером и не требуют инженерных ресурсов на развертывание и администрирование от заказчика.
Также хостинг-провайдер даёт возможность использовать модель оплаты по мере использования pay-as-you-go. Если по результатам проверки тестовой версии продукта компания понимает, что разработанный сервис не приносит ожидаемых результатов, то она может с минимальными экономическими потерями отказаться от него.