博客 | 首席技术官办公室

复杂性成了障碍: 运营流程膨胀如何损害性能和交付

Lori MacVittie 缩略图
洛里·麦克维蒂
2025年7月30日发布

在不断发展的应用交付领域,您正在大力投资现代基础设施、应用和智能自动化。 尽管如此,您仍可能面临本应早已解决的问题:系统在压力下不堪重负,部署策略难以跨环境执行,关键时刻工作流程却难以顺畅运行。

当今组织面临的十大交付挑战中,有两个尤为关键:缺乏容错性和弹性,以及交付策略不兼容。 表面上看,您可能认为这是基础设施或工具的问题,但深入分析就会发现,这些实际上反映了一个更深层的结构性缺陷:运营工作流程复杂。

这种复杂性不仅仅令人烦恼。 它直接削弱运行时性能,破坏策略一致性,阻碍您的组织充分发挥数字化转型投资的价值。

复杂性是最大的运营挑战

流程复杂度我们的最新研究中,54.8%的受访者表示,设计应用交付与安全的操作工作流程时,他们面临的最大挑战是“流程中的任务过多”。 超过一半的IT决策者和执行者坦率地承认,他们的系统复杂到难以高效运作。

这并不是唯一的信号。 有近一半人——53.6%——反映他们的工作流程涉及“过多不同的API”。 另外45.3%的人将“需要掌握太多不同语言”列为主要难题。 这就是操作层的碎片化——不同工具、不同语法、不同负责人。 所有这些都增加了额外负担,也带来了风险。

任何关注正常运行时间、用户体验或运营效率的人都应对此数字感到警惕。

复杂性如何降低系统韧性

我们先从ADC02 容错和弹性不足谈起。 在现代应用架构中,通常有六个不同层级分别负责路由、负载均衡、服务发现、身份认证、遥测和策略实施。 这些层级很可能由不同团队各自管理。 每个层级可能拥有独立的 API、变更控制流程和专属技术语言。

出现问题时怎么办?

故障转移未触发,因为上游依赖未能识别节点故障。 新的部署导致流量错误路由,因服务网格与负载均衡器不同步。 延迟骤升需要几分钟才能定位,因各层级的可观测工具配置不统一。

这些不是罕见的边缘案例。 它们是由工作流程蔓延引发的日常运营故障。 它们直接关联到数据,我们发现有29%的受访者仍依赖自定义脚本来支持自动化。 这显然是个重大警示。 围绕复杂性编写脚本不是自动化,而是脆弱的临时之策。 环境一变,它就崩溃;性能下降时,它又拖慢恢复速度。

当您的操作流程充满了交接环节、部门隐性知识和手动修复,就无法实现真正的容错能力。 只能寄希望于运气。

策略未随应用迁移时的困境

当你听到“策略漂移”,可能首先想到的是安全问题。 但应用交付策略的漂移——比如流量路由规则、负载均衡行为或速率限制设置——同样会带来严重后果。 这就是ADC07 不兼容的交付策略发生的原因之一。

在完善的流程中,策略应伴随应用从开发到预发布再到生产环境。 但实际操作中,各环境之间的交接常常依赖手工完成,缺乏一致性且受限于工具。 暂存环境中设定的负载均衡规则,可能与公有云的配置不符。 开发阶段测试的路由策略,可能因环境限制或疏忽而未上线至生产环境。 金丝雀发布阈值、缓存策略、故障切换逻辑,这些交付层策略在部署时经常发生漂移。

根本原因正如 F5 2025 应用战略报告指出的那样:复杂性。 45.3% 的受访者认为“需要掌握太多不同语言”,53.6% 认为“面对太多不同的 API”,这清楚表明交付工作流程在各工具生态系统间分散。 每个环境可能采用不同的配置模型或基础设施即代码平台,导致每个环节都需要转换。

翻译带来了风险。 同样会导致延迟。 当你需要手动重写或调整系统间的交付策略时,推广的一致性无法保证。 在分布式系统中,不一致往往比失败更糟,因为它引发不可预测的行为。

设想一种多区域部署,其中流量引导策略只在某个区域内生效。 或者一个全球应用在不同边缘节点上应用不一致的缓存规则。 这会导致用户体验下降,且问题难以追踪也难以修复。

为了快速推进且不出差错,您需要声明式、可移植且在整个堆栈各层一致执行的交付策略。 当工作流程依赖于零散的手动操作和各团队专属逻辑时,这几乎无法实现。

只有当交付政策被赋予与应用代码和基础设施配置同等的重要地位时,组织才不会再为系统漂移、停机和交付延误而苦恼。 简化这些工作流程是您必须迈出的第一步。

简化已成为必需

减少工作流程的复杂性不仅是为了简化架构图或提升运营团队的满意度(虽然这两点都会带来改善)。 关键在于兑现现代应用基础设施的核心承诺:速度、弹性和一致性。

如果您想提升运行性能并实现交付行为的可预测性,就必须深入审视管道中涉及的工具、团队和交接环节数量。 更关键的是,您应当问:有哪些步骤真正创造了价值,又有哪些只是用来弥补系统不足?

答案不一定是新的工具。 有时反而是减少工具数量。 有时你需要的是一个统一的平台,用一致的语法和行为在所有环境中执行交付逻辑。 有时我们不仅自动化部署,还自动化治理,让交付策略以代码形式实施,而不是依赖检查清单。

我们必须简化流程,才能实现弹性且可靠的交付。 只有当我们把复杂性视为关键风险时,它才不会摧毁我们所构建的一切。