简介:今天,首席执行官Note将与您分享Microsoft Devops可以做什么。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
目前在国外,互联网巨头,例如Google,Facebook,Amazon,LinkedIn,Netflix,Airbnb,传统软件公司,例如Adobe,IBM,Microsoft,SAP等,或非核心网络业务公司,例如Apple,Wal -Mart -Mart,索尼电影娱乐,星巴克他们正在使用DevOps或提供相关的支持产品。那么DevOps到底是什么?
DevOps是开发和运营的结合,它突出了软件开发人员与运营和维护人员之间的沟通与合作。通过自动化过程,软件构建,测试,释放更快,频繁且可靠。
DevOps的概念于2009年在欧洲加热,诞生于传统的操作模型的痛苦。
DevOps是填补开发与操作和维护端之间的信息差距,以改善团队之间的协作关系。但是,有必要澄清有从开发到操作和维护的测试链接。DEVOPS实际上包括三个部分:开发:开发:,测试,操作和维护。
换句话说,DevOps希望在软件产品的交付过程中开放IT工具链将使每个团队降低时间损失并更有效地工作。专家总结了以下DevOps功能图。良好的闭环可以大大增加总体输出。
从上面的角度来看,我相信每个人都对Devops有一定的了解。除了接触工具链外,作为一种文化和技术的方法,Devops还需要公司的文化变革。回头看一下The The The R&D模型软件行业,我们可以发现大约有三个阶段:瀑布发展,敏捷开发和Devops。
DevOps早在九年前就提出了,但是为什么他们在过去两年中开始受到越来越多的公司的关注和时间?- 服务体系结构概念和容器技术使DevOps的实现更加容易。可以广泛使用计算能力和云环境的开发使产品的快速开发。
当今世界变化的速度与过去不同,每当经历了颠覆性技术革命时,它就会为世界带来深刻的变化。大数据,云计算,人工智能,VR/AR和区块链等。出现技术促进了世界的持续变化。如何处理这种VUCA时代,以便我们可以在环境变化时迅速做出反应?
在一些关于圣人王的著名谚语中,他主张“知识和行动的统一”。流行的讲话是结合理论和实践。当我们意识到DevOps的登陆时,我们还必须遵循“结合理论与实践”的方法。理论是我们工作的指导意识形态,实践是一种做事的特定方法。下一步以促进DevOps的实践进行练习。
首先,我们仍然必须回到DevOps。如果您忘记了,您可以回到温暖,包括我总结的DevOps公式。
实际上,DevOps的核心思想是:“快速交付价值,灵活响应”。基本原理如下:
DevOps的一个巨大好处是它可以有效地交付,这正是其最初的意图。Puppet和DevOps研究与评估(DORA)主持了2016年DevOps调查报告。根据全球4,600家IT公司的技术工人的统计数据,高效的公司平均每年完成1460个部署。更快的速度,服务恢复速度的速度更快24倍。在工作内容的条款中,将其用于计划或重复工作需要多22%这里的效率不仅是指公司的产出的改善,而且是指员工工作质量的提高。
Devops的另一个优点是改善公司的组织文化和员工的参与感。雇员变得更加有效,更加满意和满足;调查表明,高效员工(雇员发起人得分)的员工的净建议价值更高,也就是说,对公司的认可更多。
快速部署实际上可以帮助更快地发现问题。该产品的交付速度更快,团队可以更快地从用户那里获得反馈,以便更快地对应它。此外,DevOps带来的更改小步骤相对较小,并且问题的偏差不会太多。每次都很大,并且相对容易修复。
因此,被认为速度意味着危险。此外,滞后软件服务的发布并不一定完全避免问题。在竞争日益激烈的IT行业中,这可能会错过软件发布的时机。
技术的发展使DevOps变得更加合作。在早期,尽管每个人都意识到这个问题,但这是“理想是满意的,但现实非常明智”。DevOps的实施可以基于新兴的容器技术;自动操作和维护工具木偶,盐stack和Ansible也可以扩展。它也可以建立在传统的PAAS制造商(例如Cloud Foundry和OpenShift)上。
IT行业越来越多地与市场的经济发展联系在一起。专家认为,它将有一个支持中心成为利润驱动的中心。实际上,这种变化已经开始,这不仅反映在Google和Apple等大型公司中,而且在传统行业中,例如Uber,例如Uber出租车业务,酒店连锁行业的Airbnb,Amazon的书籍经销商等等。
DevOps 2016报告给出了计算操作和维护成本的计算公式:
对于工程师而言,他们也是Devops的受益者。Microsoft工程师Scott Hanselman说:“开发人员最强大的工具是我们拥有的最强大工具,因为开发人员是自动化的。”工具链的开放允许开发人员能够传达工具链,使开发人员能够传达工具。交付软件时,完成生产环境的构建,测试和操作;就像亚马逊的副总裁和CTO Werner Vogels所说的令人印象深刻的话:“谁发展和运行。”(您建造它,运行它)
如上所述,打开了工具链,因此自然需要准备工具。工具类型和相应的不完整汇编的编译如下:
在选择工具方面,有必要结合公司的业务需求和技术团队条件。
DevOps是否成功,公司的组织是否有利于协作是关键。开发人员,运营和维护人员可以很好地交流并相互学习,以具有高生产率。开发人员。ITV于2012年开始在DevOps上登陆。Clark是一般平台的负责人,在2016年伦敦企业DevOps峰会上接受了采访。什么是按需提供工程师,不做额外的工作。工程师使用通用平台(即通过工具链)来获得更好的一致性和更高质量。此外,DevOps还提高了工程师的个人要求。许多专家还认为,招募出色的才能也是一个挑战。
DevOps正在增长,尤其是在大型公司中:调查发现,DevOps的接受程度已大大增加。74%的受访者接受了DevOps,去年的这一比例为66%。目前,有81%的大公司已经开始接受DevOps,并且中小型企业只能接受70%。
那么,有些公司使用DevOps?Adobe,Amazon,Apple,Airbnb,eBay,Etsy,Etsy,Facebook,LinkedIn,Netflix,NASA,NASA,Starbucks,Target(Pan -european Real -Time自动清算系统),Walmart,Sony,Sony等
首先,大型企业正在接受自下而上的Devops,其中哪些业务部门或部门(31%)和项目和团队(29%)已实施了DevOps。但是,只有21%的大型企业在整个公司中都采用了Devops。
其次,在工具级别上,DevOps工具的数量显着增加。Chef和Puppet仍然是最常用的DevOps工具,使用率的32%。Docker是最快的生长工具,持续时间超过了Ansible的量也大幅增加,从10%增加到20%。
调查还发现,不到一半(43%)的公司使用厨师,木偶,既是盐或盐等配置工具;但是使用配置工具的公司更有可能同时使用多种工具。25%的受访者使用两个或更多的配置工具,只有一种工具的比例为18%。在它们中,厨师和木偶是最常见的。使用的组合:67%的使用厨师组织也同时使用木偶。同样,使用木偶的67%的组织也同时使用厨师。
首先,对DevOps概念的理解仅保持“使用竹制自动部署服务到指定环境”。当我们开始尝试促进Devopsthe整合过程时,第二个是面对当前项目的痛点,面临管理混乱的痛苦点。但是正如孔子律师事务所所说:“设计的设计设计系统等同于组织之间的沟通结构。平台(平台),流程和人员的有机整合。
根据在Martinfowler博客中发表的DevOps文化的观点(如下所示),他认为DevOps Culture中最重要的原则是责任所有权和质量方向。在这方面,我认为我们的公司具有自然优势。在项目开发的早期阶段,包括当前的项目运营周期,大部分的操作和维护工作都已经接管了。可以说,我们永远不会缺少敢于承担责任的“勇士”。同时,在我们公司急剧扩张的当前情况下,它加强了流程管理,以确保这种文化的延续。同时,它可以在人员流动中动态增强文化取向。这是DevOps指导的重要组成部分。
工具=平台+进程。首先,该平台最重要的意义是在企业内进行标准化过程。平台固化的每个过程都可以用于解决某些实际问题。这将形成一个特征:
赋予平台能力,每个人都可以通过相同的操作获得相同的结果。这样,交叉域转移和专家将被平台取代。当一件事不再取决于个人时,将大大减少废物等待,并且平台将成为组织内部功能的集合。
任何方法都不会结合企业的实际状况来分析它是流氓(孔子定律)。那么,哪些问题可以为我们公司的实际状况建立该系统?在讨论开发儿童鞋子的问题时,他们可以看到他们经常处于森林中看不见的树木状态。整个“森林”通常由几个人掌握。一组流程,以实现开放技术和使用data.question.question.question。同时,这也符合“三个步骤工作方法”中流量原理。只有通过简化复杂的流程,我们才能看到有机会让更多的人看到森林。目前,与生态结合,软件交付的效率和质量已成为当今企业的核心价值和核心竞争力。作为软件工程的第三次革命,DevOps在以下两个方面总结了其价值:
所有软件交付过程的手动链接是可以在将来进行优化的方向。Devops提倡职责,并且需要在工具中内置不断改进,并通过工具指导实践。如果您只需将离线过程移至在线执行中,您无法使用DevOps的实际价值。所有这些都无法解决人的问题。如此聪明的道路无法解决企业的基本问题。这次,需要出现文化。
总而言之,Devops中的文化和工具本身就是两个方面。我们既不能盲目地追求工具来确定工具理论。气氛。我们要做的是关注价值,现状,交互式过程和反馈,协作和可视化,自动化和连续优化,极简主义原则和极简主义原则和极简主义的原则和注意实践。
敏捷的管理不仅对研发敏捷,而且要敏捷,更少的功能,专注于用户价值并持续验证,这已成为产品需求管理的核心思想。
此外,通过“研发集成过程”图标,我们还可以看到我们公司的weizhi。目前,我们使用JIRA的查看表格进行需求管理。这个过程在敏捷业务管理方面具有良好的自然优势。我们需要做的是打开产品并开发通信障碍。在我们的日程安排中,没有具体的实施计划。目前,只给出了Bizdevops的核心概念:
关于持续交付功能是我们初始阶段的重点阶段。这也是开发武术真正使用的地方。首先,我们面临第一个问题。在开始做DevOps之前,有一些出色的开源工具用作支持点,Jira,Bamboo,Bitbucket。这些工具在一定程度上减少了我们的初始工作量。在随后的项目计划中,我们制作了基本存储,权限,DEVOPS流程和其他多方调查。当前的存储和权限等基础架构都具有成熟的开源解决方案。以及该项目的当前项目状态。我们选择开发一个自我开发的平台。
1.版本控制,变更管理
主要的核心想法是:版本的标准化,将所有内容纳入版本控制,可以追溯到整个过程和单个受信任的数据源。一组标准化的规则和行为习惯可以在协作过程中降低交流成本,一次做事,这对于标准和规格也是重要的意义。
2.连续构造和连续集成,部署和释放的方式
主要的核心思想是:以自动方式完成从项目编译到发布的过程
3.环境构建,元数据和初始数据管理的管理
目前,这是我们项目版本中的瓶颈。配置和初始化数据应包含在版本控件中,并且标准业务过程同时开发;
4.电报和反馈
交付效率,交付能力,交付质量和可视化平台的建立的统计数据。主要指标包括时间,前开发时间,前开发时间,发布频率,发布时间,发布时间,交付时间吞吐量,在线缺陷密度和在线缺陷的分布。
5.建造 - 质量,保证测试
内部结构质量有两个核心原则:
在近4个月的DevOps实践中,我们主要做了三件事,即某些项目的竹子,基础设施的构建以及DevOps平台的开发。
在最初的时期,我们进行了一些有关DevOps的研究和练习。原则上,根据现有的技术结构,尽可能多地使用开源项目
开源还是自我开发?这始终是一个需要不断的权衡和选择的问题。在此之前,我们谈到了我们需要做什么。当开源组件无法涵盖我们当前的流程时,自我开发的平台自然会在线。
基于上图,我们可以看到FlowDevops平台的基本交互和流动。平台开发现在已经体验了四个小版本的迭代,主要包括以下功能:
值得一提的是,我们选择了Jinja2作为配置模块的统一管理,以及各种环境公共组件的公共组件的地址存储和平台确保服务离线部署中各种连接错误的问题。,对业务的入侵很小,这符合我们在短期内提高部署效率的期望。
的确,DevOps的构建在短期内做了很多工作,但是仍然存在一定程度的问题。包括以下方面:
根据全球云计算峰会成熟模型的估计
在我们的Si Yun中,我们似乎非常遥远,奇怪的技术堆栈,各种反直觉失败。但是,为什么我仍然坚持认为Yunnian是将来我们将在未来建立DevOps的最佳实践,并开发基本设计?引用CNCF的官方定义云原生:
关键字包括开源软件,微服务应用程序,容器化部署和动态布置。尽管我们当前的某些业务方案具有与传输相关的瓶颈,但容器化可能会带来更大的存储量,但是从宏观角度来看,这并不是大多数项目的现状,而我们更多项目的核心是,数据的数量是大,业务和配置很复杂,依赖项模块很大。Yun Chuestang应用程序与DevOps是完美的匹配。它具有高可用性,易于维护,高扩展以及halo.complex的连续交付,并依靠模块的现状。
这就是为什么我坚持在基础设施构建中积累云本地技术解决方案的原因。云本地技术解决方案,我一直认为它可以大大促进我们公司的效率建设和技术开发。例如,如果我们在Yun的本地解决方案技术中还不够容器中的大数据,但是当我们构建一个更有效的操作集成过程时,将会有更多的数据。尝试和错误的资金,这颗恒星正在等待我们探索。
我们都期待着完美,但是在大多数情况下,一切都不是完美的。软件以及DevOps都是如此。我们能做的是基于每个反馈,一些改进过程和反思的改进一次又一次地。在不断的持续改进中,它可能永远不会是完美的,但是正如莉莉·汤姆林(Lily Tomlin)的经典著名谚语是一位著名的美国女演员:成功之路是始终建设的。成功的道路始终在建设中)。
操作和维护开发工程师的职责是:负责日常运营和维护工作;促进和开发有效的自动操作以及维护和管理工具,以提高运营和维护工作效率;制定并优化操作和维护解决方案,包括但不限于灵活的灾难耐受性,智能调度,弹性扩展和反攻击;探索和研究新的操作和维护技术。
运营和维护开发工程师的就业要求是:1。学士学位或以上,年龄在18岁以上;2.熟悉常见应用服务的配置和优化;3.可以熟练使用常用的监视软件;4.成为好责任感;5.对工作安排和身体健康。
这是最近的研究方向。我想在寻找工作时找到这样的操作和维护工作,但是DevOps是什么?其他人应该向我解释什么?因此,我阅读了文章并记录有关此术语的想法。
So -called DevOps是一种集成,操作和维护软件开发以及操作和维护的方法,它也是小步骤和快速运行的开发模型。也就是说,大需求分为小目标以完成,同时,它尽可能稳定。特定的操作模式分为五个步骤,即连续开发,连续测试,连续部署,连续集成和连续监视,然后总结监视监视情况。然后,它将再次开始一轮开发测试部署。...然后将形成,如下所示,如下所示,连续闭环。
对于软件开发人员而言,DevOps是敏捷开发+自动化的操作和维护,对于操作和维护人员,尽可能尽可能多地练习自动操作和维护,同时参与开发工作。工程师的条款应该是一个很好的测试(至少我已经工作了两三年,而且我遇到的操作和维护工程师,没人愿意开发)。
我还看到一些前端工程师也在学习DevOps。似乎DevOps的发展对Devops非常热情。对于操作和维护工程师来说,主要目标是学习Docker并学会使用这些码头来练习DevOps操作和维护开发工具。要实现DevOps中提到的连续性,必须构建和使用这些工具。
以下是DevOps实践所需的一些工具(文章中存在文章,以供以后学习)。
(断断续续的想法,记住上一家公司的35年 - 戈德工程师,在我就业的第一天开始阅读整个Devops的逻辑,并总是说该操作和维护将在早晨和晚上更换...但是,我将在每年8个月后辞职,而且我看不到公司的DevOps实践,更不用说使用DevOps相关的工具了……实际上,我一直在考虑它,无论是运营和维护还是开发或开发,它们应该具有相同的角色,即问题,为了解决问题,操作和维护工程师应学会开发和学习代码。
在软件开发过程中,开发人员负责编写代码,然后将代码交给质量检查(质量保证)团队进行测试,然后将最终版本交给了运营和维护团队进行部署。
DevOps是两个开发和操作词的组合。但是,这里的组合不仅仅是合并两个团队,而是从思维和过程中改变,并根据DevOps思想重新确定整个过程的规格和标准。
DevOps既是一种思维方式,也是一种工作方式。作为三个部门之间的沟通,协作和集成的方法,以促进发展,技术运营和质量保证,组织的快速迭代并意识到竞争优势已成为现实。
在DevOps的过程中,操作和维护人员将在项目开发过程中干预开发过程,以了解开发人员使用的系统架构和技术路线,以制定适当的操作和维护解决方案。开发人员还将参与系统部署操作和维护的早期阶段,并为系统部署提供优化建议。
DevOps的实施打破了团队中各种角色的功能障碍,使开发人员以及操作和维护人员可以更好地进行交流和合作,并通过自动化流程更快,更可靠地进行软件开发的整体过程。
结论:以上是向所有人介绍Microsoft Devops可以做什么的主要CTO注释的所有内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。