Назад | Перейти на главную страницу

Как управлять ресурсами в среде мультиоблачных сервисов?

Я пытаюсь настроить среду, которая позволит нашей команде разработчиков централизованно управлять всеми доступными облачными ресурсами / услугами.

Я уже изучил множество инструментов, но меня интересует функция, которая позволит мне специально управлять настройками нескольких облаков.

Можно ли с помощью одной технологии взаимодействовать с разными провайдерами?

Есть ли отраслевой стандарт?

Есть несколько проектов, которые стремятся предоставить запрашиваемую вами функциональность, вам нужно будет протестировать их, чтобы проверить, насколько они соответствуют вашим ожиданиям.

Я не знаю установленного стандарта, но 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 пытается стать стандартом.