简短的回答
是的!(好吧,见下文)
长答案
云服务器 API
使用来自任何主要提供商的 API,您可以编排部署,选择服务器、CPU、RAM、存储、操作系统版本和负载平衡器的数量。不过,您确实必须与每个提供商的基本图像和风格保持一致。
每个都有自己的备份系统,具体取决于您正在寻找的粒度。
至于“网络端口数”,我没见过这样的。您通常只能获得一个面向公众的网络、一个内部(数据中心)网络,如果您愿意,还可以选择一个隔离网络。
图像创建
几乎所有的提供程序都允许您拍摄当前正在运行的服务器的快照(映像),以便您可以再次重新部署相同的映像。您也可以使用 API 自动执行此操作。
部署软件堆栈
不过,就软件堆栈而言,您希望使用一些配置管理软件(Chef、SaltStack、Ansible、Puppet甚至只是 Fabric 脚本)来帮助您以自动化方式部署软件。基础设施即代码让生活变得更好。
事实上,回到原点,使用salt-cloud之类的软件,您可以为您的基础架构以及要安装在每个盒子上的软件布局地图。
OpenStack Heat和AWS Formation Templates也将这一点提升到另一个层次,用于布置基础设施模板,甚至与那些相同的配置管理套件集成。