随着IT技术的不断发展,从传统的IT建设模型逐步向新型IT建设模型过渡,建设模式的改变,必然影响应用系统的全生命周期。应用系统的建设经过单体应用、SOA应用、逐步走向微服务应用,至于何为单体应用、SOA应用以及微服务应用,本文不做重点介绍,本文主要用于论述微服务与DevOps的关系。

为了避免枯燥的讨论抽象概念关系,接下来我将从一个日常生活场景开始讲起。对于一个正常人来说,每日的生活离不开吃住行,那么吃住行中吃排在首位,对于土生土长的北方人来说,提到吃就必须提到小麦,小麦从种子开始,经过播种、收割、碾压、风干、磨面、做成面包,每个过程阶段都需要不同的投入,播种前需要犁地、施肥、育种,播种后需要除草、施肥、光照、收割,收割后需要碾压、风干、磨面、做成面包,每个阶段都涉及不同的工作。

如果把小麦到馒头比喻成应用系统的开发,这期间有手工工作、自动工作、半自动工作。其实我们应用系统的开发,也是经过了一些列的手工工作、自动工作、半自动化工作。假如不考虑季节因素,日复一日,年复一年,小麦到面包的过程,就是一个持续交付的过程,在交付过程中,逐渐的完善犁地的深度、施肥的成份、碾压的强度、风干的时长等等。这就类似于我们做微服务化实施的过程,逐步的拆分微服务,逐步的实施交付,不断的完善,这个过程中,手工工作、自动工作、半自动化工作,就类似于我们在微服务开发过程中使用的工具,工具有高效低效之分。

在小麦到面包的过程中,为了提高投入产出率,我们不仅优化种子,而且优化过程工具,最典型的莫过于上世纪主要靠人工完成的过程,现在已基本有自动化机器完成,那在自动化机器完成的基础上,如何进一步提升回报率呢?就是我们的DevOps理念,“打破部门鸿沟,实现工具流水线”,DevOps的诞生从狭义上说,就是实现各个阶段工具链的自动化,从广义上讲就是实现跨部门之间高效协作。

虽说小麦到面包的案例比较普通,但是也已基本引出了本文的重点,即“微服务与DevOps的关系”,采用理工类经典的论证模式“如果某企业向微服务转型,且微服务实施已取得成效,那么企业DevOps平台也已基本落地”。听起来比较绝对,但话糙理不糙,具体原因如下:

  • 微服务的实施,必然将原先一个应用拆分成数十个,那么对于每个拆分后的微服务进行编译、打包、部署必将是原来工作量的数倍,如果不采用自动化工具。
  • 微服务的实施,必然会涉及多个微服务之间的协作,那么对微服务功能进行单元测试、回归测试、性能测试将变得更加复杂,如果不采用自动化工具,工作量之大,复杂度之高,难以估量。
  • 微服务的实施,必然会升级多个微服务采用框架各异,那么微服务部署所依赖的基础环境,必将异常复杂繁琐,如果不采用自动化工具。
  • 微服务的实施,必然会涉及多个团队协作开发,那么微服务需求的管理,则项目的管控将异常艰巨,如果不采用先进的项目管理工具。
  • 微服务的实施,必然会频繁的进行应用的更新,那么代码编译、版本控制、代码质量将无法保障,如果不采用成熟的工具。

鉴于以上种种问题,微服务的实施必然要具备需求管理、代码版本管理、质量管理、构建管理、测试管理、部署管理、环境管理等工具链,除此之外,还需要开发部门与运维部门的协作,因此,DevOps是微服务实施的充分必要条件

离开微服务,DevOps是否有意义,就如同农作物的流水线离开了小麦是否有意义一样,农作物的流水线离开小麦,还有玉米、大豆、高粱等,因此,微服务是DevOps实施的充分但不必要条件。

微服务与DevOps关系的更多相关文章

  1. Kubernetes才是微服务和DevOps的桥梁

    一.从企业上云的三大架构看容器平台的三种视角 一切都从企业上云的三大架构开始. 如图所示,企业上的三大架构为IT架构,应用架构和数据架构,在不同的公司,不同的人,不同的角色,关注的重点不同. 对于大部 ...

  2. 基于微服务的DevOps落地指南 交付效率提升40%

    基于微服务的DevOps落地指南 交付效率提升40% 2015-2016年,珍爱线下门店已新增覆盖城市9个,与此同时,CRM系统大小故障却发生了数十起... ... 珍爱网是以“网络征选+人工红娘”模 ...

  3. 通俗地理解面向服务的架构(SOA)以及微服务之间的关系

    SOA是一种软件的应用架构方法,它基于面向对象,但又不是面向对象,整体上是面向服务的架构.SOA由精确的服务定义.松散的构件服务组成,以及业务流程调用等多个方面形成的一整套架构方法. 这话是不是听起来 ...

  4. spring boot 与微服务之间的关系

    Spring Boot 和微服务没关系, Java 微服务治理框架普遍用的是 Spring Cloud. Spring Boot 产生的背景,是开发人员对 Spring 框架越来越复杂的配置吐槽越来越 ...

  5. .NET Core/.NET5/.NET6 开源项目汇总6:框架与架构设计(DDD、云原生/微服务/容器/DevOps/CICD等)项目

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  6. 微服务与devops的文章推荐

    http://www.sohu.com/a/125040520_355140 http://www.csdn.net/article/2015-11-18/2826253 http://www.cnb ...

  7. DevOps架构下如何进行微服务性能测试?

    一. 微服务架构下的性能测试挑战 微服务与DevOps 微服务是实现DevOps的重要架构 微服务3S原则 DevOps核心点 微服务架构下的业务特点 亿级用户的平台 单服务业务随时扩容 服务之间存在 ...

  8. 唱吧DevOps的落地,微服务CI/CD的范本技术解读----最大的难点并不是实际业务代码的编写,而是服务的监控和调试以及容器的编排

    1.业务架构:从单体式到微服务 K歌亭是唱吧的一条新业务线,旨在提供线下便捷的快餐式K歌方式,用户可以在一个电话亭大小的空间里完成K歌体验.K歌亭在客户端有VOD.微信和Web共三个交互入口,业务复杂 ...

  9. 唱吧DevOps的落地,微服务CI/CD的范本技术解读

    1.业务架构:从单体式到微服务 K歌亭是唱吧的一条新业务线,旨在提供线下便捷的快餐式K歌方式,用户可以在一个电话亭大小的空间里完成K歌体验.K歌亭在客户端有VOD.微信和Web共三个交互入口,业务复杂 ...

随机推荐

  1. Process Class (System.Diagnostics)

    import sys def hanoi(n, a, b, c): if n == 1: print('%c --> %c' % (a, c)) else: hanoi(n-1, a, c, b ...

  2. Mcode的介绍

    开始时进行的Mcode代码积累平台的分析: 登录模块 Login.html登录页面进行用户的登录,把登录好的用户id存到session里面,转到代码模块 Register.html注册页面进行用户的注 ...

  3. 【NOIP2017】列队 splay

    当年太菜了啊,连$60$分的暴力都没拿满,只打了一个$30$分的. 考虑到这题最多只会询问到$30W$个点,且整个矩阵会去到$30W\times 30W$,显然不能将所有的点存下来. 对于每一行(除最 ...

  4. 关于editplus设置java和c#

    1.java设置 首先要在目录上手动新建一个class文件.放置编译好的class文件

  5. 解析ASP.NET WebForm和Mvc开发的区别 分类: ASP.NET 2013-12-29 01:59 11738人阅读 评论(5) 收藏

    因为以前主要是做WebFrom开发,对MVC开发并没有太深入的了解.自从来到创新工场的新团队后,用的技术都是自己以前没有接触过的,比如:MVC 和EF还有就是WCF,压力一直很大.在很多问题都是不清楚 ...

  6. ASP.NET5使用FaceBook登录

    原版教程 使用VS2015创建Web应用: 此教程使用的是FaceBook账号登录,需要添加相关的类,打开Nuget: 搜索Microsoft.AspNet.Authentication.Facebo ...

  7. 记一次Socket编程踩的坑

    闲来无事研究了下Socket,想用它做个简单的聊天室模型,结果踩了个坑,整半天才出来,惭愧啊,先上完成的代码吧 服务端: public partial class Form1 : Form { pub ...

  8. Linux vim 编辑命令

    vi命令命令模式:yy:复制 光标所在的这一行 4yy:复制 光标所在行开始向下的4行p: 粘贴dd:剪切 光标所在的这一行2dd:剪切 光标所在行 向下 2行D:从当前的光标开始剪切,一直到行末d0 ...

  9. SourceTree跳过Atlassian账号,免登陆,跳过初始设置

    SourceTree 安装之后需要使用账号登陆以授权,并且是强制登陆. 登录过程非常漫长,并未在不FQ的情况下是不能成功的,下面记录一下跳过登录的方法. 装之后,转到用户本地文件夹下的 SourceT ...

  10. MediaWIKI部署流程

    1.下载mediawiki,地址:https://www.mediawiki.org/wiki/MediaWiki 2.下载xxamp集成软件,地址:https://www.apachefriends ...