简介:许多朋友问有关DevOps从哪里开始的问题。首席执行官在本文中注明将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!
当您看起来敏捷时,DevOps一词无意间出现,您仍然很好奇,当这是什么时,您会发现比例比例还会出现。目前,如果您仍然发现自己不熟悉这个词,则意味着您向您表明您对这个词非常熟悉,这意味着您应该弥补知识。毕竟,如果它们总是经常出现,他们表明它们的相关性很高。
实际上,这不仅仅是敏捷。在CMMI和ITIL中,他们提到了DevOps,这表明我们确实需要对其进行系统的了解。
1. CMMI提到了DevOps
图CMMI
2.关于DevOps的ITIL
各种管理系统实际上都在朝着融合方向发展,它们都需要DevOps的支持,因此您仍然觉得自己不需要认真对待它吗?
如果您想快速有系统地了解DevOps,则可以首先阅读以下书籍:
“凤凰项目”
“连续交付”
“独角兽项目”
“凤凰项目的传说IT操作和维护”
“ DevOps Essentials”
如果您申请DevOps Master认证,则必须阅读“ Exin DevOps Master Whitepaper”。
DevOps是敏捷软件开发和精益生产思想的发展。它应用于IT -end -end -end的价值链,该链的基于现代信息技术,并通过文化,组织和技术变化取得了更大的成功。
这是“ DevOps Essence”中DevOps的定义,定义是严格的,因此通常可以读到我们无法触摸它。Devops实际上是英语单词开发(DEV)和操作(OPS)的组合。和派生,以下“ DevOps功能戒指”是这种破碎部门墙和顺畅交付的非常经典的表达。应用和服务生命周期;强调整个组织合作以及交付和基础设施变化的自动化,从而实现持续整合,持续部署和持续交付。
[图片上传失败...(Image-C93581-165055848432)]]]
DevOps容量环
我们为什么了解它的历史?如果我们只想使用DevOps的某些工程实践,那不是必需的,但是如果您的团队仍然不熟悉这个概念,他们不知道为什么使用DevOps。需要几分钟来了解它。
DevOps起源于敏捷,是在2008年的敏捷论坛上提出的,因此许多人现在认为DevOps是一个敏捷的部分。包括其他人。Gagile相信它包括DevOps,而Devops认为它是其衍生产品。
DevOps的概念在2010年的“ What Is DevOps”的一篇相对完整的描述中描述了。Devops在2013年之后迅速接受了该行业,并源自相关技术的同时开发。2013年,DotCloud启动了Docker项目。同年,Google推出了开源项目Kubernetes,该项目提供了以容器为中心的非部门,扩展和操作和维护平台2015年,Yun的本地概念逐渐成熟,它们的发展有助于DevOps的快速发展。
每个人都可能听说过DevSecops,无论SEC是否安全,您猜是的,即安全性和合规性,这是一个概念,该概念在2016年开始逐渐启动。这是历史的一部分,每个人都可以感兴趣进一步理解。
在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行业产生更大的影响。
自计算机诞生以来,开发和OP的两个字符已经存在,它们本身就是他们出生时的一个。
在早期,计算机使用的范围非常有限。它的硬件生产,软件开发以及日常操作和维护通常来自同一个人或团队。因此,DEV和OPS的两个字符自然集成。
随着计算机使用的扩展,越来越多的行业开始购买计算机以提高效率。个人计算机(PC)的出现已将计算机从传统的计算领域扩展到各行各业。结果,许多独立的计算机软件和硬件供应商诞生于PC时代。进入此阶段后,开发了计算机软件的开发当公司通常开始使用计算机和相关软件来提高其日常运行效率时,通常需要使用计算机和相关软件,将全部 - IT系统操作和维护管理人员通常需要以确保其正常运行时,将自然分离。因此,在此阶段,系统研发人员(开发人员)和操作和维护人员(OPS)实际上实际上在不同的机构中。它们之间的沟通和互动主要取决于产品手册,操作文件和付费支持。为了确保企业中IT系统的稳定操作,操作和维护管理系统(例如ITIL)以OPS为中心形成。
随着系统交付和使用的持续变化,开发和OPS也经历了整合到分裂的过程,并重新融合。可以看出,系统的生产方法实际上与系统交付和使用密切相关与系统生产方法相匹配的哪种交付和用法方法将诞生。
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工程师应该愿意支持内部和外部客户,并且在出现问题时未能消除故障。
结论:以上是首席CTO注释为每个人编写的DevOps相关内容的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?