29 微服务如何实现DevOps?

29 微服务如何实现DevOps?

把一个大的单体应用拆分成多个微服务之后,每个服务都可以独立进行开发、测试和运维。但当拆分的微服务足够多时,却又仿佛陷入一个新的泥沼,无论是业务代码的开发还是测试和运维,工作量都比之前提升了很多。

采单体应用架构时,一个业务需求只需要修改单体应用的代码,然后针对这个单体应用进行测试,测试通过后再把单体应用的代码发布到线上即可。而拆分为微服务之后,一个大的系统被拆分为多个小的系统,一个业务需求可能要同时修改多个微服务的代码,这样的话多个微服务都需要进行测试,测试通过了都需要把代码发布到线上,显然工作量成倍增加。这时候就迫切需要一种新的开发、测试和运维模式来解决这个问题,这就是今天我要给你讲的微服务与DevOps。

什么是DevOps?

在介绍DevOps之前,我先来带你回顾一下传统的业务上线流程:开发人员开发完业务代码后,把自测通过的代码打包交给测试人员,然后测试人员把代码部署在测试环境中进行测试,如果测试不通过,就反馈bug给开发人员进行修复;如果通过,开发就把测试通过的代码交给运维人员打包,然后运维人员再发布到线上环境中去。可见在传统的开发模式下,开发人员、测试人员和运维人员的职责划分十分明确,他们往往分属于不同的职能部门,一次业务上线流程需要三者之间进行多次沟通,整个周期基本上是以天为单位。你肯定会想假如能够把开发、测试和发布流程串联起来,就像生产流水线上那样,每个步骤完成后,就自动执行下一个步骤,无须过多的人为干预,业务的迭代效率不就能提升很多吗。

没错,DevOps的思想正是如此。在我看来,DevOps是一种新型的业务研发流程,业务的开发人员不仅需要负责业务代码的开发,还需要负责业务的测试以及上线发布等全生命周期,真正做到掌控服务全流程。DevOps就是下图中心的部分,集开发、测试和运维三者角色于一体。

在这里插入图片描述

而要实现DevOps,就必须开发完成代码开发后,能自动进行测试,测试通过后,能自动发布到线上。对应的这两个过程就是CI和CD,具体来讲就是:

  • CI(Continuous Integration),持续集成。开发完成代码开发后,能自动地进行代码检查、单元测试、打包部署到测试环境,进行集成测试,跑自动化测试用例。<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值