DevOps现在是一个流行语,原因很简单,它可以带来显著的益处。2017年《DevOps状况报告》对全世界3200名IT专业人员进行了调查,描绘了高绩效IT开发组织的情况:这些组织每天进行多次代码部署以及从代码修复到生产部署所需时间不到一小时。
这些组织部署软件的频率也比对手高46倍。它们的变更失败率低于15%,在非计划工作上花费的时间减少了22%。最终结果是什么?返工减少了多达21%,甚至可以为小型组织节省下数百万美元。 但是,除非应用交付的所有阶段都有一个严格的反馈循环,否则DevOps就无法实现其潜力。
用数据构建良性循环
当组织实施持续集成和持续交付(CI/CD)流程时,其DevOps团队必须将复杂的工具链粘结在一起 - 横跨需求收集、代码管理、模块集成以及单元和集成测试与交付。但是,这些工具往往是孤立使用的,很少有对其有效性的度量。这最终会形成脱节信息的竖井。
俗话说,不去度量,就无从管理。企业只能通过将基于真实数据的不同阶段的反馈相结合来取得DevOps的全盘收益,而不是由奇闻轶事、临时努力或直觉所构建的管道。
如果不衡量和整合DevOps过程数据,就无法跟踪整个CI/CD管道的进度。企业的团队就无法标记错误或报告缺陷修复程序的状态并量化开发人员的活动。通过为开发人员、IT运维和管理人员提供测试数据,企业可以加强生产和部署之间的回馈循环。还可以确认测试范围的有效性,并衡量各开发人员的工作质量和生产力。
当企业将构建管道和其他数据整合到一个单独平台中时,就可以实现DevOps工具链活动和进度的端到端可见性。开发人员可以获得有助于做出决策的信息,从而通过更快的部署、更好的软件质量、更高的安全性和更少的返工使业务受益。
FamilySearch如何实现每天900次部署
作为拥有世界最大的族谱记录的非盈利性家族史组织,FamilySearch使用DevOps将其CI/CI程序部署在亚马逊Web服务(AWS)上。但是,它还希望更好地跟踪整个网站的变化,因此转而使用Splunk Cloud来整合其IT环境中的数据。
FamilySearch现在使用Splunk Cloud对每天最高4TB的日志信息进行采集,处理和分析。应用交付团队构建使用这些数据的仪表板来监控站点运行健康状况和整个CI/CD流程。结果是:FamilySearch可以在代码签入和产品发布之间每天只需不到20分钟就可完成900次部署。
DevOps 成功的关键
无论是DevOps工具链还是业务流程,改进的关键都取决于记录,收集和分析数据的能力。企业开发人员可以使用DevOps回馈循环来提高软件质量、开发人员效率和发布周期。鉴于DevOps构建管道中生成的许多不同系统和海量数据,消除数据收集和分析中的竖井和盲点是关键所在。为了量化DevOps,需要一种有效的方法从任何系统和格式中提取数据,实时处理大数据流,并提供复杂的数据搜索和分析,便于团队轻松汇总结果,标记异常并简化取证分析。