Доброе утро, наливай кофея и погнали. Щас расскажу, как мы сэкономили кучу денег на тестовой инфраструктуре.

У меня есть 5 тестовых стендов. Каждый стенд это копия продакшена, но с открученными ресурсами и обезличенной базой данных.

Для каждого тестировщика свой отдельный стенд. Чтобы QA между собой не попиздились дрались и не ныли. Каждый стенд включает в себя 5 инстансов: балансировщик, база, фронтэнд, бекэнд, микросервисы. Считаем 5x5=25 серверов. Чё-то дохуя много.

Все сервера развернуты в Selectel. По итогу в месяц набегает приличная сумма. По бюджету прям заметно кусается.

Думали мы, думали и придумали.

Будем автоматически отключать всю эту ферму на ночь, в выходные и праздники. Но столкнулись с проблемой, что даже выключенные машины — тарифицируются как включенные. Сука. Ладно…. В Selectel так нельзя, а где можно? А можно в Yandex Cloud!

Перетащили полностью тестовую ферму в YC. Накидали бота для slack/mattermost, который будет управлять кнопками включения/выключения. И реализовали такой концепт:

Концепт:

1. Бот взаимодействует с API Yandex Cloud. 2. С 18:00-08:00 реализовано автоматическое отключение фермы. 3. Автоматически отключаем ферму в выходные и праздничные дни (бот взаимодействует с производственным календарем). 4. Если тестировщик желает поработать вне рабочего времени, он пишет боту команду и бот включает ему нужные сервера. 5. Если тестировщик забыл выключить сервер, бот проверит, что нет активности (берет метрики с prometheus) и всё погасит.

Есть еще всякие нюансы, но это основной алгоритм. Да. В YC тарифицируются HDD/IP/четотамеще даже если всё погасить, но это копейки.

По итогу если мы раньше платили 500к рублей в месяц только за тестовую инфраструктуру. Сейчас все это дело обходится в 100к, а порой и еще меньше. К примеру если тестировщик ушел в отпуск, то его сервер 2-3-4 недели будет выключен, а мы накопили себе на пивко.

Роман Шубин
Роман Шубин
CEO & CTO, Главред в «Цифровой улей»
Задать вопрос
Жалоб со стороны QA отдела не наблюдаем, значит решение рабочее. А сэкономленный бюджет можно смело пустить в дело: пропить либо выписать квартальные премии.

Сегодня закину еще один пост про костыли, правда после нативной интеграции, чото там про ЦОД и сети, от партнера залетит, не обессудьте. Ловите мясного пацана

Спасибо коллеги за внимание, увидимся чуть попозже!