Доброе утро, наливай кофея и погнали. Щас расскажу, как мы сэкономили кучу денег на тестовой инфраструктуре.
У меня есть 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 недели будет выключен, а мы накопили себе на пивко.
Сегодня закину еще один пост про костыли, правда после нативной интеграции, чото там про ЦОД и сети, от партнера залетит, не обессудьте. Ловите мясного пацана
Спасибо коллеги за внимание, увидимся чуть попозже!








Комментарии