微服务的部署与发布:持续交付与持续部署微服务

持续交付与持续部署微服务

持续集成(Continuous Integration)与持续交付(Continuous Delivery )、持续部署(ContinuousDeployment)作为敏捷开发实践,可以及早发现、解决问题,从而更早地将产品交付给客户。及早地从客户那里得到反馈,就可以及早地对产品进行修复和完善,交付更加完美的产品给客户,最终形成了良好的可以持续的闭环。

微服务的部署与发布:持续交付与持续部署微服务

 

什么是持续交付与持续部署

持续集成是持续交付和持续部署的基础。持续集成使得整个开发团队保持一致,消除了集成所引起的问题的延期。虽然持续集成使得代码可以快速合并到主干中,但此时软件仍然是未在生成环境中进行实际使用过的。软件的功能是否正常,功能是否符合用户的需求,这在持续集成阶段仍然是未知的。只有将软件部署到了生成环境,交付给用户使用之后,才能检验出软件真正的价值。而持续交付与持续部署的实践,正是从持续集成到“最后一公里”的保障。

所谓交付,就是将最终的产品发布到线上环境,提供给用户使用。对于一个微服务架构系统来说,将一个应用拆分成多个独立的服务,每个服务都具有业务属性,并且能独立地被开发、测试、构建、部署。换言之,每个服务都是一个可交付的产品。那么在这种细粒度的情况下,如何有效保障每个服务的交付效率,快速实现其业务价值,是摆在微服务面前的一个难题。

而持续交付是一系列的开发实践方法,用来确保代码能够快速、安全地部署到产品环境中,它通过将每一次改动都提交到一个模拟产品环境中,使用严格的自动化测试,确保业务应用和服务能符合预期。因为使用完全的自动化过程来把每个变更自动提交到测试环境中,所以当业务开发完成时,你有信心只需要按一次按钮,就能将应用安全地部署到生产环境中。

而持续部署是持续交付的更高一级的阶段。即当所有代码所有的改动都通过了自动化测试之后,都能够自动地部署到生产环境里。持续发布与持续部署一个重要的差别在于,持续发布需要人工来将应用部署到生成环境中(即部署前,应用需要人工来校验一遍),而持续部署则是所有的流程都是自动化的,包括部署到生产环境的流程。图11-1很好地描述了持续发布与持续部署之间的差异。

微服务的部署与发布:持续交付与持续部署微服务

 

让我们来探讨下一个完整软件的交付过程。假设现在需求已经明确,并且已经被划分为小的单元模块,如划分成用户故事,让我们观察下从开发人员拿到用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值