是否有类似的方法可以通过一个或多个文档文件部署多个服务器实例和服务器程序(以及网络设置)?
我听说有一些类似的,例如 Chef 或 CloudFormation,但我不确定它们是否是。
如果有,我可以直接在 AWS 或 Azure 上使用它吗?
答案1
有很多方法可以实现它们。Chef、Puppet 和 CFEngine 被广泛使用。这些框架用于确保服务器和构建流程的一致性。它们使用“拉”模型,即客户端运行代理并定期从服务器拉取数据 - 显然拉模型比推模型更具可扩展性。这些框架需要相当多的工作,并且不是您可以简单地“附加”到部署框架上的东西,它确实需要在设计时考虑到它们。从那里你可以进入更复杂的框架,如 Kubernetes。
根据您的具体需求和系统,您还可以查看docker(您可以创建一个可以在多个系统上运行的“映像” - 实际上是可分发的轻量级虚拟化系统 - 我知道亚马逊支持运行Docker系统,我希望Azure也能如此。
还有许多其他方法可以解决这个问题,包括编写专属于您的云提供商的脚本文件和系统。