是否可以使用Cloud API在云中完全自动化测试和开发环境的配置?

时间:2013-11-13 09:16:03

标签: scripting cloud virtual-machine

我的客户正在寻求在云中自动配置他们的测试和开发环境。他们的愿景是,他们将能够输入Web界面信息,如下所示:

  1. 服务器数量
  2. CPU数量
  3. RAM
  4. 存储
  5. 网络端口数
  6. 备份要求(如果有)
  7. 操作系统版本
  8. 软件堆栈(可能是中间件)
  9. 负载均衡器
  10. 我想这个想法是编写一个脚本,从这里获取信息并使用Cloud API在云中配置环境。问题是 - 我们可以自动化多少?操作系统版本和中间件可以在VM映像中捆绑在一起,然后可以部署。 Cloud API是否允许设置VM实例,然后自动部署映像?您能够配置负载均衡器和防火墙设置吗?

1 个答案:

答案 0 :(得分:3)

简短回答

是的! (好吧,见下文)

答案很长

云服务器的API

使用来自任何主要提供商的API,您可以协调部署,选择服务器,CPU,RAM,存储,操作系统版本和负载平衡器的数量。您必须与每个提供商的基本图像&味道虽然。

每个都有自己的备份系统,具体取决于您正在寻找的粒度。

对于"网络端口的数量",我还没有看到这样的事情。您通常只能获得一个面向公众的网络,一个内部(到数据中心)网络,如果您愿意,还可以选择一个隔离的网络。

图像创建

几乎所有提供程序都允许您拍摄当前运行的服务器的快照(图像),以便您可以再次重新部署该相同的图像。您也可以使用API​​实现自动化。

部署软件堆栈

就软件堆栈而言,您希望使用一些配置管理软件(ChefSaltStackAnsiblePuppet甚至只使用Fabric脚本)帮助您在自动化中部署软件。作为代码的基础设施使生活变得更好。

事实上,使用像salt-cloud这样的软件回到整个圈子,您可以为您的基础架构布局地图以及在每个盒子上安装的软件。

OpenStack HeatAWS Formation Templates将此问题提升到另一个级别,用于布局基础架构模板,甚至与这些相同的配置管理套件集成。