Облачная инфраструктура с нуля, или как отнести кольцо в Мордор вдвоем Архитектуры
Тезисы
Что делать, если ни одно из существующих открытых облачных решений не удовлетворяет собственным потребностям, а за закрытое не хочется платить? Ответ очевиден - создать свое собственное облако. Основные нюансы - использование открытых программных компонент, максимальное удешевление удельной стоимости решения и возможность масштабироваться.
Время до первого публичного релиза - написание оркестратора и сопряжение программных продуктов - распределенное программное хранилище Ceph находится в ранней стадии развития и нестабильно, эмулятор QEMU стабилен, но имеет ряд проблем с масштабированием "вживую", программный свич OVS - имеет большие проблемы с производительностью. При разработке возникает множество нюансов, обратная связь от комьюнити является практически ключевой на пути к решению проблем в компонентах.
Релиз - время сбора пользовательских отзывов и анализа собственных метрик, итогом являются радикальное изменение сетевой топологии (переходим на OpenFlow), замена или улучшение ряда механизмов эмулятора и добавление логики в оркестратор. Поиск редких ошибок упрощается из-за всеохватывающего мониторинга, интегрированного с управлением.
Развитие, примерно через год после релиза: качественные улучшения на основе отзывов уступают место количественным, на порядок ускоряется сетевая подсистема, добавляются улучшения в СХД и эмулятор, управление охватывает все аппаратные составляющие облака - совмещенные ноды, ToR свичи и роутеры сегментов. Приходит отдача от вложенных в развитие соответствующих стеков усилий - все три составляющих облака - виртуализация, хранилище и сетевое управление, завязаны на единую логику, поэтому добавление новых возможностей занимает все меньше времени, а число проблем неуклонно снижается. Сегодня построенное нами решение ничем не уступает открытым продуктам оркестрации виртуальных машин, а по ряду возможностей существенно превосходит их. К этому добавляется наличие своей собственной экосистемы, позволяющей выбирать вектор развития независимо от сообщества или производителя продукта.