DevOps怎么玩

DevOps怎么玩?

SAFe基于敏捷,精益和DevOps发展而来。今天谈谈DevOps。

试想想这样一个世界:PO,开发,QA,运营和信息安全团队共同合作,不止相互帮助,共同保障整个组织的成功。通过努力达成共同的目标,计划的工作发布到生产环境的快速的工作流,从而打造一流的稳定,可靠,可用以及安全的系统。
——DevOps 手册

DevOps是所需一种思维,一种文化,一种技术实践的集合。它提供交流,集成,自动化,以及计划,开发,测试,部署,发布以及运营人员之间的机密合作。

它是精益企业DevOps和按需发布能力的一部分。

企业为什么要实施SAFe DevOps呢?

为了打破孤岛,授权ART(敏捷发布火车)和Solution Train(解决方案火车)按照客户的需求发布feature。经过一段时间,开发和运营团队之间的壁垒被打破,发布火车进入自动化持续交付管道。这个机制无缝定义,实施,交付价值给最终用户,不需要移交或者过多的外部生产和运营支持。

目标很简单:随时按照业务需要交付价值。

DevOps是两个词的集合:开发和运营。没有DevOps,开发新feature的团队和维护生产环境稳定的团队常常关系紧张。开发团队的绩效由交付和最终用户的价值决定,而服务团队则是由生产系统的健康和稳定决定。每个团队的目标相互矛盾,造成低效交付和组织摩擦。

SAFe打破了孤岛,为企业提供小规模开发,部署和发布功能的流程,叫做持续交付渠道。DevOps不止包含了开发和运营,还有发布价值需要的每一个人:安全,合规,审核以及其它。

很多SAFe的概念和原则——系统思维,小批量交付,短迭代,快速反馈等等,直接支持DevOps的原则。SAFe的实践,如:持续探索,持续集成,持续部署,按需发布,也支持业务需求。

DevOps的目标:

提高部署的质量和频率

通过更加安全的实验来提升创新和风险管控。

实现产品更快投入市场

提升方案质量,缩短前置时间

降低发布失误的影响和频率

提高Mean Time to Recovery (MTTR)

SAFe的CALMR方法涵盖了DevOps的五个主要方面:
分享责任的文化
自动化
精益流
测量价值流
恢复

分享责任的文化
SAFe中,DevOps通过采用精益敏捷价值观,原则和整体框架的实践影响文化。SAFe的每一个原则都适用于DevOps. 把运营的责任向上游分,开发的责任往下游分散到生产环境的部署,运营和监控。这样的文化包括:
合作和组织:DevOps依赖敏捷团队和IT运营团队通力合作,保证快速交付稳定的系统,通过在ART中加入运营人员和能力。
容忍风险:DevOps要求容忍失败,快速恢复。
自服务基础设施:基础设施授权开发和运营团队独立运营,不必相互掣肘。
知识分享:鼓励跨越孤岛,分享发现,实践,工具和学习。
一切自动化:DevOps通过自动化实现速度,一致性,可重复的流程和环境。

一切自动化
DevOps视手工流程为快速价值交付,高产和安全的敌人。自动化不止节约时间,还创造了可重复使用的流程和环境。因为这些流程和环境自己做文档,易于理解,提高,安全和审核。整个持续交付渠道通过自动化实现敏捷精益流。

自动化促进快速学习并对市场需求和用户反馈做出反应。使用工具链把开发,测试,部署和打包流程自动化,提高流程的可靠性。

应用程序生命周期管理:应用程序和敏捷生命周期管理工具创造为开发和相关团队创造标准化的沟通合作环境。基于模型的系统工程(Model-based System Engineering)也提供了类似信息。

工件管理库:这些工具提供软件库用于存储和版本控制二进制文件以及相关的元数据。

开发:自动化用于编辑或自动将源代码编译成二进制代码。

测试:自动化测试工具包括单元和验收测试,性能测试和负载测试。

持续集成:CI工具将程序员检查完代码编译进中央代码库的流程自动化。CI服务器开发完系统,它会运行单元和集成测试,报告结果,特别是发布了一个有版本控制的可部署的工件。

持续部署:部署工具自动将应用程序部署到不同的环境。在提供审核,版本控制和批准流程的基础上,促进快速反馈和持续交付。

其它工具:还有很多其它重要的DevOps支持工具:配置,登录,管理和监控,源代码控制,安全,代码审查与合作。

精益流
SAFe团队追求持续交付流,缩短从提出概念到收到付款的时间。还有三个实施交付流的关键:可视化并限制WIP;减小批量规模;管理队列长度,并整合进系统思维(Principle 2)和长期优化。
可视化并限制WIP:上图是项目集看板,可以让所有干系人看到WIP。可以帮助识别瓶颈,平衡WIP数量和现有的开发运营能力。新feature和功能在生产环境运行标志着工作完成。
减小批量规模:提升流量的第二个方法是减小工作包的规模。小批量通过系统更快,变量更小,加快学习和部署。这需要聚焦投资基础设施和自动化。也减少了每批的transaction fee。
管理队列长度:提升流量的第三个方法是管理减小队列长度。无论团队工作多有效率,方案开发意味着更长的队列等待实施或部署,更长的等待时间。而队列越短,部署越快。

测量价值流
DevOps环境中,问题解决方案不太复杂,但变更更加频繁,规模更小。方案性能的实时数据测量和收集帮助评估频繁的应用程序变更的影响。解决方案更快因为团队不用等待其他团队发现问题,解决问题。测量持续交付渠道的性能很重要。
实时应用程序遥感测控自动收集方案的业务和技术性能数据很重要。基于数据的决策才能达到目标。而且数据应该透明,每个人都可以接触到,可视化问题和趋势。
目标是开发应用程序:
收集业务,应用程序,基础设施和用户数据
存储登录记录用于分析
为不同的干系人使用不同的测控信息
测量结果高度透明
用事件覆盖测量(部署和发布)
问题解决的事中/事后测量

测量持续交付渠道的价值流也很重要。
恢复-支持低风险发布
支持持续交付渠道和按需发布概念,系统必须设计成低风险模块和基于服务的部署能力,发布能力以及快速从运营事务中国恢复的能力。按需发布的文章描述了技术上需要更加灵活地发布程序。以下技术支持快速恢复:
停止流程的精神-停止生产的精神,每个人都积极解决问题知道问题解决。当持续交付渠道或部署系统发生问题,也需要同样的思维。其发现应该迅速整合进流程或产品。
计划并重现失败:在大规模IT应用程序中,失败并不是唯一的选择。经历失败能够提升团队的反映能力培养韧性。
创建修复或者撤回的环境和能力:发生错误时,服务器报错,团队需要开发快速修复的能力,或者回撤到之前的良好状态。后一种情况下,需提前计划和投资,保证系统能够回到前一版本,在回撤的或城中不丢失认识用户数据。

为了保证恢复的能力,需提前部署企业级的项目,保证架构以及其他NFR能够支持部署,发布和生产。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值