如果部署延误了发布,那么交付速度再快也无济于事。虽然网络运维团队正逐渐接受自动化和编排,但在加快部署方面仍面临重大挑战。DevOps团队最有条件帮助他们解决这些问题。
数字化转型离不开DevOps

数字化转型与DevOps之间无疑存在关联。受数字化转型推动,48%的组织正提高应用交付到生产环境的频率;62%的组织正在实现IT系统和流程的自动化与编排;52%的组织正在改变应用开发方式,例如采用敏捷开发;另有42%的组织正在探索容器和微服务。从应用的基础构建模块到将应用推向市场的方法,数字化转型让DevOps能够从“持续交付”进一步扩展到“持续部署”。需要注意的是,“交付”并不是指推向市场,而是指交付到生产环境;随后部署流程启动,使应用达到可供使用的状态。
这是因为,“可供使用”并不只是指“应用运行正常”,还包括一系列必须以应用服务形式实施和部署的要求。可扩展性、安全性、性能和监控都必须到位,应用才能被视为“可供使用”。这些环节共同构成了如今的“部署流水线”。
部署需要借助DevOps实现自动化和编排的价值
遗憾的是,用乔治·杰森和弗雷德·弗林斯通一起滑雪来形容交付和部署的自动化现状,实在是再贴切不过了。来自未来的乔治脚踏喷气式滑雪板,而仍生活在过去的弗雷德只能使用人力驱动的滑雪板。如果您猜脚踏火箭动力滑雪板的乔治·杰森代表DevOps正在进行持续交付,那么您猜对了。如果您猜NetOps正尝试以主要依靠人工的方式进行持续部署,那么您也猜对了。
NetOps团队负责预配、部署和运维当今组织使用的应用服务,平均数量为14项。这些服务涵盖可扩展性(负载均衡和入口控制)、安全性(Web应用防火墙和机器人防御),以及一些不太为人熟知、用于提升应用支撑技术栈整体性能的服务。
如今,虽然他们已有“滑雪板”助力提速,但仍缺少DevOps同行所拥有的“火箭助推滑雪板”。
流水线自动化程度的差异可能导致令人沮丧的延迟

实现“持续部署”所需的各类应用服务组件,其自动化率存在差异。这表明,需要消除导致大多数组织仍在使用手动方法的“不平衡作用力”。对于部署组件自动化程度为零的组织而言,尤其如此。这就像使用火箭助推滑雪板与传统滑雪板之间的差别。即使有些组织已实现部分流水线的自动化,也未能保持一致:仅有21%的组织实现了全部4个关键组件的自动化,11%仅实现了单个领域的自动化,25%实现了两个领域的自动化。
想象一下,正在半空中飞驰时,滑雪板上的火箭突然消失了。
我们不能再依赖传统的“增加人手解决问题”这种方式来加快部署。这只会增加沟通层级和流程障碍,拉长从生产环境交付到最终交付给消费者的时间,进一步加剧延迟。

这些延迟会让业务部门因等待而不满。更糟的是,为了赶进度,往往还会跳过一些步骤(例如安全检查)。要解决这一问题,需要找出并消除拖慢持续部署的“不平衡因素”。
这些“不平衡的力量”是什么?DevOps如何让它们恢复平衡?

从网络运维(NetOps)提到的挑战中,可以看出导致部署失衡的因素。技能、策略、预算和集成是实现持续部署的主要障碍。网络运维团队当然可以编写脚本,而且一直都在这样做。但脚本并不等同于自动化,也无法满足跨多达14种不同设备、系统和服务进行集成的需求。网络运维团队需要获得支持,以确定并采用适当的工具和方法,不仅实现这些异构系统之间的集成,还能以一致、可预测且可重复的方式推动部署流程。
DevOps正是在这方面帮助NetOps建立行之有效的持续部署实践。
协作必须打破IT与开发之间的界限

文化并非可有可无,它会切实影响行为和实践。仅团队结构一项就会显著改变流水线自动化的成效。传统的单一职能团队正落后于采用DevOps模式的现代团队。应推动建立更具协作性的团队结构。同样,协作团队也应围绕关键指标达成一致。共享指标可让网络运维和安全团队在不受考核指标掣肘的情况下,共同推进持续部署。目前,近四分之三的网络运维团队以网络正常运行时间作为考核指标,而部署频率几乎不在其考核范围内。他们会专注于维持网络正常运行,因为这是考核要求。共享指标可让网络运维团队将重点转向业务真正需要的目标,即更快、更频繁地部署。
最后,还需要相互理解。大家同属一个团队,而且可能出乎意料的是,彼此重视的事情其实相同。网络运维团队和DevOps团队一样,都很可能高度重视流水线自动化。请记住,在应对和克服集成、工具及技能方面的障碍时,DevOps比网络运维团队早起步了10年。协作型团队可以推动从交付到部署全流程所用工具(如Jenkins和GitHub/GitLab)的标准化,从而提供帮助。
举办午餐学习会。主动指导NetOps同事,分享经验以及教程和社区链接,为NetOps提供学习实用技巧的机会。成立“自动化卓越中心”或社区,帮助建立最佳实践、分享解决方案,并鼓励共享相关知识,以应对这些“失衡因素”。
DevOps不应也不能止步于交付。只有当应用真正交到目标用户手中时,才算真正“完成”。这意味着,需要实现部署流程的自动化,包括其中复杂的设备和应用服务管道,从而缩短应用到达用户手中所需的时间。DevOps具备相应的技能、工具和经验,可以帮助NetOps大幅提速,使其也能跟上业务所需的节奏。
关于作者

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。
Lori Mac Vittie 的更多博客文章相关博客文章
Thingbot正转变为攻击平台
Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。
借助F5全新Quick Start,在AWS上快速开展业务
在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。