什么是DevOps?微软架构师的回答来了

任何技术和理念都将不能成为解决一切问题的银弹,有的只是权衡和选择



By: Sam Guckenheimer

DevOps是人员,流程和产品的结合,可为我们的最终用户持续交付价值。

“ Dev”和“ Ops”的收缩是指取代孤立的开发和运营来创建多学科的团队,这些团队现在可以与共享的高效实践和工具一起工作。DevOps的基本实践包括敏捷计划,持续集成,持续交付以及对应用程序的监视。图片

进入DevOps

不要害怕DevOps。有些团队是DevOps诞生的。有些实现了DevOps;其他人则对他们施加了DevOps。3什么是DevOps?DevOps为什么重要?为什么现在?您如何成功实现DevOps?这些是我们想要讨论的主题。

了解您的周期时间

让我们从有关软件开发的基本假设开始。我们将通过OODA循环对其进行描述。最初旨在防止战斗机飞行员从空中射出,OODA循环是考虑保持领先竞争对手的好方法。您首先要观察业务,市场,需求,当前用户行为以及可用的遥测数据。然后,您可以针对可能提供的选项进行枚举(也许通过实验)。接下来,您决定要追求什么,然后通过向实际用户交付有效的软件来采取行动。所有这些都在某个周期时间内发生。

图片

成为数据通知者

希望您可以使用数据来告知下一个周期该做什么。许多经验报告告诉我们,大约有三分之一的部署将产生负面的业务结果,大约三分之一的部署将产生积极的结果,而三分之一则没有任何效果。理想情况下,您希望对那些无法推动业务发展的企业迅速失败,而对那些能够支持业务发展的企业却要加倍努力。有时这称为枢轴或坚持不懈。

努力进行有效学习

快速失败或翻倍失败的速度取决于循环所需的时间,或者精简而言,取决于循环时间。您的周期时间决定了您收集反馈以确定下一个循环中发生的情况的速度。您在每个周期中收集的反馈应该是真实的,可操作的数据。这称为验证学习。

缩短周期时间

当您采用DevOps做法时,可以通过较小的批次工作,使用更多的自动化方法,加强发布管道,改进遥测和更频繁地部署来缩短周期时间。6


优化经过验证的学习

您部署的频率越多,您可以进行的实验就越多,则必须进行枢纽或坚持不懈的机会就越多,并且每个周期都需要经过验证的学习。经过验证的学习的这种加速是改进的价值。将其视为您实现的改进和避免的失败的总和。

如何实现DevOps

请记住,目标是缩短周期时间。从发布管道开始。部署一行代码或配置更改需要多长时间?最终,这就是您的速度刹车。

  1. 持续集成推动了正在进行的代码合并和测试,从而导致尽早发现缺陷。其他好处包括更少的时间用于解决合并问题,以及为开发团队提供快速反馈。

  2. 持续向生产和测试环境交付软件解决方案可帮助组织快速修复错误并响应不断变化的业务需求。

  3. 通常使用Git进行版本控制,可使位于世界各地的团队在日常开发活动中进行有效沟通,并与软件开发工具集成以监视活动(如部署)。

    图片

  4. 敏捷计划和精益项目管理技术用于将工作计划和隔离为冲刺,管理团队容量并帮助团队快速适应不断变化的业务需求。DevOps定义为Done的工作软件正在收集针对预期业务目标的遥测。

    图片

  5. 监视和记录正在运行的应用程序,包括用于应用程序运行状况和客户使用情况的生产环境,可帮助组织形成假设并快速验证或否定策略。捕获丰富的数据并以各种日志记录格式存储。

    图片

  6. 公共云和混合云使不可能成为可能。云消除了传统的瓶颈,并使基础设施商品化。无论您是使用基础架构即服务(IaaS)来提升和转移现有应用程序,还是使用平台即服务(PaaS)来获得空前的生产力,云都可以为您提供无限制的数据中心。

    图片

  7. 基础设施即代码(IaC)是一种实践,可实现环境创建和拆卸的自动化和验证,以帮助交付安全稳定的应用程序托管平台。

    图片

  8. 微服务架构被利用来将业务用例隔离成可小型重用的服务,这些服务通过接口合同进行通信。这种架构可实现可伸缩性和效率。

    图片

  9. 容器是虚拟化的下一步发展。它们比虚拟机轻巧得多,可以更快地进行水合作用,并且可以通过文件轻松配置。

    图片

DevOps 起初会痛苦

如果很痛,请经常做。就像去体育馆一样,采取新的练习一开始可能会受到伤害。您练习新习惯的次数越多,他们越容易。就像在健身房训练一样,先锻炼大块肌肉,然后再锻炼小块肌肉,首先采用影响最大的方法,并进行交叉训练以产生协同作用。

图片

References

1 (Gartner) “Gartner Says By 2016, DevOps Will Evolve From a Niche to a Mainstream Strategy Employed by 25 Percent of Global 2000 Organizations”, http://www.gartner.com/newsroom/id/2999017

2 Gene Kim, Jez Humble, Patrick Debois, & John Willis, The DevOps Handbook, 2016, p. xxi

3 Apologies to William Shakespeare, Twelfth Night

4 Boyd, John, R., The Essence of Winning and Losing, 28 June 1995 a five slide set by Boyd. See also Adrian Cockcroft, http://www.slideshare.net/adriancockcroft/speeding-up-31799721

5 Kohavi et al. http://ai.stanford.edu/~ronnyk/ExPThinkWeek2009Public.pdf

6 Eric Ries, Lean Startup


猜你喜欢

转载自blog.51cto.com/15127513/2657972