Как динамически включать/выключать виртуальных машин в облаке в зависимости от нагрузки?
Начальные условия:
есть облачный сервис, предоставляющий услуги по модели IaaS.
есть у этого облака api и клиент для этого api для управления виртуальными машинами.
есть терминальная ферма на Windows Server.
есть система мониторинга в виде Zabbix
Суть задачи:
хотелось бы включать/выключать отдельные хосты в зависимости от общей загрузки фермы. Допустим есть 4 хоста для сенасов, сначала включаем только один. Потом когда на нем практически закончатся ресурсы включить следующий и .т.д. и соответственно наоброт, выключать наименее загруженные хосты.
Мы думали забирать метрики из заббикса (потребление RAM, но может кто что еще подскажет) самописной софтиной. Смотреть среднее значение за заданный промежуток и уже от этого принимать решение о включении/выключении хоста.
Я пытался гуглить, но как-то особо ничего не нашел подходящего. Может кто подскажет есть уже готовый инструмент и мы пытаемся изобрести велосипед ? ))))
P.S.
Был вариант выключать все хосты, кроме одного по окончании рабочего дня, но производственный цикл круглосуточный, поэтому хотелось бы более глубоко автоматизировать =)