Я пытаюсь настроить среду, которая позволит нашей команде разработчиков централизованно управлять всеми доступными облачными ресурсами / услугами.
Я уже изучил множество инструментов, но меня интересует функция, которая позволит мне специально управлять настройками нескольких облаков.
Можно ли с помощью одной технологии взаимодействовать с разными провайдерами?
Есть ли отраслевой стандарт?
Есть несколько проектов, которые стремятся предоставить запрашиваемую вами функциональность, вам нужно будет протестировать их, чтобы проверить, насколько они соответствуют вашим ожиданиям.
Я не знаю установленного стандарта, но libcloud проект вроде бы близок к этому.
Он основан на Python и в основном работает, обеспечивая уровень абстракции для взаимодействия с общедоступными API-интерфейсами различных поставщиков услуг.
Пример с их веб-сайта показывает, как создать узел в Rackspace:
from libcloud.compute.types import Provider
from libcloud.compute.providers import get_driver
cls = get_driver(Provider.RACKSPACE)
driver = cls('username', 'api key', region='iad')
sizes = driver.list_sizes()
images = driver.list_images()
size = [s for s in sizes if s.id == 'performance1-1'][0]
image = [i for i in images if 'Ubuntu 12.04' in i.name][0]
node = driver.create_node(name='libcloud', size=size, image=image)
print(node)
Вы не указываете конкретных провайдеров, с которыми вам нужно взаимодействовать, но вы можете проверить этот список чтобы увидеть, входят ли они в число поддерживаемых.
Вы можете найти больше информации в Интернете документация.
Другой подобный проект, основанный на Java, - это jclouds.
Я не совсем уверен, что это может удовлетворить ваши потребности, но посмотрите Coreos и докер.
CoreOS может управлять задачами systemd в кластере (а задачи systemd в coreos в основном являются оболочками для контейнеров докеров). Каждый контейнер можно запускать на машине с определенными метаданными, что дает вам возможность создавать довольно сложные решения.
Вау, это проблема, из-за которой жаргон все еще создается. «Управление портфелем в облаке» и «Управление несколькими облаками» кажутся довольно популярными в качестве категорий продуктов. И «Одно стекло» кажется мемом.
Погуглил, я нашел ostrato, ecmanaged и rightscale. Многие из них предназначены для предприятий, у которых есть как частные, так и общедоступные облачные ресурсы. Я думаю, ваш вопрос касается только публичных облаков PaaS для разработчиков. Еще один интересный провайдер - Cloudify, который, кажется, ориентирован на разработчиков и на оркестровку.
И к последнему вопросу. Не уверен, что вы знали, что OpenStack пытается стать стандартом.