AWS CodeDeploy优点/缺点

时间:2018-07-17 00:37:45

标签: amazon-web-services jenkins aws-code-deploy aws-codepipeline

我们有一个Enterprise设置(大型),具有广泛的应用程序-从某种程度上来说是旧​​的到现代的:Node,Tomcat,WebLogic,Kafaka,Cassandra,DB,一些Docker等。到AWS上。我们目前使用Git,Jenkins,Chef等进行构建/部署。我们确实有通常的审核/合规要求。我们的应用程序是典型的定制多层应用程序-因此本质上是排序和依赖性。而且我们会定期发布(包括门控/批准),因此在每天有很多部署的micoservices世界中还没有。

现在,我正在尝试将AWS CodeDeploy评估为用于AWS部署的工具。根据产品规格/文档,它可以进行混合(本地和云)-听起来很棒。它可以与Jenkins(具有插件)一起使用,或者我可以将AWS Codepipeline视为Jenkins的替代品或附件。我可以看到CodeDeploy与AWS生态系统集成得很好(但当然)–自动缩放等。

我的问题是:CodeDeploy的固有限制是什么-它不能很好地完成工作,我们需要注意任何陷阱。

我看到的一个限制是它不能做多层应用程序-每个服务/应用程序都需要自己的部署组。 如果尝试同时运行多个部署,则无法控制部署发生的顺序。 实际上,根据我们的应用程序和发布惯例的性质,这对我们来说是重要的要求

代码升级:根据描述,我可以看到CodeDeploy本身没有任何代码升级功能。我们可能必须使用Jenkins或CodePipline。 (?)

事件挂钩:我可以看到它具有事件挂钩,并且可以在事件上编写脚本。这是AWS的最佳实践吗?所以很可能我会安装我的软件(Apache等) BeforeInstall 一种事件(?)

打包:我们必须打包整个部署内容(以及AppSpec文件)并将其复制到存储库(S3 / Git)中,而不是直接从Git或Nexus中挑选内容。这会成为现实生活中的问题吗?

或者只是远离CodeDeploy 并坚持使用Jenkins / Chef / CloudFormation(或OpsWorks / BeanStalk)。

如果人们可以分享一些实际经验的CodeDeploy优点/缺点,那将是最有帮助的。 (希望整个社区都能受益)。

谢谢

0 个答案:

没有答案