当前位置: 首页 > 网络应用技术

为什么DevOps这么热(DevOps做什么?)

时间:2023-03-05 17:29:58 网络应用技术

  简介:本文的首席执行官Note将介绍有关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行业产生更大的影响。

  DevOps会变热。

  工具之间的合作可以在软件的生命周期中支持,因此DevOps的应用取决于许多工具。您可以找到GU焦虑症。

  DevOps的目的是缩短开发周期,增加部署频率并发布更可靠的。用户可以通过完整的工具链中的完整工具链来实现零 - 深度集成代码仓库,产品仓库,项目管理,自动测试和其他主流工具。成本迁移并快速练习DevOps。

  DevOps对应用程序的影响:

  (1)与传统的瀑布发展模型相比,使用敏捷性或迭代性开发意味着更频繁的发行版和更少的变化。由于经常进行部署,每个部署都不会对生产系统产生巨大影响,并且不会产生巨大影响该应用程序将以平稳的速度逐渐增长。

  (2)加强释放和协调释放和协调员,以弥合发展与运营之间的技能差距和沟通差距;使用电子数据表,电话会议,即时消息,公司门户网站(Wiki,SharePoint)来确保确保所有相关人员了解变更和合作的内容。

  DevOps的优势是什么?

  有“ 2020年DevOps趋势调查”显示,99%的调查对象表明DevOps对其组织有积极的影响。Devops的优势包括更快,更轻松的发布,团队效率,更高的安全性,更高质量的产品以及更高的团队以及更高的团队以及客户满意度。

  速度

  更频繁地练习DevOps的团队发行了交付结果具有更高的质量和稳定性。允许团队使用自动化工具来构建,测试和交付软件。

  改善协作

  DevOps的基础是开发人员和运营团队之间的协作文化。他们将分担自己的职责并协调工作。这可以提高团队的效率,并消除工作转移和编写为其设计的代码的时间。

  快速部署

  通过提高发行版的频率和速度,DevOps团队可以快速改善产品。快速发布新功能和维修缺陷有助于获得竞争优势。

  质量和可靠性

  诸如持续集成和连续交付之类的练习可以确保正常,安全地更改更改,从而提高软件产品的质量。Monitoring帮助团队实时了解性能。

  安全

  通过将安全性整合到持续集成,连续交付和连续部署管道中,DevSecops已成为开发过程中的积极组成部分。通过将主动的安全审核和安全测试集成到敏捷开发和DevOps工作流程中,可以将安全性植入产品中。

  DevOps不是任何个人的工作,而是每个人的工作。

  从传统的基础架构到基础设施的使用,基础架构,代码(IAC)和微服务,开发和创新速度可以加速,但是增加的操作工作量可能极具挑战性。最好是为自动化奠定可靠的基础,配置管理和持续交付实践,以减轻负担。

  过度的依赖工具将导致团队偏离DevOps的必要基础:团队和组织结构。建立结构,应建立过程和团队,然后确定该工具。

  CI/CD管道的实施或连续集成/连续部署是现代DevOps环境的基石。它弥补了自动化应用程序的开发,测试和部署之间的差距,以弥补开发团队与开发团队之间的差距在本文中,我们将介绍什么是CI/CD管道及其工作原理。

  进入CI/CD管道之前,让我们找出什么是DevOps?

  DevOps是一种软件开发方法,涉及在整个开发生命周期期间持续开发,连续测试,连续集成,软件的连续部署以及对软件的持续监视。这是开发高质量软件并缩短的开发周期的过程所有顶级公司的开发周期,从而提高客户满意度,这是每个公司想要的。

  想学习DevOps吗?有必要先了解其生命周期。LET来看看DevOps的生命周期,并探索IT与各种软件开发阶段之间的关系。

  CI代表连续集成,而CD表示连续交付或连续部署。如上图所示,您可以将其视为类似于软件开发的生命周期的过程

  让我们看一下它的工作原理。上面提到的管道展示并解释了该软件如何沿着生命周期的每个阶段向前移动,直到最终将其传递给客户或部署到生产环境中为止。

  让我们假设CI/CD管道场景。例如:您必须构建Web应用程序并将其部署到在线Web服务器中。Web应用程序。

  最初,开发团队将软件代码提交给版本控制系统(例如git或svn).Next,该代码将进入施工阶段。这是管道的第一阶段。开发人员将其代码引入其中,然后在适当版本标签之后返回到版本控制系统。

  假设我们已经有一些Java程序代码,需要在执行之前构造。来自不同内存分支的代码的特征。通过合并并最终使用编译器来编译整个编译过程。

  施工完成后,我们进入测试阶段。在此阶段,我们将进行各种测试,包括:功能块测试,单位测试和可用性测试

  测试完成后,我们将移至部署阶段,即将代码部署到临时服务器或测试服务器。在此阶段,您可以通过模拟器查看整个应用程序的特定代码和操作状态。

  一旦代码成功部署,您就可以进行另一轮可用性测试。如果一切正常,则可以将代码部署到生产环境中。

  同时,如果任何步骤中存在错误,您可以通过电子邮件将其发送回开发团队,以便他们可以及时进行修理。然后,将新代码推向版本控制系统,让他们返回到管道。

  这个过程再次结束,直到我们完成所有测试和验证,最后部署代码并导入生产环境服务器。

  在这一点上,我们已经了解了CI/CD管道及其工作原理。BELOW,让我们看看Jenkins是Jenkins的内容,如何通过Jenkins部署示范代码以及整个自动化过程。

  CI工具和CI/CD管道中的其他重要性。

  我们的任务是:从开发团队开始将代码投入到生产环境中以实现自动化的整个过程。因此,为了在整个软件开发生命周期中实现DevOps Pipeline的自动化模式,我们需要使用一些相应的自动化工具。

  詹金斯(Jenkins)从动员整个软件交付的过程中为我们提供了各种界面和工具。

  对于首选,我们需要一个git的存储库来使开发团队提交其代码。然后詹金斯开始从此“接管”。工作是为了确保特定工具或特定应用程序的连续集成和交付过程。

  从Git的角度来看,Jenkins采用“拉代码”模式,然后Jenkins转向交付阶段以实现从每个分支的代码提交代码的提交。是Java代码,我们可以使用Jenkins中的Maven等工具来编译代码并实施一系列测试以实现部署。相似,这些测试用例也被Jenkins“监督”。

  之后,将代码转移到Cache Server进行使用Docker进行部署。在一系列单元测试和可用性测试之后,代码“流入”了生产环境。

  Docker是一个虚拟环境,我们可以在其中创建服务器。实际上,创建整个服务器并部署需要测试的工件只需几秒钟即可。

  那么我们如何使用Docker?

  如前所述,通过存储库,我们不仅可以永久存储各种镜子,还可以在几秒钟内构建我们自己的镜像系统,并运行整个群集。此外,您可以随时在任何环境中复制它们。

  手 - 手练习:使用Docker和Jenkins构建CI/CD管道

  步骤1:打开VM中的终端,使用以下命令启动Jenkins和Docker:

  SystemCtl启动Jenkins

  SystemCtl启用Jenkins

  SystemCtl Start Docker

  注意:如果系统显示“特权错误”,请在上述命令之前使用sudo。

  步骤2:在指定端口上打开詹金斯。单击“新项目”以创建新作业。

  步骤3:选择一个免费的类型项目,然后输入项目的名称(我在此处使用Job1),然后单击“确定”。

  步骤4:选择源代码管理,然后单击git存储库。单击应用并保存按钮。

  步骤5:然后单击构建(构建) - 选择执行壳。

  步骤6:一一输入shell命令。此处,它将通过建立存档文件来生成战争文件。之后,它通过“拉动”获得相关代码,并使用maven安装一个软件包。需要安装每个依赖项并编译应用程序。

  步骤7:单击“新项目”以创建新作业

  步骤8:选择自由泳项目并输入项目的名称(我在此处使用Job2),然后单击确定

  步骤9:选择源代码管理,然后单击Git存储库。单击应用并保存按钮。

  步骤10:然后单击构建(构建) - 选择执行壳。

  步骤11:一一输入shell命令。它将进入集成阶段并生成相应的Docker容器。

  步骤12:单击“新项目”以创建新作业。

  步骤13:选择自由泳项目,然后输入项目的名称(我在此处使用Job3),然后单击确定

  步骤14:选择源代码管理,然后单击git存储库。单击应用并保存按钮。

  步骤15:然后单击构建(构建) - 选择执行壳。

  步骤16:一一输入shell命令。它将检查Docker的容器文件,然后将其部署到端口8180。请单击“保存”按钮。

  步骤17:现在单击Job1 -configure。

  步骤18:单击“邮政”操作 - 构建其他项目(构建其他项目)。

  步骤19:输入Job1之后构建的项目名称(这是Job2),然后单击“保存”。

  步骤20:现在单击Job2 -Configure。

  步骤21:单击施工后的操作

  步骤22:输入Job2之后构建的项目名称(这是Job3),然后单击“保存”。

  步骤23:现在,我们将创建管道的视图。请单击“+”。

  步骤24:选择“构建管道视图”,然后输入视图的名称(在这里我命名为CI CD Pipeline)。

  步骤25:选择初始job,我在此处输入Job1,然后单击“确定”。

  步骤26:单击“运行”按钮以启动CI/CD进程。

  步骤27:成功施工后,输入Localhost:8180/sample.text.it可以运行该应用程序。

  在这一点上,我们已经学会了如何使用Docker和Jenkins创建CI/CD管道。

  请记住:DevOps的目的是能够更快,更可靠地创建更高质量的软件,并且还可以促进团队之间的更紧密的沟通和协作。

  DevOps =开发人员+运营商,即开发团队,运营和维护团队已集成。借助DevOps,团队可以定期发布代码,自动部署以及连续集成 /连续交付,作为发布过程的一部分。

  DevOps的概念对于大型应用程序在不同的负载或流量下保持高性能非常有用,并且可以轻松管理软件部署管道。但是如果没有可用的工具,DevOps的概念就很难实现。诸如Terraform,Artifactory,Packer,Docker,Kubernetes等领域,例如Jfrog的Artifactory,可以支持具有不同开发语言的二进制产品管理仓库。

  DevOps并不是一开始,为什么当前的声音变得更大。实际上,原因很简单,这表明市场,即每个软件公司都遇到了问题。DevOps可以帮助解决此问题并为客户创造价值。

  客户有什么问题?每天发行很多次。如果它仍然像以前的模型一样,您的公司可能很久以前就被淘汰了。

  实际上,理解非常简单,就像Dev和Ops像图片一样合作(但是上图中的幽默都用来隐喻实际效果是正确的) - 外观是离婚的。如果您只有一个英亩三分之三,出于各种KPI的原因是正常的。但是,想象一下,如果公司的KPI为:对于开发团队,将在一个月内发布10个版本。对于操作和维护团队,在线环境可靠性为99.99%。明显地,这将使开发团队,运营和维护团队突然变得相反。如果您想快速发布版本,获得质量(测试团队)以及操作和维护团队,因为要在线上,它可能会受到基础架构等各种原因的影响。Besides,操作和维护团队将经过仔细的测试,因为它很容易获得稳定的环境,您为我增加了新的风险,当然我很不高兴。

  由于上面的各种系统,再加上OP的前缀,因此工作量和工作复杂性增加了,因为在软件行业中,由于新事务的出现,它并没有消除一些复杂性。将复杂性从一个地方转移到另一个地方。因此困难正在越来越大。组织结构没有动态,并且概念没有调整。它已经为DevOps的失败种子奠定了基础。此外,提高能力的能力将使这一美好事物与成功更远。

  结论:以上是首席CTO的所有内容都说明了为什么DevOps如此热。感谢您阅读本网站的内容。我希望这对您有帮助。更多关于为什么DevOps如此热,不要忘记此网站上的信息。