行业新闻

云计算时代,你所不了解的 DevOps

日期:2019-12-09

在本文中,咱们评论了怎么从更高的层次快速了解DevOps,并介绍了预备改动文明的实践。咱们将评论DevOps的方针以及怎么取得安排办理层的支撑,为DevOps的概念奠定根底。咱们将尝

在本文中,咱们评论了怎么从更高的层次快速了解DevOps,并介绍了预备改动文明的实践。咱们将评论DevOps的方针以及怎么取得安排办理层的支撑,为DevOps的概念奠定根底。咱们将测验从根本上引进DevOps实践,使运用程序生命周期办理变得简略高效。

AI人工智能网

DevOps不是一个结构、东西或技能,了解这一点十分重要。它更与安排的文明相关。DevOps也是人们在安排中运用预界说流程和主动化东西的一种办法,曾经进日常作业功率,削减人工操作。

为了了解DevOps的重要性,咱们将在本文中包括以下主题:

1.1 devo PS的必要性

每一个巨大的愿望都来自一个愿望家。永久记住,你的力气、耐性和热心能够让你抵达星星和月亮,改动国际。

革新是日子的规律,也适用于安排。假如任何安排或个人只看曩昔或现有的办法、文明或实践,他们必定会错失未来的最佳实践。在充满活力的信息技能国际里,咱们有必要跟上技能立异的脚步。

咱们能够参阅乔治·萧伯纳的名言:

没有改动就不或许取得行进,不能改动自己的主意,也不能改动任何事情。

现在,咱们注重运用程序生命周期办理办法的改动。重要的是,咱们真的需求这种改动吗?咱们真的需求阅历革新的苦楚吗?

答案是必定的。

人们或许会说,这种商业或文明革新不是强制性的。

赞同。

凭借图1-1,让咱们了解现代国际中安排在运用程序生命周期办理中面对的难点。

图1-1

考虑到业务中不断改动的办法和竞赛环境,改善运用程序生命周期办理是重中之重。

在现代,哪些要素能够协助咱们改善运用程序生命周期办理?

是的,云核算改动了游戏规矩,为许多立异解决方案和立异打开了大门。让咱们来了解云核算的真实意义,以及DevOps和主动化等术语在企业中的重要作用。

1.1.1云核算概述

从核算革新来看,云核算是下一个合乎逻辑的进程。从传统数据中心和虚拟化到混合环境、私有云、公共云和混合云服务,云核算是一种按需向云顾客供给多租户或专用核算资源的核算类型。云核算有许多不同的风格,包括不同的云布置模型和云服务模型。最重要的是它的定价办法——现收现付。

云布置模型是布置云资源的一种办法。

1)私有云:私有云由防火墙后专用于特定安排的现场云资源组成。

2)公共云:公共云由一切安排和个人都能够运用的云资源组成。

3)混合云:混合云由云资源组成,可用于一组爱好相似或需求类型相似的安排。

4)社区云:社区云由结合两种或多种布置模型的云资源组成。

云服务模型描绘了怎么向各种客户供给云资源。

云服务办法包括:根底架构即服务,一种纯根底架构,云客户或终究用户能够拜访和操控虚拟机;为了供给运转时服务,云服务供给商供给并办理运转运用程序所需的一切软件装置和装备渠道——渠道即服务;云服务供给商供给整个运用程序,并担任根底架构和渠道的软件即服务。

近年来呈现了许多服务模型,可是IaaS、PaaS和SaaS是依据国家标准和技能研究所的界说,如图1-2所示。

云核算有一些重要的特性,比方多租户,相似于电力或天然气的现收现付办法。它供给按需自助服务和资源池,曾经进核算、存储和网络资源的运用率,依据需求快速扩展和缩短资源,以及可测量的计费服务。

多年来,不同云布置模型的运用跟着用例而改动。开始,公共云用于非要害运用程序,而私有云用于注重安全性的要害运用程序。跟着时刻的推移,混合云和公共云的运用以及对云服务供给商供给的服务的体会和决心不断开展。相同,不同云服务模型的运用因用例和灵活性而异。IaaS在前期最受欢迎,但PaaS以其成熟度和主动扩展、对多种言语的支撑以及端到端运用程序生命周期办理东西的易用性位居第二。

图1-2

1.1.2 DevOps概述

DevOps与开发团队和it运营团队之间的协作相关联,以比现有办法更有用地办理运用程序生命周期的安排文明、流程和技能。在咱们的作业中,咱们倾向于依据办法从相似的问题或应战中找到可重用的解决方案。

图1-3

许多年后,成功和失利的试验、最佳实践、主动化脚本、装备办理东西和办法现已成为DevOps文明不可分割的一部分。

DevOps协助界说规划办法、开发办法、测验办法、装置办法、环境办理办法、装备办理办法、运用程序布置办法、反应搜集办法、代码改善办法和立异办法。

以下是DevOps实践的一些显着优点。

DevOps是一系列立异,以高效的办法集成开发和运营团队,包括继续构建集成、继续测验、云资源供给、继续交给、继续布置、继续监控、继续反应、继续改善和继续立异,并依据灵敏办法更快地交给运用。文明的开展不或许一夜之间完结。这需求很长时刻。可是,关于终究什么是DevOps,依然存在概念上的紊乱。人们常常把个人的继续集成或装备办理实践看作是DevOps实践。这就像瞎子接触大象。如图1-4所示,每个人都把被接触的部分视为整个大象。

图1-4

可是,DevOps不只仅是开发和运营团队。在现有文明的开展中,它触及测验团队、业务剖析师、修建工程师、主动化团队、云团队和许多其他利益相关者。

DevOps与安排文明没有太大不同。他们有一起的价值观和行为特征。他们需求调整心态和流程,以习惯新技能和东西。

开发和运营团队面对的应战

正是由于实践中的一些应战,DevOps才呈现出上升趋势,成为一切信息技能相关评论的热门。

开发团队面对的应战

开发人员巴望选用新技能和办法来解决问题。可是,他们面对许多应战。

竞赛剧烈的商场给及时交货带来了压力。

他们有必要担任出产安排妥当的代码办理和新功用的完结。

发布周期一般很长,所以开发团队有必要在运用程序布置终究发作之前做出假定。在这种情况下,修正在模仿或出产环境中布置期间呈现的问题需求更多时刻。

运营团队面对的应战

运营团队总是当心运用资源改动、新技能或新办法,由于它们需求稳定性。可是,他们也面对许多应战。

资源竞赛:很难应对日益增长的资源需求。

从头规划或调整:这是在出产环境中运转运用程序的需求。

确诊和纠正:当运用程序布置与外部国际阻隔时,他们应该确诊和纠正问题。

信息技能团队面对的应战

信息技能团队为每个团队供给运营所需的资源。

根底设施装备:为根底设施和运转时环境供给恰当的装置软件包。

装备办理:依据东西或技能的可用性晋级现有的根底设施或软件包。

考虑到开发和运营团队面对的一切应战,咱们应该怎么改善现有流程,运用主动化东西来行进流程功率,并改动人们的思想办法?鄙人一节中,咱们将学习怎么在安排中开展DevOps文明,曾经进功率和有用性。

1.2怎么开展DevOps文明

低效的评价、长时刻进入商场等问题导致了瀑布模型的改动,导致了灵敏模型。文明进化不是一个能够在固定时限内或一夜之间完结的进程。这或许是一个逐步的分阶段进程,能够在不依赖于其他阶段的情况下完结。

咱们能够在没有云资源分配的情况下完结继续集成,在没有装备办理的情况下完结云资源分配。咱们也能够完结接连测验,而不需求任何DevOps实践。图1-5显现了DevOps完结的不同阶段。

图1-5

1.2.1灵敏开发

灵敏开发或依据灵敏的办法对运用程序构建十分有用。这种办法涣散权利,鼓舞互动,注重可行的软件,客户协作——运用反应来改善后续进程——并以有用的办法呼应改动。

灵敏开发最吸引人的优点之一是在短时刻内继续交给。经过这种办法,灵敏的运用程序开发办法、技能改善、破坏性立异和办法在开发和运营团队之间产生了距离。

1.2.2 DevOps

DevOps正企图经过开展开发和运营团队之间的伙伴关系来补偿这一距离。DevOps ActIons着重软件开发人员和it运营人员之间的交流、协作和集成。

DevOps经过主动化和编列改善进程促进协作并促进协作。换句话说,DevOps本质上是将灵敏活动的继续开发方针扩展到继续集成和分发。DevOps运用云解决方案将灵敏实践与流程相结合。灵敏开发和测验办法协助咱们完结运用程序的继续集成、开发、构建、布置、测验和发布的方针。

修建主动化

主动化构建运用构建主动化东西,如Gradle、Apache Ant和Apache Maven,来协助咱们创立运用程序构建。

主动化构建进程包括将源代码编译成类文件或二进制文件,供给第三方库文件引证,供给装备文件途径,将类文件或二进制文件打包成包文件,履行主动化测验用例,在本地或长途核算机上布置包文件,以及削减包文件创立中的手动作业。

接连累计

简而言之,接连集成是一种软件工程实践,在这种实践中,开发人员的每次签入都经过以下任何一种办法进行验证。

“拉动”机制:在方案的时刻点履行主动化构建。

推送机制:当更改保存在存储库中时,履行主动构建。

在此进程之后,对源代码库中的最新更改履行单元测验。继续集成是一种盛行的DevOps办法,它要求开发人员每天几回将代码集成到代码库中,例如Git和SVN,以验证代码的完整性。

然后,主动化构建验证每次签入,以便团队能够尽早发现问题。

装备项是公司同步开发文件归档的基准。假如没有杰出的装备项和光盘完结,开发项目就无法在安排中完结。

云配给

在本章的前面,咱们现已介绍了云核算的基本常识。云供给打开了以代码办法构建的大门,使得整个进程极端高效,由于咱们在很大程度上有触及人工干预的主动化进程。

现收现付的计费办法使所需资源愈加实惠,不只关于大型安排,关于中小型安排和个人也是如此。

云装备有利于改善和立异,由于曾经的资源束缚从本钱和保护的视点阻止了安排的进一步开展。一旦咱们在根底设施资源方面有了灵活性,咱们就能够考虑主动化运用程序运转所需的软件包的装置和装备。

结构办理

装备办理体系的改动,更具体地说,服务器运转时环境的改动。咱们能够在商场上运用许多东西来完结装备办理。盛行的东西包括厨师、木偶、安西布尔、盐等。

让咱们考虑一个办理相同类型的多个服务器的比如。

例如,咱们需求在每台服务器上装置Tomcat。假如您需求更改一切服务器上的端口、更新某些软件包或向某些用户供给权限,该怎么办?这种情况下的任何修正都是手动的,即简单犯错的进程。由于一切服务器运用相同的装备,所以能够运用主动化。

接连交货

接连交给和接连布置是可交换的术语。可是,两者之间仍有一些纤细的差异。

继续交给是在任何环境中主动布置运用程序并供给继续反应曾经进其质量的进程。接连交给和接连布置中的主动化办法不会改动。可是同意程序和其他非有必要细节或许会改动。

继续测验和布置

接连测验是端到端运用程序生命周期办理进程中十分重要的阶段,包括功用测验、功用测验、安全测验等。

硒、Appium、Apache JMeter和许多其他东西也能够用于相同的意图。另一方面,接连布置是包括出产环境最新改动的运用程序的布置。

接连监督

继续监控是端到端交给装配线的支柱。开源监控东西就像冰淇淋勺的头部。

如图1-6所示,简直在每个阶段都树立了监控,十分希望取得一切进程的透明度。这也能够协助咱们快速修正毛病。监测应该在一个深思熟虑的方案下进行。

图1-6描绘了接连办法的整个进程。

咱们有必要了解,这是一个分阶段的办法,没有必要一次完结每个阶段的主动化。一次挑选一个DevOps实践,完结并了解它的优点,然后完结另一个更有用。

这样,咱们能够安全地评价安排文明改动带来的改善,并消除运用程序生命周期办理中的手工劳动。

图1-6

1.3 PPT的重要性——人员、流程和技能

PPT在任何安排中都是一个重要的词。等等。咱们不是在议论幻灯片演示。在这里,咱们注重人员、流程和东西/技能。让咱们找出为什么这些要素对改动任何安排的文明都很重要。

1.3.1人

引证杰克·克兰菲尔德的话:

不管周围发作什么,成功人士总是活跃看待日子。他们注重曩昔的成功而不是失利,注重下一步让他们更挨近方针,而不是日子中的其他搅扰。

你为什么说人很重要?这是一个风趣的问题。假如咱们想用一句话来答复,那就是:由于咱们企图改动文明。

那又怎样?

人是任何文明的重要组成部分。只要人们才干推进文明革新或改动自己,以习惯新的进程,界说新的进程,学习新的东西或技能。

让咱们用改换方程来了解。

依据维基百科,大卫·格雷彻在20世纪60年代前期发明了革新的方程式。凯茜·丹尼米尔在1980年完善了对手的程序。这个等式供给了一个模型来评价影响安排革新方案成功概率的比较优势。

格雷彻的版别是:C= >X,其间C=改动,A=对现状的不满,B=希望的明晰状况,D=到达抱负状况的实践进程,X=改动的本钱。

丹内米勒的版别:研制,研制和研制,其间研制,研制和研制有必要在安排革新发作之前就存在,:D=对现状的不满,研制=对或许方针的愿景,研制=完结愿景的开始几个具体进程。假如这三个要素的乘积大于电阻,那么改动很或许成功。

本质上,这个公式标明,有必要对现有的业务或流程、新趋势、技能和商场方案的立异愿景以及为完结这一愿景而采纳的具体进程感到不满。

关于改动方程的更多细节,你能够拜访维基百科网站:https://en.wikipedia.org/wiki/formula为改动#引证_注释-神话-1

作为经历共享,我以为训练师习惯新文明是十分重要的。这是一个需求耐性的游戏。咱们不能一夜之间改动人们的思想办法。在改动文明之前,咱们需求了解。

业界常常看到,文明革新始于德文普常识或德文普工程师,但在抱负情况下,这些不该该是“外国产品”,而应该逐步改动现有环境,并在其间训练人员来操控阻力。咱们不需求一个专门的开发团队,咱们需求开发人员、测验团队、主动化完结人员和云或根底架构团队之间更多的交流和协作。

让每个人都了解对方的痛点是一个重要的进程。在我作业过的安排中,咱们习惯于具有一个杰出中心来办理新技能、立异或文明。作为主动化完结者和DevOps团队的成员,咱们应该只扮演促进者的人物,而不是孤立的“孤岛”之一。

1.3.2流程

汤姆·彼得斯有一句名言:

简直一切的质量改善都来自于规划、制作...布局、流程和程序。

在处理文明开展时,质量极端重要。咱们需求进程和战略来以正确的办法完结作业,并标准化每个项目,以便次序、束缚、规矩等。为了衡量成功或失利,全面界说了的操作。

咱们需求为以下使命树立一个流程。

灵敏规划。

资源规划和配给。

装备办理。

主动化中运用的云资源和其他东西的依据人物的拜访操控。

编程言语的静态代码剖析规矩。

测验办法和东西。

问题办理。

这些进程关于衡量德文郡文明开展的成功也很重要。

1.3.3技能

史蒂夫·乔布斯有句名言:

技能并不重要。重要的是你对人有决心。他们十分优异和聪明。假如你给他们东西,他们能够做大事。

科学技能协助人们和安排发明主意,完结立异,一起改动文明。没有技能,很难在日常主动化操作中完结速度和功率。云核算、装备办理东西和构建管道在资源分配、装置和运转时环境以及编列方面十分有用。它们从根本上行进了运用程序生命周期办理不同方面的作业速度。

1.4为什么DevOps不完整与东西相关?

是的,东西什么都不是。它们不是任何安排文明革新的重要要素。原因很简略。不管咱们运用哪种技能,咱们都有必要施行继续集成、云资源分配、装备办理、继续交给、继续布置、继续监控等。

依据类别,能够运用不同的东西集,可是一切东西都履行相似的操作。东西或许履行不同的操作,但结果是相同的。表1-1按类别列出了一些东西。

表1-1

让咱们看看在不同操作的不同阶段运用的不同东西。这或许会因不同安排中的环境数量或DevOps实践的数量而异,如图1-7所示。

图1-7

假如咱们需求依据不同的DevOps最佳实践对东西进行分类,咱们能够将它们分为开源和商业。表1-2显现了一些比如。

表1-2

1.5 DevOps评价问题

DevOps是一种咱们现已十分了解的文明。可是,在完结主动化、拟定流程和开发文明之前,咱们有必要了解安排文明的现状,以及是否有必要引进新的流程或主动化东西。

咱们有必要十分清楚,咱们需求的是行进现有文明的功率,而不是引进文明。

依据特定的运用程序创立要问询的问题类别并取得答案。

这里有一些问题的比如。

1.你遵从灵敏准则吗?

2.你运用源代码库吗?

3.你运用静态代码剖析东西吗?

4.你运用构建主动化东西吗?

5.您运用现场根底架构仍是依据云的根底架构?

6.您是否运用装备办理东西、脚本来装置运用程序包或运转时环境?

7.您是否运用主动化脚本在出产和非出产环境中布置运用程序?

8.您是否运用编列东西或脚本进行运用程序生命周期办理?

9.您是否运用主动化东西进行功用测验、负载测验、安全性测验和移动测验?

10.您是否运用运用程序和根底架构监控东西?

一旦问题预备好了,预备好答案,并依据每个答案对它们进行排序。

为了保证结构的灵活性,即便咱们更改了任何类别的问题,咱们也能够主动办理它。

评级后,不同的条件和智能被引进结构,以获取答案并核算全体评级。

创立每个分类的终究等级,并依据终究等级创立不同类型的图表,以便于了解。在这里,留意安排在运用程序生命周期办理的各个领域的专业常识是很重要的。这将为评价结构供给一个新的层面,以添加情报并行进其功率。

1.6总结

在这篇文章中,咱们为这本书设定了许多方针。咱们引进了继续集成、云环境中的资源分配、装备办理、继续交给、继续布置和继续监控。

规划方针是说明愿景的第一步。

曩昔,咱们现已看到云核算怎么改动了立异的认知办法,现在它现已成为一种有用的解决方案。咱们还扼要介绍了开发运维的必要性和各种开发运维实践。在改动安排现有文明的进程中,人员、流程和技能也很重要。咱们企图指出它们的重要性。东西很重要,但它们不能就此停步。能够运用任何东西集,而且不需求特定的东西集来更改区域性。咱们还扼要评论了DevOps的评价结构,它将协助您沿着文明革新的路途行进。