什么是Devops?

Posted by 瞿广 on Sunday, January 13, 2019

TOC

DevOps是人员,流程和产品的结合,可以为最终用户持续的提供价值。

它不仅仅是流程,它不仅仅是产品或工具,它完全是人员,流程和工具,共同努力实现目标。最终以小增量单位实现价值,持续交付给终端用户,我认为这非常重要。

当我们谈论DevOps时,我们不只是在谈论构建和推进测试环境。我们正在谈论一种让我们能够迅速投入生产的文化。 它强调四件事情。

  1. 首先是文化。 DevOps不仅仅是一套工具,人员和实践,还是一种文化,它从组织内部成长起来,并且可以在组织中变化。而且,您会发现具有强烈文化背景的组织,专注于交付,专注于生产,能够非常迅速和高效地发展DevOps文化。

  2. 第二,是一种衡量文化,我们正在进入并理解我们正在做什么。这不仅仅是获取日志文件,尽管这是它的重要组成部分。但它理解所发生的一切,AB测试。

  3. 第三种是自动化,如果没有强大的自动化功能,您就无法进入DevOps。这是使用工具来自动化您的业务流程的部署,构建,测试,所有这些事情。

  4. 最后,这是合作。这是开发和运营之间的合作,还有DevOps,但更重要的是,它超越了它,它需要引入项目经理。它需要引入收集需求的人员,引入维护应用程序的人员,并引入客户服务。这不仅仅是开发和运维,我们也会在整个课程中强调这一点。

DevOps不是什么? 

  • 这不是一个产品。 
  • 这不是任何地方的规范。 
  • 这不是集中的。 
  • 它没有商标。 

多诺万布朗的描述:你不能购买DevOps并安装它。 DevOps不仅仅是代码自动化或基础设施。 DevOps是人员,遵循由产品支持的流程,为我们的最终用户提供价值。 这回到我们最初开始的定义。 我喜欢它,因为我们需要专注于人,产品和将它们联系在一起的过程。 这就是我们对DevOps的定义。

什么驱动了devops的产生?

Alt text

  • 敏捷方法论加速了软件开发过程
  • 传统的运维方法论使发布和运维的流程更加可靠,但是并不敏捷
  • 当发生问题时,开发和运维之间断层会导致出错和增加MTTR(平均恢复时间)
  • 根据收获反馈确定下一组的目标;

概览

  • 它的要求,版本控制,测试用例管理,错误跟踪。
  • 它是测试,集成测试,单元测试。
  • 它是部署,定义环境,供应,配置,以及部署到这些环境的所有这些,
  • 它是应用程序配置,它监视生产中的应用程序。

所以,这些是我们必须做的一些技术性的事情,为什么我要强调这一点? 因为有时候行业会看看并说,这里是我们的工具,我们是一个DevOps工具,购买这个工具,并且您已经拥有了您需要的一切。 这是错误的,这是一种文化,它是人,它是流程,它不仅仅是一种工具。 有时候这些工具供应商会遇到这样一个小区域。 例如,它可能只是最后一英里,连续交付管道,或者它可能只是预先的ALM (application lifecycle management,应用生命周期管理)工具。 我们说的是整个工具集以及人员和流程

Alt text

  • 团队自治和企业一致;
  • 严格管理技术性债务;
  • 专注于客户价值的流动;
  • 假设驱动的发展;
  • 生产中收集的证据;
  • 生产中收集;
  • 将基础设施作为灵活资源进行管理

Alt text

参考:

本文内容来自EDX上的devops课程:Microsoft.DEV212x.2T2016