Облачные технологии позволяют экономить на собственном железе и его обслуживании. Но даже в этом случае необходимо своевременно отключать неиспользуемые серверы и виртуальные машины. Сегодня мы подготовили компактную подборку утилит для оптимизации стоимости вычислительных ресурсов.
Предлагаем обратить внимание на open source решения, позволяющие найти «узкие места» и сократить чек в условиях уже развернутой инфраструктуры — например, Komiser, OpenCost, Koku.
Облачный комиссар
Достаточно молодой проект Komiser, запущенный в 2017 году, уже обрел свою аудиторию. Репозиторий на GitHub собрал почти 3 000 звезд. Инструмент мониторит объем вычислительных ресурсов (CPU, GPU, хранилище, сети), которые потребляет компания — как в публичном, так и частном облаке. На графиках показывает, во сколько обходится содержание инстансов и сервисов.
Можно сказать, что Komiser ориентирован на компании с распределенными многооблачными средами. Однако с платформой вполне могут работать и независимые разработчики. Процесс настройки довольно прост — на официальном сайте есть дистрибутивы для различных операционных систем и архитектур. Поддерживаются Linux, Windows и Mac OS X. Проект также доступен в формате Docker-образа.
Однако стоит отметить, что Komiser работает только с инфраструктурой западных провайдеров (список довольно короткий), поэтому он подойдет далеко не каждой российской компании. Однако разработчики постепенно расширяют число поддерживаемых площадок.
Если вы хотите самостоятельно оценить возможности инструмента, имеет смысл начать с документации и лучших практик, позволяющие сократить расходы на серверы и облачные хранилища. Там же авторы приводят информацию для желающих поучаствовать в развитии продукта. Если верить дорожной карте, разработчики планируют добавить возможность настройки кастомных дашбордов, поддержку SSO, окно для инвентаризации ресурсов, а также темную тему для UI.
Инспектор контейнеров
Согласно последним исследованиям фонда CNCF (Cloud Native Computing Foundation), излишние траты на инфраструктуру — одна из ключевых проблем, с которыми сталкиваются компании при масштабировании среды Kubernetes. При этом около 70% организаций не обладают инструментами мониторинга её стоимости. Исправить проблему решили авторы OpenCost. Они разрабатывают единый стандарт для управления ресурсами в контейнерных средах.
Проект развивают при поддержке фонда CNCF, который основала группа IaaS-провайдеров и производителей аппаратного обеспечения с целью развития облачных технологий. Дашборды OpenCost отражают затраты на сервисы Kubernetes по сущностям типа Deployment, StatefulSet, DaemonSet и конкретным контейнерам. Система также покажет ресурсы, задействованные внутри кластера — CPU, GPU, память и хранилища (persistent volumes).
При желании можно настроить передачу собираемых данных в мониторинг Prometheus. Также OpenCost интегрируется с API некоторых облачных провайдеров и автоматически подгружает стоимость ресурсов. Однако можно подключить и кастомные таблицы с ценами для кластеров Kubernetes.
В целом OpenCost разворачивается на любом кластере с Kubernetes 1.8+. Рекомендации по настройке собраны в документации. Например, разработчики утверждают, что установка из Helm наиболее быстрый вариант сборки.
Рисовое облако
Проект на Python, собравший порядка двухсот звезд на GitHub. Он развивается при поддержке Red Hat. Koku мониторит стоимость ресурсов в гибридных и публичных облаках, а также контейнерных средах Kubernetes и OpenShift Container Platform.
Что интересно, название проекта означает традиционную японскую меру объема (1 коку = 180,39 литра). Она определяла среднее количество риса, ежегодно потребляемое взрослым человеком. И поэтому маскотом Koku является «рисовое облако» в традиционной деревянной коробочке масу.
Вся информация представлена в виде графиков в веб-интерфейсе. Но система не просто выводит данные по облачной среде. Она предлагает способы её оптимизации — какие виртуальные машины можно объединить, от каких отказаться. Необходимая документация лежит в репозитории. Там же можно найти инструкции для работы, включая настройку Trino и MinIO в качестве объектных хранилищ.
Что могут предложить провайдеры
Инструментарий для оценки затрат на обслуживание облачной инфраструктуры часто предлагают и сами сервис-провайдеры. Например, клиенты #CloudMTS могут воспользоваться партнерским решением Miraworks Cloud Calculator. Оно позволяет рассчитать стоимость вычислительных ресурсов и контролировать себестоимость облаков для бизнеса.
Руководство получает в распоряжение аналитический инструмент для планирования развития компании. ИТ-специалистам, в свою очередь, становится проще собирать данные по существующим облачным услугам и готовить аналитику.
Сервис ускоряет подбор облачной инфраструктуры на 40%, в полтора раза сокращает ошибки при подготовке спецификаций. Собственные алгоритмы Miraworks учитывают параметры гипервизоров, дисков, RAM, сетевых подключений, а также географию дата-центров.