如何管理多云服务环境中的资源?

如何管理多云服务环境中的资源?

我正在尝试建立一个环境,使我们的开发团队能够集中管理所有可用的基于云的资源/服务。

我已经研究过各种各样的工具,但我对能够让我专门管理多云设置的功能很感兴趣。

是否可以使用一种技术与不同的提供商进行交互?

有行业标准吗?

答案1

哇,这是一个仍在创造术语的问题。“云组合管理”和“多云管理”似乎作为产品类别非常受欢迎。而“单一玻璃”似乎是一个模因。

我在 Google 上搜索后发现了 ostrato、ecmanaged 和 rightscale。其中很多似乎都是为拥有私有云和公有云资产的企业提供的。我认为您的问题只涉及面向开发人员的公有 PaaS 云。另一个有趣的提供商是 Cloudify,它似乎面向开发人员和编排。

对于最后一个问题,我不确定您是否知道 OpenStack 正在努力成为标准。

答案2

我不太确定这是否能满足你的需求,但是看看科里奥斯码头工人

CoreOS 可以管理集群中的 systemd 任务(而 coreos 中的 systemd 任务基本上是 docker 容器的包装器)。每个容器都可以在具有特定元数据的机器上运行,这使您能够构建相当复杂的解决方案。

答案3

有几个项目旨在提供您所要求的功能,您需要实际测试它们以检查它们在多大程度上满足您的期望。

我不知道有一个既定的标准,但是自由云项目似乎接近那个。

它基于 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 的类似项目是

相关内容