返回IT运维网
  • |
  • 文章EID:
  • |
  • 账号:
  • 密码:
用数据调整DevOps流程
2017-11-21 IT运维网 / Splunk

      与痴迷于流程的现代企业架构师相比,DevOps从业人员更像是美国老西部的牛仔。这些DevOps从业人员,或可称其为“粗犷的”IT牛仔,迄今为止根据速度、直觉和结果做出的决定在很大程度上取得了成功。除此之外,一个典型的DevOps过程依赖于独立的工具来完成分散的功能,例如项目管理、源代码控制、设置和配置、测试执行、工作过程自动化等等。但对于大型分布式企业来说,要想不断取得成功,仅仅依靠直觉、松散的耦合工具以及随意的决策是不够的——从业人员还必须掌握以数据为驱动的方法。

      今天,DevOps已经成为主流,而老牌企业正在把他们的DevOps“文化”扩展到软件交付生命周期和IT运营之外,以覆盖整个企业。大型企业不那么敏捷,更复杂,而且在财务、法律和地理上都受到限制。数千名开发人员分布在多个地理区域——重复的工具、专门的部门、不同的流程、分散的位置和多个业务部门,使得可视化更加难以实现。由于需要扩大规模,高管们越来越多的参与到DevOps中,领导层希望在DevOps工作流程中有更多的可视化功能,以便能够在整个企业中流畅的实现这些功能。DevOps正在“成长”。

在保持DevOps的核心原则——敏捷、速度和质量的同时,企业正在通过DevOps采取下一步措施,实施数据优先过程,以适应业界习以为常的DevOps连续流程。

 

DevOps需要扩大数据规模

      据我们所知,那些在同一家公司工作了20多年的经理们,快速的做出决策以简化开发周期。然而,只有利用数据来为流程提供支持后,生产线才能够高效的运行。当一家企业在其网站或者移动应用程序上发布了新功能时,没有人知道怎样使用这些功能,或者是否能够引起人们的兴趣。

      这也是为何Amaya游戏使用数据来驱动其DevOps决策的原因。利用从系统开发、测试、验收和生产环境中提取的数据,管理人员可以监测收入流,对任何意外的变化迅速作出反应——无论是好还是坏;并且可以很快看到哪些新功能被Amaya服务的最终用户使用,以及如何使用的。这种深度分析被反馈到开发周期中,为未来的业务决策提供参考,而开发团队也使用相同的数据驱动的方法来发现和修复缺陷,服务运营部门使用数据来排除故障,所有这一切都是实时的,基于真实的数据。

      由于在整个开发周期中缺乏可见性,业务部门和IT部门的相关人员都会受到影响——有可能还会发布有错误的软件,延长了响应时间,引入安全漏洞,过度使用基础设施,损害声誉,以及增加不必要的成本等。

      DevOps从业人员遇到的其他问题也是高管们问的同样难以回答的问题:“为什么这个应用程序的功能比那个更好?我们能从中学到些什么?”如果不汇总之前和之后的数据点,很难实现收益和回报。经验丰富、老练的管理人员有直觉的本能,但很难说这是一个可行的、可重复的过程。我们可以设身处地为那些试图打造一个自组织部门的高管们想一想。他们没有经验凭直觉做出决策,并证明每个业务决策是合理的,但是他们知道一个团结合作的实体为实现同一目标而努力工作的好处。

      数据应交织在DevOps整个过程中,为最佳实践提供基础,加强部门团结——无论部门规模大小或者处于什么地理位置。数据被认为具有指数增长潜力。大企业中成功的DevOps部门使用从数据中挖掘出的客观指标,对端到端交付周期进行深度分析——从最初设想的新功能直至客户参与,衡量最终收益等。对所有相关系统和开发步骤的数据进行收集、关联和分析,为包括高管们在内的所有相关部门提供一个统一的视图,以便查看速度、质量和业务对应用交付的影响,这也为相关业务部门和决策者提供了一个可测量的、成熟的过程。

 

DevOps开始走向成熟

      可测量性和可重复性是大企业成功建立高管们愿意使用的DevOps过程的关键。通过DevOps工具链产生的数据提供了实现这一过程所需的大量信息。反过来,管理人员可以利用日常工作流程产生的数据,做出更好的数据驱动的决策。

      例如,一家大型全球娱乐企业会在其应用交付生命周期的每一步中进行测试,以确定哪些方面运作良好,而哪些方面需要改进。该企业能够使用详细的数据,做出非常准确的计划和资源决策,包括正在进行的版本、正在编写的故事、代码签入和签出、构建执行、部署和生产状态,甚至来自项目管理系统的资源和人员/成本数据。采用这种数据驱动的方法,他们可以综合考虑部门和资源,预测发布日期,降低交付成本,处理过程差距和故障,发现并拒绝“坏的变化”,为产品提供更快更好的代码。数据驱动的决策对于已经实施了DevOps举措的企业而言带来了巨大的好处,该企业便是众多例子中的一个。

      大型企业已经采用了DevOps过程。在英国BBC,负责BBC电视网站的Dev和Ops部门向市场营销部门提供报告,告诉他们使用了哪些新网站功能(例如,新节目、猜谜等板块,以及其他观众参与的活动),使用了多少,被谁使用,等等。然后,营销部门能够很快做出数据驱动的决策,决定怎样进一步加大成功促销的力度,或者及时改进那些没有达到预期结果的工作。CA技术公司由于其流行的SaaS解决方案——CA敏捷中心(以前的Rally软件),也受益于类似的过程。通过跟踪与软件服务的每一次交互,CA技术公司的DevOps部门把客户参与的信息快速反馈给产品管理部门,这样,他们能够从数据驱动的角度出发,准确的了解哪些功能是“确定好用”的,哪些还存在问题,从而能够迅速进行迭代,为客户提供更好的服务。这些企业比较重视渐进式的改进,考虑多个数据点,直到数据认为适合发布时才发布软件。当数据决定一切时,软件发布决定是由数据驱动的,而不是日期。

      在高层,管理层理解业务决策是由数据驱动的,知道需要可视化功能来确保过程是准确的,并能够产生收益。过程在确保质量一致性、消除冗余和简化质量保证方面发挥着核心作用。要在大型企业中取得成功,DevOps从业人员应对关键的开发和运营指标进行标准化处理,并收集和共享这些指标,从而获得更大的收益。DevOps的核心是软件的“连续交付模型”,强调了在履行个人职责时的共同目标。把这种思想扩展开来,每个人都能够深入了解所有部门,授权员工做出必要的改进,同时朝着同一目标努力。

      对于大型企业,要想更深入的进行数字化转型,DevOps过程必须得到数据的支持。有了数据之后,管理人员能够将业务指标与代码更改关联起来,以获得新的业务深度分析结果,或者通过交付性能更好的代码来改进用户体验,甚至通过提供安全合规的代码来保护声誉。在保持持续改进、发展和开放沟通的核心价值的同时,我们正处于没有数据DevOps便无法再发展的阶段——是数据赋予了高管们改进测量、协作和参与的手段。

相关评论 [查看所有评论]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
心情:
  • 支持
  • 高兴
  • 枪稿
  • 不解
  • 搞笑
  • 愤怒
  • 谎言
账号: 密码:
验证码 看不清?点击更换
相关阅读