如今,几乎随处都能听到有人谈论其支持DevOps的工具链。大家都有一套(没错,我们也有),而这些工具链都由(另一种)API经济模式提供支持。根据Wikipedia的定义,DevOps工具链是:“由采用DevOps实践的组织协调使用的一组或多种工具组合,用于在整个软件开发生命周期中协助应用交付、开发和管理。”

上述定义主要侧重于应用,但也涉及生产环境,软件通常会在其中度过其生命周期的大部分时间(至少我们希望如此)。同一定义也适用于生产环境,但需要说明的是,在我看来,其重点是“由采用DevOps实践的组织协调,在整个应用生命周期内对网络和应用服务进行预置、配置和管理”。在传统DevOps语境下,这一重点扩展了周期中的“发布”阶段,并涵盖“发布相关活动”,包括将软件预置和部署到生产环境。这必然包括(或应当包括)向目标用户安全、可靠地交付应用所需的网络和应用服务。
问题在于,没有任何一家供应商或开源项目能够提供实现持续部署这一理想愿景所需的全部工具(顺便说一下,持续部署属于生产环节)。事实上,应用开发端使用的一些工具也同样用于生产端。我们看到这两个领域之间的交集日益增多,这对“DevOps”整体而言是个积极信号,因为这表明,传统上壁垒森严、除了应用之外几乎没有共同点的开发和运维组织正在逐步趋于协调。
因此,可以将Puppet或Chef与VMware和Cisco结合使用,实现网络和应用服务全栈自动化,以满足应用在安全、身份和扩展方面的需求。为此,您已创建所需的模板和脚本,并验证其正确性;还可能使用Postman及其脚本功能,在实验室中针对虚拟基础设施进行测试。您已决定将git用作配置工件的存储库是一个合适的选择,因为应用开发团队已经在使用它,可以提供指导,甚至可能举办一两次培训。还可以更进一步,开始构建应用(或部署OpenStack实施环境),以编排整个流程,并支持各项服务的自助使用。实际上,这就是在定义部署工具链。
这时,短板效应开始显现。这个道理并不陌生:一条链的强度取决于其中最薄弱的一环。这里强调“强度”,是因为也可以将其替换为“可靠性”“安全性”或“可扩展性”等其他特性,而这一规律依然成立。这一点很重要,因为在开始定义用于支持持续部署的工具链时,链条中的每个“环节”都可能成为故障点,导致安全性、可扩展性或可用性受损。

规划、验证和监控是DevOps工具链中的关键环节,在NetOps工具链中同样不可或缺。监控尤其重要,因为在生产环境中,应用与基础设施(网络和应用服务)在这一环节的交集最多。发生故障时,通过监控(可见性),可以全面了解从业务事务到单个请求和响应的各个方面。
配置也必然将这些工具链连接起来,因为网络和应用服务的配置可能(而且通常)需要针对特定应用进行定制。
虽然打包和发布机制可能会使用类似的工具,但二者是不同的关注点,其需求往往存在很大差异。由于网络和应用服务可能部署在共享基础设施上,采用单一系统方法的工具可能不适合NetOps。相反,使用模板在生产环境中快速部署标准化服务的做法日益普遍,但在DevOps中通常并不适用,因为应用具有很强的独特性。
无论如何,这两种工具链都有一个共同点:一个环节的薄弱之处会影响整个链条。即使部署主要依靠人工操作并利用脚本,仍然存在一条代表整个交付和部署流程的工具链。人员可以成为,而且如今确实是软件交付和部署工具链中的环节。如果某个关键环节缺失,例如Bob因感染近期流感而缺勤,流程就会中断,工具链也就无法完成交付(或部署)。
随着内部数字化转型不断推进,必须认识到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服务。