简介:许多朋友询问有关DevOps的相关问题。首席执行官在本文中注明将为您提供一个详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!
在软件开发过程中,开发人员负责编写代码,然后将代码交给质量检查(质量保证)团队进行测试,然后将最终版本交给了运营和维护团队进行部署。
DevOps是两个开发和操作词的组合。但是,这里的组合不仅仅是合并两个团队,而是从思维和过程中改变,并根据DevOps思想重新确定整个过程的规格和标准。
DevOps既是一种思维方式,也是一种工作方式。作为三个部门之间的沟通,协作和集成的方法,以促进发展,技术运营和质量保证,组织的快速迭代并意识到竞争优势已成为现实。
在DevOps的过程中,操作和维护人员将在项目开发过程中干预开发过程,以了解开发人员使用的系统架构和技术路线,以制定适当的操作和维护解决方案。开发人员还将参与系统部署操作和维护的早期阶段,并为系统部署提供优化建议。
DevOps的实施打破了团队中各种角色的功能障碍,使开发人员以及操作和维护人员可以更好地进行交流和合作,并通过自动化流程更快,更可靠地进行软件开发的整体过程。
DevOps是IT服务管理的模型。在过去的几十年中,IT操作和维护经历了几个阶段。
简而言之,DevOps试图打开开发,操作和维护的部门墙,以打开整个IT值交付的整个生命周期,并提高整个过程的效率,从产品需求到整个过程在线操作和维护。
DevOps最重要的作用是提高企业产品的交付质量,缩短开发周期并减少失败。降低成本和效率是数字化转型后每家公司的巨大挑战。毫无疑问,DevOps直接达到了疼痛点。
作为DevOps工程师,除了软件工程师的基本编程能力外,它还需要特定的人际交流,工具使用和其他技能。换句话说,DevOps工程师还需要具有“软”和“硬”技能,如下:
1.沟通与协作技能
DevOps是跨软件开发,测试和部署的一种协作方法。它收集具有不同目标的小型团队,以实现更高效和高质量的代码版本。这要求在DevOps过程中不同角色之间必须没有沟通障碍。因此,良好的沟通技巧(无论口头还是书面)对于优秀的DevOps工程师至关重要。
协作的能力也很重要。Devops是团队合作开发模型。每位工程师都是团队成员,需要在整个软件迭代期间支持其他同事的工作。这不仅要求我们成为一名出色的队友,而且在适当的情况下为新移民提供了一些建议,包括但不限于最佳方法指导团队成员提供代码,编码时使用哪些工具以及如何测试最新功能。这要求我们了解这些DevOps流程中的必要技能。
2.熟悉并理解DevOps工具链
除了协作和沟通等“软”技能外,DevOps工程师还必须知道如何使用各种复杂工具来支持软件交付目标。这是出色的DevOps工程师所需的“硬”技能。
DevOps工程师需要知道如何使用和理解以下类型的工具:
版本控制工具
详细介绍,结合代码审核和合并函数的版本控制工具是允许多个开发人员完美协作的主要DEVOPS工具。由于DevOps流程将来自各个部门的专家汇集在一起,因此他们需要了解源代码控制系统和系统跟踪不同应用程序中的变化。此外,它还维护了应用程序的多个版本。
目前,DevOps流程中常用的版本控制系统基于开源分布式版本控制系统Git,例如GitHub,Gitee,Gitlab和主要的基于GIT的内源性协作工具的主要制造商。
连续集成工具
连续集成(CI)是DevOps的关键技能之一,它是构建管道的重要组成部分。Devops要求操作和开发团队使用统一的系统。因此,继续集成的是合并的代码通过此类技术,可以有效合并数据。因此,DevOps工程师必须知道如何使用一些常用的CI工具,例如Github Action,Jenkins,Bamboo,Teamcity,Travis CI等。
容器和布置工具
作为现代微服务和云的核心技术,容器提供了DevOps的三个基本功能,包括连续实验,流量和反馈。容器技术的非特征基础架构实现了操作系统层的虚拟化。它不仅促进了操作和维护程序的升级和部署,而且还促进了将环境复杂性隐藏到应用程序代码的手段,从而成为促进分布式服务的必要前提。
目前,Docker仍然是最广泛使用的容器技术,并且带有集装箱布置引擎Kubernetes的Cloud Native Technology Stack是主要互联网公司建立集装箱技术基础架构的事实标准。
自动化工具
自动化是软件开发中的重要元素之一。几乎所有手工任务都可以使用各种脚本自动完成。例如,Ruby,Bash,Python,Node,Shell等。成为许多DevOps团队加速开发和部署的关键。掌握自动化工具是DevOps工程师的必要条件。
监视和警报工具
DevOps的持续集成和连续的部署实现不能与连续监控的辅助作用分开。许多部件由数百个组件组成,其中一项服务的一项服务可能导致整个系统崩溃。时间 - 耗费以手动找到核心故障。解决方案的一种是继续监视关键功能,例如RAM使用,数量,异常数量和存储空间。因此,需要根据密钥来设置警告系统系统的功能。例如,当存储空间的使用达到80%时,应触发警报,以便DevOps操作和维护开发人员可以在整个系统崩溃之前解决问题。
3.具有成熟编码标准的特定编程技能
但是,编程能力是每个开发人员的最基本能力,但是DevOps工程师在这方面仍然有更多特殊要求。
一般来说,DevOps工程师需要根据专门使用1-2个编程语言来熟悉多种语言框架工程师需要了解这些语言的特征,并具有在操作系统环境中编写和调试的能力。
第四,技术支持和维护技能
优秀的DevOps工程师不仅需要开发技能,而且还需要为客户提供维护和技术支持。这意味着DevOps工程师应该愿意支持内部和外部客户,并且在出现问题时未能消除故障。
DevOps是一组流程,方法和系统的集体名称,以促进开发(应用/软件工程),技术运营和质量保证(QA)部门(QA)部门。它的出现是由于越来越清晰认可的软件行业造成的:交付时间,开发和运营必须紧密合作。Devops旨在统一软件开发和软件操作,与业务目标紧密集成,并大力促进自动化和监测软件构建,集成,测试,释放,部署和基础架构管理。
DevOps的目的是缩短开发周期,增加部署频率并发布更可靠的。用户可以通过完整的工具链中的完整工具链来实现零 - 深度集成代码仓库,产品仓库,项目管理,自动测试和其他主流工具。成本迁移并快速练习DevOps。
DevOps帮助开发人员和操作和维护人员创建一个新的空间,并通过连续交付实践来建立一种新的方式来优化资源和扩展应用程序。DevOps和Cloud Native Architecture的组合可以实现精益产品开发过程,适应快速变化,并更好地满足企业的业务目的。在容器云PAA,DEVOPS,微服务治理,服务网格,API网关等方面,速度云很好。它们是完整的云云本地技术服务提供商。你可以找出答案。
编者注:本文来自阿里巴巴云效应团队制作的“阿里巴巴Devops实践指南”。扫描上面的QR码或GO:下载E -Book的完整版本,以了解Ali的十年DevOps实践经验。
本文的作者:他,阿里巴巴Yunyun效应的高级技术专家Mian
当涉及到DevOps时,它必须从敏捷和精益开发开始。Devops根据其发展,借鉴它们的方法和思想,并发展和改进其实际系统。
敏捷软件开发的实践首先出现在1990年。那时,一组轻量级的软件工程方法和框架是一个接一个地诞生的。它们的共同特征是与传统的软件工程相比,它们遵循进化和迭代的模型。该过程更加轻松,更灵活。在它们中,混乱和极端编程是实践中最成功和最大的影响。它们都是迭代和增量软件开发框架。不同之处在于,Scrum仅包括管理实践,而极端编程还涵盖工程和管理实践。
在1990年代,PC软件的出现以及第四代编程语言的出现,面向对象和设计模型运动的兴起使小型项目的发展变得蓬勃发展。在同一时间,互联网应用程序的兴起和开放来源社区与传统发展模型的不断出现以及杰出个人在计划发展中的作用不同。
这些因素给了实验土壤的非传统开发方法。结果一方面,质量问题已经不断出现,这促使CMM/CMMI促使此时起源于当前的综合质量管理系统。另一方面,它还产生了许多与传统方法不同的有效实践,从而允许行业分享新的可能性。这次,敏捷运动一直在呼吸。这既是叛乱,也是野蛮增长的规定。
2001年2月,17种轻型软件工程方法的代表聚集了美国犹他州的雪鸟滑雪胜地,包括几位Scrum和Extreme Programming的发明者。会议的两天后,敏捷宣言(请参阅)后来又有了巨大的影响(请参阅),敏捷声明说明了他们普遍认可的软件开发方法的概念。
敏捷的概念出现在2001年,可以说是与时间一致的。一方面,传统方法变得越来越肿和笨重,但没有解决软件危机。另一方面,人类正在进入互联网时代,软件行业迅速升级了响应变化和创新的要求。按需是该行业发展的最佳助推器。
敏捷宣言发布后,敏捷成为一项迅速促进和应用的运动。但是,早期的敏捷焦点仍然是研发交付阶段。从业务的角度来看,其目标是帮助产品和研发团队提高敏捷响应能力,也就是说:“提前,更灵活地应对变更的价值交付。”但是,在企业数字化转型的背景下,不仅必须确保产品的开发和交付,还必须确保系统部署和操作。Devops继承了敏捷开发的概念,并补充了操作和维护部分,但是DevOps绝不是简单的开发,操作和维护的叠加,我们还将稍后再谈论。
最早的想法源自生产和制造领域,植根于产品制造中的丰田管理和工程实践。在1988年,一篇论文“精益生产系统的胜利”将西方生产方法和丰田生产方法与效率和丰田生产方法进行了比较质量,挑战了规模生产的好处。随后,Lean开始进入西方的愿景,并逐渐成为现代管理的重要组成部分。
“精益思想”一书将精益定义为:一种有效组织人类活动的新思维方式。目的是消除浪费并提供更多有用的价值。这本书进一步总结了精益原则,这也是实施步骤:
在这个抽象的水平上,精益思想超越了他们出生的制造业,这些行业深远影响了各个行业,例如精益政府事务,精益医院,精益领导力,精益服务行业,精益供应链,精益教育等。事实,主流敏捷发展方法直接受到精益思想的影响,并遵循精益的基本原理。
同时,作为独立实践系统,精益产品的开发也迅速发展。它着重于两个方面的目标 - 价值交付过程和价值本身。
精益企业家认为,企业家精神是一个巨大的不确定过程。最大的浪费是,交付(无法解决用户问题或带来业务成功)是没有用的。为此,它将价值探索和发现集成到产品交付过程中,并提出了一个众所周知的“开发测量学习学习”“周期。周期始于对市场和产品的检查的概念。隔离,周期的第一步是使用此概念开发最低可行的产品(MVP,最小可行的产品);第二步:基于最低和可行的产品收集市场,用户反馈并获得测量数据;第三步:使用数据来验证假设,确认或伪造它们,并将其调整以产生经验感知。然后,输入下一个周期并继续探索业务模型和产品功能设计。
精益企业家精神的影响远远超过了开始的公司。实际上,“精益企业家精神”一书将“企业家精神”定义为不确定的环境中的创新业务和产品。“不确定性”似乎已成为当今IT领域的共同点。因此,MVP,开发测量学习的概念“已被IT Innovation领域所认可,并开发了一套精益企业家精神。一个完整的创新实践系统,例如精益数据分析,精益客户开发,精益递送设计,精益递送设计,精益服务,ETC。
探索和发现有效的价值并让价值顺利进行。将这两个目标关注并遵循精益的思想,精益产品开发已发展为系统系统。精益思想对DevOps的影响也非常基本,这三个原则Devops的of完全遵循精益思想。
在传统的IT组织下,开发团队(DEV)与操作和维护团队(OPS)之间的需求不同 - 开发团队(尤其是敏捷团队)追求变化,运营和维护团队追求稳定。双方经常有利益冲突。例如,精益和敏捷的团队将连续交付作为目标,而操作和维护团队则强调了对在线稳定性的变化控制。建立了部门墙,这当然不利于最大IT值。
2009年,在美国举行的第二次速度会议上,Flickr的John Allspaw和Pauk Hammond发表了“每天10+部署:Flickr的Dev and Ops合作”。在开发与操作和维护之间的角色 - 扮演方式之间。演讲中有许多黄金句子,例如“这不是我的代码,而是您的机器!”,这深刻反映了开发人员与OP之间的关系状态。然后,他们展示了如何消除开发团队(开发人员)和操作和维护团队(OPS)的障碍。双方合作将软件的软件发布和操作与工具和文化的变化持续有效。
该演讲是DevOps开发中的一个标志性事件。它提出了正确的问题 - 为了交付和实现价值,开发与操作和维护之间的差距必须带到解决方案中 - 以促进发展之间的差距以及运营和维护,有必要在文化中进行文化和维护。工具和实践的系列。
同年,比利时的独立IT顾问帕特里克·德博斯(Patrick Debois)看到了演讲,并受到启发组织第一个Devopsdays。DevOps正式出现在舞台上。DevOps的概念开始变得流行,其相关的工具和实践也迅速发展。云原生技术以容器化和自动布置计划所代表的云本机技术也加速了这一过程。Doday,DevOps已成为数字化的核心能力之一。企业,是IT交付和操作的基本要求。
后来,在“凤凰项目”和“ DevOps实践指南”中,Gene Kim和其他人总结了DevOps实施的三个步骤工作方法。他们是:
流量原理:关注IT系统的总价值流,全局优化,并确保从左侧(上游)到右侧(下游)的值快速流动。
反馈原则:创建从左到右的反馈循环,并缩短反馈周期并扩大反馈效果。这样,您可以更快地响应,了解内部和外部客户,并立即获得改进所需的知识。
持续的实验和学习原则:创造一种具有风险,连续实验并从错误中学习,提高连续尝试的能力并改善系统韧性的文化。
Kim等。相信这三个步骤是所有其他DevOps过程,实践和所有DevOps模型的价值和哲学基础,可以从这三个原则中得出。
如果您探索一点,您可以意识到,DevOps的三个步骤工作方法是精益原理的复制品。更确切地说,它是IT开发和运行上下文中精益原则的特定示例。DevOps的基本部分反映了精益原则的影响和应用。
回顾一下敏捷,精益和DevOps的发展,我们可以得出以下两个结论。
首先,DevOps是敏捷发展实践的自然发展。敏捷发展的目标是“更早,更灵活地交付价值以应对变化。”敏捷运动始于发展方面,但是如果运输方面不改变,则它肯定会成为瓶颈,无法实现最终的敏捷目标。为了允许敏捷实践发挥真正的价值,开发和维护的联系是必须的。
其次,DevOps是IT领域精益思维应用的不可避免的结果。精益产品开发的目标是:“平稳的交付有效价值”,精益思想需要结束 - 到端的系统优化和持续改进。维护和维护是系统的两个重要部分,这是必不可少的。DEVOPS的三个原则是IT开发和操作领域精益思维的具体例子。
最后,从精益思想开始,我们可以看到DevOps的不可避免的发展方向,即扩展到业务方面。业务是产品开发,运营和维护的来源。完整的价值流必须从源开始。这不是预测,而是正在发生的事实。DevOps的大部分实施都包括业务方面并成为Bizdevops。它包含业务。
与DevOps开发的同时,数字化转型也已成为商业社区的共识。企业的大多数数字框架都使用DevOps作为核心功能之一。DevOps影响力的范围一直在扩展,成为努力改善数字化的公司的不可避免的选择。在下一节中,我们将分析在数字化转型背景下要解决的基本问题。
“关联”
在2008年在多伦多举行的速度CONC上,帕特里克·德博斯(Patrick Debois)和安德鲁克莱·谢弗(Andrewclay Shafer)首先提出了“敏捷基础设施”的主题。它是从Flickr的“每天部署10次”中分享的。活动是为期两天的时间表。为了使每个人的方便在Twitter上传播,人们简要地将Devopsdays一词称为“ #devops”。然后,“ devops”一词已发布。这个词中包含的概念和实践在越来越广泛的人群中引起共鸣,然后在各种会议和论坛上成为全球IT行业的重点主题。许多大型IT论坛也开始了DevOps的特别讨论。这是DevOps这个词的起源。
DevOpsdays是通过促进相关核心赞助商(例如Patrick Debios)的促进的,并且在2010年在山景城举行的DevOpsdays活动中蓬勃发展,Damon Edwards先生使用了“ CAMS”的缩写来高度汇总和解释DevOps,这是是文化,自动化和测量(测量或指标)并共享。
(文化(文化) - 这是指拥抱变化,促进协作和交流
自动化
)瘦(精益) - 这是指瘦原理促进高频周期的使用
s指标(指标) - 指测量每个链接。
分共享
帕特里克·德博斯(Patrick Debois)先生,“平静”完全匹配“ Devops是人类的私人”(Devops是一个人的问题)。
从一代DevOps概念到其全球传播和认可,它已经经历了9年。它的大众促销还伴随着IT行业的快速变化和发展。现在,它已经到达移动互联网时代的下半年,并且国内信息构建已经完成了多年。数字转换。IT信息技术的高级水平标志着企业的核心能力。任何成功的企业,敏捷和高效的软件开发以及IT管理的创新能力以及IT管理的全面能力不仅是立面,而且是真正的市场竞争力。Devops倡导敏捷性,持续交付和ITIL实践的结合。同时,基于精益生产概念的管理思想逐渐被广泛接受和认可。
在过去的几年中,各种国内IT会议也蓬勃发展,其中与DevOps相关的主题和分支场所也引起了很多关注。各种云计算,操作和维护以及其他IT技术的社会媒体也非常重视共享DevOps.A的主题,国际,有影响力的DevOps会议专有。也被举行。
下面列出了一些Devopsdays会议的相关数据。从2009年到2016年,在全球61个城市/国家/地区成功举办了117场比赛。
下图是过去九年中各个城市/国家/地区的Devopsdays会议数量。
今年,预计将在2017年举行30场比赛,其中有18场决心持有城市和日期。还有12个城市要定居;这不包括在一年中可能适用的城市中。以上数据的统计数据在2017年3月。
随着国内蝙蝠等互联网巨头的兴起,越来越多的互联网公司的开发和运营经验已经在各种国内技术会议上传播。还使用DevOps来定位和分享他们的优势和经验。他们是传播和分享Yunwei方面运作的实践的先驱。
除了共享技术论坛之外,许多在线和离线会议,论坛和讨论小组也越来越讨论了DevOps的主题。中国其他相关类型的人物(例如敏捷和精益)也感到惊讶DevOps。Devops和旧的敏捷性和瘦营地也出现了。
在培训认证方面,Exin DevOps Master是国际认证培训;其他公司和组织也在DevOps工具链上进行培训。这些培训的重点是技术实践,并着重于末端到末端组装线的构建。从DevOps的职位招募,我们可以看到与DevOps工程师有关的职位越来越多。在职位要求下,DevOps的技能已成为奖励。与DevOps相关的工具的技能也可能成为简历的亮点。在IT行业,无论是开发还是操作和维护团队,他们都开始学习和接受。
根据我对DevOps制造商的观察,它在过去三年中显示出爆炸性的发展。我将它们分为三类:
目前,大多数国内企业逐渐开始关注DevOps,大规模的传统企业逐渐开始从各个角度制造飞行员和尝试。飞行员的角度和方向是不同的。有些是从基础基础架构的容器化开始的,有些则是从装配线交付的自动化开始的;通常,它仍在初中,并且没有大规模的系统促销。
总而言之,当前的DevOps开发阶段仍处于起步阶段。这就像2003年左右ITIL/ITSM的状态。因为DevOps已分散,没有独特而权威的上游制造商。理论实践与PK之间的各种争议将终止和解决问题并提高效率。因此,它具有数百朵花的开发条件。我认为,DevOps的实施和实施将不完全依赖传统的大型咨询制造商的咨询。因为它应该在企业内部,在内部驱动器的行动下,它必须成长。它必须为企业提供服务。业务价值流的优化加速了业务价值的产出。以及与工作和责任相关的责任,外部力量很难取代和承担。
在谈论此主题之前,让我们看一下与DevOps相关的工具集的完整图片,如下图所示:
顶级箭头流程图显示了商业服务的全部生命周期:开发协作,软件构建,质量测试,交付部署以及操作和维护。在前三个阶段,传统发展组织的工作内容,后两个阶段基本上可以与操作和维护组织的工作相对应。在每个阶段,都可以将其视为大型分类,还包含这些类别中的几个小类别。这些工具可以分为两种类型:商业软件和开源软件;它们还可以分为SaaS服务类别和内部部署类型。大多数开源工具具有活跃的用户社区和大众基础,这为公司带来了极大的便利。您还可以选择在需要的情况下使用这些开源软件贸易支持。
Docker Container Technology在过去三年中已经出现了,并且连续交付的技术阈值已被最小化。软件生产和供应链的模式和效率已得到完全提高;基于Docker的微服务体系结构的普及和成熟度也日常增加。因此,家庭传统企业尝试了水上Devops和容器技术。在过去两年中的各种技术会议中,我们可以看到中国的各个行业都出现在DevOps先驱的不同方面。他们共享的大多数主题都集中在项目经验上,例如自动化操作和维护,容器化和PAAS平台。
从许多国内DevOps实践中,我们可以看到以下三种技术特别重要且热:
以上三种技术相互补充并具有更深的联系。首先,微服务和连续部署解决了许多传统IT的问题。这些问题都是困难的问题,这些问题已经限制了企业的业务发展很长时间了。到它的快速,轻巧和微型服务的自然特征,容器技术支持连续交付和从不同方面的微服务架构。提供弹性和高速度系统资源以连续交付,环境管理和利用率得到了很大改善。容器的不令人满意的功能还可以更好地支持微服务体系结构。
我将不同技术特征的时代与不同的技术特征分开,并试图通过以下维度比较以下维度和传统方法之间的差异。
我认识和接受的公司实践的参考框架如下,其中包含所需的最佳实践,如下图所示。
(上图来自:Exin Devops白皮书)))
让我们描述这四种支柱类型的最佳实践:
可以看出,DevOps的登陆和促进大型传统企业仍然更加复杂。尽管存在多年的相关最佳实践。但是,价值很容易通过DevOps的值重建从研发到操作和维护的企业的价值。基于我的IT经验,我似乎觉得Devops不能仅靠下降促销。当然,高级领导者的支持仍然是重要和必要的支持条件之一。这也可能需要由中层和基础创新驱动;还必须从长期测试的精益制造实践中学习。简而言之,近年来,DevOps Sports将对IT行业产生更大的影响。
没有这个词,应该是:发展
ying [d?velps]
解释:
n发展,发展,发展。
V开发,发展,发展,发展,发展,发展,发展,发展,冲洗,印刷,增长,增长,发展,发展
短语:
发展并启发其他
扩展信息:
关键词汇用法:开发
v(动词)
1.发展的基本含义是“发展”,它可以指的是一种自然或人为的,逐渐,有序的方式,强调过程缓慢而复杂;它还可以参考自身发展的结果(理论,思想)。
2.开发用于指具有生命的事物,可以指代其适当或可能的改进,也指其发挥其所有潜力的特征。开发有时可以指“细节,顺序”。
3.开发的可以用作体内,也可以用作小于动词的小动词。当用作动词时,名词或代词被用作对象。可用于被动结构。
结论:以上是首席CTO注释给所有人提出的DevOps的特征。我希望这对每个人都会有所帮助。如果您仍然想了解有关此信息的更多信息,请记住收集并关注此网站。