V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dataman
V2EX  ›  问与答

从试验走向大规模生产: DevOps 企业推广指南

  •  
  •   dataman · 2016-12-20 19:15:21 +08:00 · 1402 次点击
    这是一个创建于 2920 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本文又名《 DevOps 烹饪指南》。把DevOps做成一道小菜,大家赞不绝口,那么如何将 DevOps 的美味贯彻到餐桌上的每一道菜品呢? 同理,当 DevOps 团队在一些小型项目取得成功,如何将它向企业全面推广呢?各种学问,本文向你一一道来。

    DevOps 在软件开发和交付领域非常流行,许多团队通过 DevOps 取得了瞩目的成功。但一些 DevOps 的实践和技术还不够成熟,很多公司还没能从基础的小型团队敏捷开发向更复杂的 IT 整体架构进军。

    团队享受着 DevOps 带来的成功喜悦,同时也发现自己受到了高层的关注——那感觉真棒!问题是,接下来呢?领导们想要更多。在大型企业的 DevOps 团队如何把在试验项目上的成功,复制到公司整个业务呢?

    当你尝试推广 DevOps 的时候,有几个步骤可以帮助扩大 DevOps 的规模。

    扩大规模的第一步

    当企业的 DevOps 尝试获得成功时,不难想象负责 DevOps 的人员会被各种新项目、应用和基础设施的请求所淹没。每天时间有限,现有的员工不可能胜任更多工作,唯一的选择是让更多人具备 DevOps 的能力,但是如何做呢?

    把每个项目的新工作分给新团队并不容易。当公司计划把 DevOps 扩展到更多更大的项目时,第一步最好是创建一个可以被多个团队复制的流程。另一个关键点是确保早期的主动权,明确节省时间、节约费用和业务结果等方面的优势。一旦开始扩大规模,团队就可以对于给定的措施有着清晰的预期。

    一些企业从移动软件团队或者 Web 运维工作室借鉴取经而获得成功,实现了快速部署、效率管理基础设施。无论是敏捷开发还是探索 DevOps ,最好都从正规化和标准化开始。

    得到上层领导的支持

    让 DevOps 切实可行地在企业推广需要领导层的大力支持,包括 C 级别的高管们。因为这个级别牵扯到了组织的高层,相比十几年前甚至最近的大型公司, DevOps 在企业软件部署领域会引发一系列巨变。

    DevOps 自身代表了这种变化。幸运的是,我们已经看到了高层对于 DevOps 的认可,一些 DevOps 技术和方法论的最大拥护者中也有 C 级别的高管们。如果缺失了领导层和核心 IT 的支持, DevOps 的推广会非常困难。如果所有的利益相关者成果共享、共同努力,那么这些变化就更容易接受。

    比如对开发者、 IT 运维、业务线的领导以及其他 DevOps 相关人员进行奖金奖励。企业也非常愿意有一个优秀技术中心、技术审核平台,或者类似内部汇报新技术方法的部门。这是一个发现 DevOps 拥护者的地方,他们通常会在实现和扩展 DevOps 的过程中起领导作用。

    注意, DevOps 的改变对于软件开发者来说并没有那么明显,他们已经谙熟敏捷开发、精益实践、开源软件、透明化和合作机制等等。但是对于 IT 运维专业的人员来说改变非常巨大,因为他们更习惯于关注时间和响应之上的稳定性和安全性问题。这是管理层非常重要的另一个原因:让开发和运维之间架起桥梁,让有领导经验的人来主导。否则努力只是白费, DevOps 只是空谈。

    “利益相关者”的扩展

    早期 DevOps 的重点是让开发团队(包括测试人员)与运维人员更有效地协作。但是在软件交付成功之后, DevOps 的利益相关者范围扩大到了安全团队、数据库管理和业务总监。这种倾向让 DevOps 积累越来越多种功能,包括业务的技术和财务方面,这是一种充分理解 DevOps 的可执行模型。例如安全,一度被认为是与 DevOps 让代码迅速走向生产的初衷不太一致。但是现在,它已经变成了企业的发展趋势; Heartbleed 或者 Shellshock 这样的安全问题引发了人们对于 DevOps 的兴趣,因为它表明了快速响应的需求和好处。

    在实践层面,短短数小时内升级机器和系统并覆盖,比在半夜时紧张地更新好得多。 DevOps 与速度有关,但是也关乎准备就绪,无论是下一个移动设备、应用功能、数据设置、安全事件还是其他的开发内容,它都能提前做好准备。

    DevOps 的工具

    过去几年发展出了很多 DevOps 相关的技术—— Puppet, Chef, Docker, Jenkins 等等——不同工具在面对 DevOps 扩展的实践中有着不同的挑战。

    指标应该占据计划日程的首位。公司应该按照证实可行的模型来进行 DevOps 扩展,达到方案中那些重要的目标,获取明确的时间、成本或者其他优势。如果把关注点从发布周期或者节约成本转移到业务结果或者竞争优势上,效益和实践或许会有所改变。当然后者的指标或许更难验证,但也是可以测量的。

    一些公司已经通过特殊的工具或者设置实现 DevOps 标准化,但是多数企业仍然采用混合的技术。考虑到各种工具、设置和实例, DevOps 未必是工具链。它更像是一个工具箱,在不同的工作和进程中使用正确的工具,实现自动化和获得效益。

    现在企业实现 DevOps 的主要框架和工具有 GitHub 、 Jenkins 、 Chef 、 Puppet 、 Ansible 和 Salt 。这些工具多数关于简化、自动化以及跟进基础设施管理和软件发布进程。也有一些技术与传统企业 IT 运维工具和方法交叉,比如 ITIL 。而最有效实现 DevOps 的方式是走出传统工具和最佳实践,利用最新的工具和框架。

    容器也被证明可以大幅削减开发者的上手时间,提高开发人员的生产力和效率,但是对于 IT 运维来说也会造成一些困扰。所以任何 DevOps 技术,企业都应该从小项目着手,证明收益后再逐渐扩大规模。

    DevOps 与企业文化

    扩大 DevOps 的规模可以更好地实现双赢,但是最好等到初始团队确定其正确性和可行性。其中一个重要的方面是接受和响应失败。 DevOps 中的失败应该快速发现并解决,而不是打破开发-测试-生产的过程。因此,最好先通过一些失败的演练,这不仅是演示对失败的接受,也展示了最终实现的可能性。

    企业应该集中更多的人将现存的应用和服务进行迁移和现代化,转型为“云原生”应用和服务。因此,新技术、新方法和进程必须与现有技术方法进程有所交叉和集成,这也包括人员上的,它可以有效防止开辟 DevOps 却疏离了现有员工。

    下面的图表说明了 DevOps 要求团队成员扮演不同的角色,同时展示了 DevOps 的其他利益相关者,从最高管理人员、安全人员到业务团队和部门领导。

    DevOps 让企业中的个人和团队在软件发布、 IT 运维上承担的责任更加广泛。随着 DevOps 实现规模的扩展,企业必须让更多人员和团队努力协作,才能获得速度、效率、响应等收益回报。

    本文作者: Jay Lyman 原文链接: http://techbeacon.com/how-scale-devops-recipes-larger-organizations

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2287 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 16:10 · PVG 00:10 · LAX 08:10 · JFK 11:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.