我有一个部署到AWS的Python解决scheme,我目前的部署方法感觉非常陈旧。 我每次更新服务时都遵循以下步骤:
服务器的多个版本不存在,如果有一个非向后兼容的更改,客户端上有一个强制更新机制。
我怎样才能使用最新的技术来改善这个过程呢?
尝试使用Ansible等编排工具。 从免费的开源版本开始。 你也可以试试SaltStack ,Chef或Puppet,但Ansible在我看来是最简单的,它不需要服务器组件。 而且因为它基于Python,它应该是你的胡同。
而对于关键任务部署,我会build议蓝绿策略。
另一个解决scheme可能是: AWS Elastic Beanstalk 。
AWS Elastic Beanstalk支持许多平台,包括Python。 目前,对于Python,他们支持:
如果上述环境不适合你,你也可以通过Dockerconfiguration你自己的环境。 在这里看到充分的环境。
AWS Elastic Beanstalk处理许多事情:
您也可以使用.ebextensions
脚本来扩展您的环境。 例如,您需要configurationSSL或添加额外的EBS卷。
它还通过交换CNAME来支持蓝绿部署策略。