CO4C: Используем прерываемые машины в Yandex Cloud
В прошлой статье(https://vc.ru/services/741851-sokrashchaem-rashody-v-yandeks-oblake) мы рассказали как наш сервис Cost Optimizer For Clouds помогает экономить в Яндекс Облаке путем сокращения неиспользуемых ресурсов. А сегодня мы пойдем дальше и покажем как еще больше сократить свои расходы с помощью “прерываемых” машин и подхода “pay-as-you-go”.
Прерываемые виртуальные машины — это виртуальные машины, которые могут быть принудительно остановлены в любой момент. Это может произойти в двух случаях: работает более 24 часов подряд, при нехватке ресурсов в Облаке.
Казалось бы зачем использовать такие непостоянные ресурсы, но у них есть одно большое преимущество - их цена! Давайте приведем наглядный пример:
Обычная ВМ с характеристиками: 8 vCPU, 16Gb RAM, 50 Gb SSD Disk, обойдется вам в 9800 рублей. И точно такая же машина, но “прерываемого типа” будет стоить уже 3070 рублей. Согласитесь разница огромная.
Возникает закономерный вопрос: Почему же все не перешли на прерываемые ВМ? Все просто для нормальной работы требуется “куратор” который бы следил за состоянием этих машин и возвращал их к жизни. У самого Yandex Cloud есть решение, но оно крайне неудобное, позволяет только разом включать/выключать такие ВМ.
Мы же предлагаем гибкую систему для настройки расписания работы “прерываемых” ВМ. Система работает в связке из скрипта и сервера расписания. Скрипт устанавливается внутри Облака клиента, как функция и запускаясь раз в минуту запрашивает с сервера расписания для всех машин, после чего приводит к нужному состоянию. То есть, включает или выключает машины.
Чтобы добиться максимального удобства в использовании “прерываемых машин” мы добавили возможность использовать их постоянно, при этом в заданное “окно обслуживания” такая ВМ будет выключена на 1 минут и заново запущена. Это гарантирует на 99% что в течении рабочего дня она больше не перезагрузится и не выключится.
Для удобства ВМ можно объединить в группы или создать общие правила для управления.
Помимо этого, есть возможность использовать “graceful shutdown”. Перед выключением ВМ может быть выполнен какой-то скрипт, который позволит безболезнено вывести ее из обслуживания.
На этом возможности нашей платформы не заканчиваются. Сейчас ведется работа над фичей, которая позволит изменять объем заказанных ресурсов так же по расписанию. Например, сокращать количество vCPU и RAM в ночной период. Такой кейс подойдет, когда на ВМ постоянно используется какой-то сервис, но в определенные часы нагрузка кратно меньше.
В дополнение к ВМ, по расписанию можно будет управлять и другими сервисами, например Managed ClickHouse, что позволит включать/изменять кластер под потребности и значительно экономить бюджет.
В целом использование нашего сервиса для управления ресурсами позволит сильно уменьшить расходы, в некоторых случаях вплоть до 70%.