我的客户正在寻求在云中自动配置他们的测试和开发环境。他们的愿景是,他们将能够输入Web界面信息,如下所示:
我想这个想法是编写一个脚本,从这里获取信息并使用Cloud API在云中配置环境。问题是 - 我们可以自动化多少?操作系统版本和中间件可以在VM映像中捆绑在一起,然后可以部署。 Cloud API是否允许设置VM实例,然后自动部署映像?您能够配置负载均衡器和防火墙设置吗?
答案 0 :(得分:3)
是的! (好吧,见下文)
使用来自任何主要提供商的API,您可以协调部署,选择服务器,CPU,RAM,存储,操作系统版本和负载平衡器的数量。您必须与每个提供商的基本图像&味道虽然。
每个都有自己的备份系统,具体取决于您正在寻找的粒度。
对于"网络端口的数量",我还没有看到这样的事情。您通常只能获得一个面向公众的网络,一个内部(到数据中心)网络,如果您愿意,还可以选择一个隔离的网络。
几乎所有提供程序都允许您拍摄当前运行的服务器的快照(图像),以便您可以再次重新部署该相同的图像。您也可以使用API实现自动化。
就软件堆栈而言,您希望使用一些配置管理软件(Chef,SaltStack,Ansible,Puppet甚至只使用Fabric脚本)帮助您在自动化中部署软件。作为代码的基础设施使生活变得更好。
事实上,使用像salt-cloud这样的软件回到整个圈子,您可以为您的基础架构布局地图以及在每个盒子上安装的软件。
OpenStack Heat和AWS Formation Templates将此问题提升到另一个级别,用于布局基础架构模板,甚至与这些相同的配置管理套件集成。