DevOps —— 开发运维一体化

发布日期:2022-06-20 01:09   来源:未知   阅读:

  本次将给大家带来《安全与运维技术》专题的最后一篇:开发运维一体化DevOps相关技术剖析。

  在《安全与运维技术》专题系列中,小编从相关政策《政策汇总信息化创新——信息安全新曙光》分析入手,分别给大家分享了《全信创生态》《微服务助力信息技术应用创新》《容器技术创新信息技术应用》《服务资源监控助力安全运维》等相关技术文章,本次将给大家带来《安全与运维技术》专题的最后一篇:开发运维一体化DevOps相关技术剖析。

  首先,什么是DevOps?这一词语相信大家并不陌生,最早从2008-2009年就已经提出DevOps概念,根据维基百科的定义:DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、本港台马会现场开奖结果测试、发布能够更加地快捷、频繁和可靠。

  业内各大公司定义焦点也不一,但其本质基本一致,即:开发和运维的一体化,主要包含应用设计、敏捷开发、持续交付和监控运维等一系列流程,涉及到企业文化、团队协作等多个方面。

  了解开发、测试与运维之间的协作是如何演进的,将有助于理解和实施DevOps。

  在起初业务简单、技术不复杂的情况下,团队人员往往较少,甚至出现一人团队,而且往往是全栈工程师,开发、测试和运维一人或一个团队独立完成;但随着业务复杂度增高、技术架构也逐步向分布式或微服务架构发展,团队人员也逐步增多,团队与团队之间的协作开始变得频繁,开发协作模式也开始发生改变,由原来的单体架构(有时也称巨石应用)结合瀑布式推进向分布式应用架构结合敏捷模式推进,再向微服务架构结合DevOps模式推进。单体架构的应用往往比较庞大,随着开发的推进和应用难以运维时,就需要拆解多个应用,跟随的团队也相应拆解,服务器也由原来的一台逐步增多。当团队发现每个应用都存在重复开发工作时,那些共用部分就可单独剥离出公共服务,以供各应用重复使用,部署时也可以单独部署。其演进过程简单逻辑示意图如下所示:

  从技术角度,DevOps涉及面非常多,主要有代码管理、持续构建(CB)、持续集成(CI)、持续部署(CD)、监控与运维、持续测试(CT)、服务治理、代码安全以及容器编排等相关技术。从下图中可以看出,每个阶段都有相应的工具或平台支持。据专业研究报告称,适合DevOps开发运维一体化的工具平台,正在向集成度更高、生态系统更完整的工具链方向发展。目前国外大厂选择在自家平台扩展开发,来提供一站式服务能力,例如微软自己的一体化研发平台等;国内大厂基本采取开源工具集成或使用开源项目,并结合行业特点定制开发自己的运维一体化平台。如已实施过DevOps,可根据云计算开源产业联盟(OSCAR)提出的DevOps能力成熟度模型所需要的能力评估所属级别。

  落地实施DevOps的三大支柱:人(People)、流程(Process)和平台(Platform),其关键在于:一是企业文化(人+流程),二是齐全的DevOps工具或完备的平台(流程+平台),最终为团队赋能。在企业文化上,要打破部门墙,114全年黑白图库150不能简单把Dev和Ops团队合并,需在组织改变的基础上,更重要的是从思维转变,让流程和平台发挥更大作用;另外需梳理开发、测试及运维等全过程所需要的规范及工具平台,在团队内统一使用,也可以借助第三方工具或平台来加快落地。

  DevOps落地考验的不仅是一家企业的技术,更是管理水平和企业文化。近期快速发展的微服务技术、虚拟技术和容器技术也是助推了DevOps的快速落地。数慧已在公司一定范围内使用,并且同步开发了DPaaS容器云平台加快落地实施DevOps,有兴趣读者也可查阅前期文章《DPaaS平台助力大型系统快速实现DevOps》。