终于有人把devops讲明白了

大数据v 大数据v     2023-01-12     473

关键词:

导读:DevOps中的Dev指的是Development(开发),Ops指的是Operations(运维),用一句话来说,DevOps就是打通开发运维的壁垒,实现开发运维一体化。

作者:魏新宇 郭跃军

来源:大数据DT(ID:hzdashuju)

01 从瀑布式开发到敏捷开发

谈到DevOps的发展史,我们需要先谈一下敏捷开发。

敏捷开发是面向软件的,而软件依赖于计算硬件。我们知道,世界上第一台计算机是在1946年出现的,因此,软件开发相对于人类历史而言,时间并不长。相对于软件开发而言,人们更擅长工程学,如盖楼、造桥等。为了推动软件开发,1968年,人们将工程学的方法应用到软件领域,由此产生了软件工程。

软件工程的方式有其优点,但也带来了不少问题。最关键的一点是软件不同于工程。通过工程学建造的大桥、高楼在竣工后,人们通常不会对大桥或高楼的主体有大量使用需求的变更;但软件却不同,对于面向最终用户的软件,人们对于软件功能的需求是不断变化的。

在瀑布式开发模式下,当客户需求发生变化时,软件厂商需要修改软件,这将会使企业的竞争力大幅下降。

传统的软件开发流程是:

  • 产品经理收集一线业务部门和客户的需求,这些需求可能是新功能需求,也可能是对产品现有功能做变更的需求;

  • 然后进行评估、分析,将这些需求制定为产品的路线图,并且分配相应的资源进行相关工作;

  • 接下来,产品经理将需求输出给开发部门,开发工程师写代码;

  • 写好以后,就由不同部门的人员进行后续的代码构建、质量检验、集成测试、用户验收测试,最后交给生产部门。

这样带来的问题是开发周期比较长,并且如果有任何变更,都要重新走一遍开发流程。在商场如战场的今天,软件一个版本推迟发布,可能到发布时这个版本在市场上就已经过时了;而竞争对手很可能由于在新软件发布上快了一步,而迅速抢占客户和市场。

正是由于商业环境的压力,软件厂商需要改进开发方式。

2001年年初,在美国犹他州滑雪胜地雪鸟城(Snowbird),17位专家聚集在一起,概括了一些可以让软件开发团队更具有快速工作、适应变化能力的价值观,制定并签署了软件行业历史上最重要的文件之一——敏捷宣言

敏捷宣言中的主要价值观如下:

  • 个体和互动高于流程和文档。

  • 工作的软件高于详尽的文档。

  • 客户合作高于合同谈判。

  • 响应变化高于遵循计划。

有了敏捷宣言和敏捷开发价值观,后续产生了对应的开发流派。主要的敏捷开发流派有极限编程(XP)、Scrum、水晶方法等。至此,敏捷开发有理念、有方法、有实践。随着云计算概念的兴起以及云计算的不断落地,敏捷开发也实现了工具化。

02 从敏捷开发到DevOps

既然谈到了敏捷开发,那么敏捷开发和DevOps有什么关系呢?敏捷开发是开发领域里的概念,以敏捷开发阶段为基础,有如下阶段:

敏捷开发→持续集成→持续交付→持续部署→DevOps

从敏捷开发到DevOps,前一个阶段都是后一个阶段的基础;随着阶段的推进,每个阶段的概念覆盖的流程越来越多;最终DevOps涵盖了整个开发和运维阶段。正是由于每个阶段涉及的范围不同,因此每个概念所提供的工具也是不一样的。具体内容参照图1-2。

▲图1-2 从敏捷开发到DevOps的进阶

  • 持续集成(Continuous Integration):代码集成到主干之前,必须全部通过自动化测试;只要有一个测试用例失败,就不能集成。持续集成要实现的目标是在保持高质量的基础上让产品可以快速迭代。

  • 持续交付(Continuous Delivery):开发人员频繁地将软件的新版本交付给质量团队或者用户,以供评审。如果通过评审,代码就被发布。如果未通过评审,那么需要变更后再提交。

  • 持续部署(Continuous Deployment):代码通过评审并发布后,自动部署到生产环境,以交付最终用户使用。

DevOps是一组完整的实践,涵盖自动化软件开发和IT团队之间的流程,以便他们可以更快速、更可靠地构建、测试和发布软件。

03 洛克希德·马丁公司实施DevOps的收益

企业实施DevOps的收益主要在于大幅提升软件的交付速度。这里,我们将使用洛克希德·马丁公司的案例进行分析。

洛克希德·马丁公司的F-22猛禽战斗机是世界一流的战斗机之一,这得益于其隐身性、速度、敏捷性和态势感知的独特结合。洛克希德·马丁公司与美国空军合作,开发敏捷的新方法,以更快速、更实惠的方式向F-22猛禽战斗机提供关键能力。F-22猛禽战斗机是世界上最先进的战斗机之一,要保持技术优势,就必须不断关注快速创新。

传统的瀑布式开发过程无法足够快地为战斗机提供关键能力。以前洛克希德·马丁公司花了五到七年的时间来确定需求并为现有架构(F-22最初于20世纪90年代初期建立)发布新功能。这一耗时的过程,再加上代码质量和集成问题,产生了繁重的返工和自定义工作,导致该模式不再符合洛克希德·马丁公司对软件主导的创新的期望。

对于洛克希德·马丁公司而言,保持F-22猛禽战斗机的领先地位不仅仅在于升级其硬件和部署现代软件平台。相反,他们还寻求建立植根于创新和协作的团队文化,将创新和敏捷的方法运用到应用程序开发中。

为此,洛克希德·马丁公司希望采用软件词典中常见的原则和框架,例如敏捷、最小可行产品(MVP)和DevSecOps(融入了安全的DevOps)。

通过红帽开放创新实验室在洛克希德·马丁公司为期八周的驻留,红帽公司协助洛克希德·马丁公司采用一种敏捷的方法论和DevSecOps实践替代了用于F-22猛禽战斗机升级的瀑布式开发过程,从而更快速响应美国空军的需求。

洛克希德·马丁公司和红帽共同创建了一个基于红帽OpenShift容器平台的开放架构,这使F-22团队能够加快应用程序的开发和交付。

洛克希德·马丁公司选择红帽开放创新实验室来带领他们完成敏捷转型过程,并帮助他们在F-22上实施开源架构,同时解开其嵌入式系统网络,从而创造出更敏捷、更适应美国空军需求的产品。红帽开放创新实验室通过指导方式帮助洛克希德·马丁公司的团队采用了敏捷开发方法和DevSecOps实践。

在一次探讨会议和架构审查之后,红帽为洛克希德·马丁公司建立了一个基于红帽OpenShift容器平台的环境,该平台是值得信赖的企业Kubernetes平台。OpenShift针对开发人员的创新模式进行了优化,同时帮助客户应对安全、运营管理以及应用程序和容器管理集成方面的IT挑战。

OpenShift由Red Hat Enterprise Linux的可信赖基础提供支持,Red Hat Enterprise Linux是业界最受认可的操作系统之一,也是第一个支持Linux容器技术并获得Common Criteria认证支持的操作系统,从而使该平台非常适合满足由洛克希德·马丁公司及其客户制定的高安全标准。

在红帽开放创新实验室与洛克希德·马丁公司合作期间,一个由五个开发人员、两个运维人员和一个产品负责人组成的跨职能团队共同合作,为OpenShift上的F-22开发新的应用程序,取得了良好的效果。随后,洛克希德·马丁公司用6个月时间,将OpenShift、敏捷方法和DevSecOps的成功经验扩展到了100人的F-22开发团队。

洛克希德·马丁公司的敏捷转型已获得回报。在最近的一次启动会议上,F-22猛禽战斗机Scrum团队将其对未来冲刺的预测能力提高了40%。项目启动仅一年之后,洛克希德·马丁公司就计划在飞机上提前三年交付新的通信功能。洛克希德·马丁公司正在继续将此方法扩展到整个F-22开发组织。

红帽开放创新实验室与洛克希德·马丁公司合作,不仅改变了其文化、流程和技术,而且还促使其重新考虑了团队的实际工作方式。洛克希德·马丁公司的F-22猛禽战斗机开发团队通过拆除壁垒创造了一个开放的工作环境,从而推动DevSecOps文化的进一步推广。

关于作者:魏新宇,红帽副首席解决方案架构师。在IaaS、PaaS方面有丰富的经验,致力于开源解决方案在企业中的推广和应用。从售前角度主导了红帽在金融、汽车行业的多个PaaS项目。曾就职于华为、IBM、VMware。

郭跃军,目前就职于VMware,担任Solutions Engineer。曾于红帽担任PaaS咨询顾问、AWS顾问服务团队担任云架构咨询顾问,熟悉私有云和公有云生态。从2015年接触容器技术开始,一直奋战在PaaS建设一线,参与了很多OpenShift项目的竞标、PoC、咨询和落地实施,帮助很多企业实现了数字化转型。

本文摘编自《OpenShift在企业中的实践:PaaS DevOps 微服务》(第2版),经出版方授权发布。

延伸阅读《OpenShift在企业中的实践》

点击上图了解及购买

转载请联系微信:DoctorData

推荐语:本书以红帽OpenShift v4为核心编写,从客户的数字化转型入手,介绍如何通过OpenShift构建PaaS平台、实现DevOps、云原生、微服务。

划重点👇

干货直达👇

更多精彩👇

在公众号对话框输入以下关键词

查看更多优质内容!

读书 | 书单 | 干货 讲明白 | 神操作 | 手把手

大数据 | 云计算 | 数据库 | Python | 爬虫 | 可视化

AI | 人工智能 | 机器学习 | 深度学习 | NLP

5G | 中台 | 用户画像 数学 | 算法 数字孪生

据统计,99%的大咖都关注了这个公众号

👇

终于有人把红蓝对抗讲明白了

导读:什么是红蓝对抗?作者:木羊同学来源:大数据DT(ID:hzdashuju)我们现在所处的时代,有人称为网络时代,有人称为信息时代,也有人称为数据时代,不管名字怎么叫吧,我... 查看详情

终于有人把线性回归讲明白了

导读:本文将介绍什么是回归问题、解决回归问题的基本思路步骤和用机器学习模型解决回归问题的基本原理,以及如何用线性模型解决回归问题。作者:莫凡来源:大数据DT(ID:hzdashuju)00线性回归&... 查看详情

终于有人把数据治理讲明白了

导读:数据治理:说起来容易,做起来难。作者:石秀峰来源:谈数据(ID:learning-bigdata)“数据治理”这个10多年前就已经出现的名称,在最近这几年时间一下子火了起来。不知何时,江... 查看详情

终于有人把数据仓库讲明白了

作者:彭锋宋文欣孙浩峰来源:大数据DT(ID:hzdashuju)数据仓库是一个面向主题的、集成的、随时间变化但信息本身相对稳定的数据集合,用于支持管理决策过程。数据仓库的主要功能如下:建立公司... 查看详情

大数据技术终于有人把数据质量管理讲明白了!数据质量:数据治理的核心

 目录背景何为数据?数据治理数据质量管理数据质量控制方法论 查看详情

终于有人把排序算法讲明白了

导读:在大数据时代,对复杂数据结构中的各数据项进行有效的排序和查找的能力非常重要,因为很多现代算法都需要用到它。在为数据恰当选择排序和查找策略时,需要根据数据的规模和类型进行判断。尽管不... 查看详情

终于有人把企业架构讲明白了

作者:付晓岩来源:大数据DT(ID:hzdashuju)01企业架构的概念与范围企业架构设计的服务对象是企业,所以,“企业”是企业架构理论需要首先明确的概念,对于这一概念,笔者比较赞同TOGAF理... 查看详情

终于有人把知识图谱讲明白了

“如果你不知道人工智能是什么?那你应该没有健康码,没有进行人脸识别,天天窝在家里,哪也去不了。”在电影宇宙里,人工智能发展到达了一个又一个巅峰,“智械危机”、“天网”、“终结者”&#x... 查看详情

终于有人把iaaspaassaas讲明白了

导读:各有哪些有点?作者:王健宗何安珣李泽远内容摘编自《金融智能:AI如何为银行、保险、证券业赋能》视频制作:大数据DT(ID:hzdashuju)关注数据叔视频号,看更多干货视频👇延伸... 查看详情

终于有人把微服务讲明白了

作者:魏新宇郭跃军来源:大数据DT(ID:hzdashuju)01微服务架构简介微服务这个概念并不是近年才有的,但这两年随着以容器为核心的新一代应用承载平台的崛起,微服务焕发了新的生命力。传统的巨... 查看详情

终于有人把计算机视觉讲明白了。。。

机器学习是目前比较热门的技术,包含深度学习、强化学习、对抗学习、对偶学习、迁移学习、分布式学习、以及元学习等内容。得益于大数据、大模型、大计算的发展,深度学习在计算机视觉、语音处理、自然语言方... 查看详情

终于有人把云原生架构讲明白了

今天,每个IT资源或产品都作为服务提供。因此,云原生软件开发成为每个企业的关键要求,无论其规模和性质如何。在加入云计算潮流之前,了解什么是云原生架构以及如何为您的云原生应用程序需求设计正确的架构非常重要... 查看详情

终于有人把云计算讲明白了

导读:对于云计算的阐述,我们将从云计算概念、原理、分类、特点和应用这5个方面展开。作者:王健宗何安珣李泽远来源:大数据DT(ID:hzdashuju)01云计算概念云计算是分布式计算技术的一种,... 查看详情

终于有人把数据湖讲明白了

作者:彭锋宋文欣孙浩峰来源:数仓宝贝库作为全局数据汇总及处理的核心功能,数据湖在数据中台建设中必不可少。那么它与数据仓库、数据中台是什么关系?图10-1显示了一个典型的从数据采集到数据湖、数据... 查看详情

终于有人把云原生讲明白了

导读:本文我们将一起探讨什么是云原生,它的关键技术包括哪些。作者:郝树伟来源:大数据DT(ID:hzdashuju)云原生计算加速了应用与基础设施资源之间的解耦,通过定义开放标准,向下封... 查看详情

终于有人把大数据讲明白了。。。

大数据是对海量数据进行存储、计算、统计、分析处理的一系列处理手段,处理的数据量通常是TB级,甚至是PB或EB级的数据,这是传统数据处理手段所无法完成的,其涉及的技术有分布式计算、高并发处理、高可... 查看详情

终于有人把ab实验讲明白了

导读:近几年AB实验的曝光度越来越高。AB实验并不是近几年才有的,从推荐系统诞生开始,AB实验就扮演着重要的角色。本文主要介绍AB实验的基本概念,包括AB实验和在线AB实验的定义以及AB实验的常见类型。作... 查看详情

终于有人把ab实验讲明白了

导读:近几年AB实验的曝光度越来越高。AB实验并不是近几年才有的,从推荐系统诞生开始,AB实验就扮演着重要的角色。本文主要介绍AB实验的基本概念,包括AB实验和在线AB实验的定义以及AB实验的常见类型。作... 查看详情