可扩展性对业务和应用都至关重要。从业务角度看,扩展运营规模是推动新应用经济发展的关键,有助于应对近乎持续不断的高频部署。从应用角度看,可扩展性有助于满足消费者和企业用户群体的增长需求,同时为双方提供出色的性能和可用性。

可扩展性的核心是负载均衡。自20世纪90年代中期以来,我们一直通过负载均衡,将工作负载分配到规模不断扩大的服务器集群、网络、应用和服务中,从而扩展应用。
早期的负载均衡完全以网络为中心。负载均衡以现有的网络横向扩展技术和协议为基础,重点利用客户端与服务器通信中可用于分配工作负载的部分。传统负载均衡(POLB)由此诞生。
它确实发挥了作用,而且效果很好。如果没有POLB,我们今天所熟知的Web能否发展起来,几乎无从得知。无论过去还是现在,它对于满足企业和消费者当前的需求,以及支持未来发展,都至关重要。
21世纪初的某个时候,负载均衡器凭借其在网络中的战略位置,成为扩展其他应用体验增强功能的理想平台。随后,应用加速、优化、缓存和压缩功能陆续加入。安全功能也被纳入同一平台,因为它在网络中的位置具有显著优势,不容忽视。作为应用的守门人,该平台能够检查、提取、修改和转换应用流量,从而获得独特洞察,为安全和性能提供同等支持。
21世纪初的某个时候,我们不再局限于POLB,而是迈向了新的领域。负载均衡器演变为应用交付平台,不仅能通过POLB扩展应用,还能同样出色地交付安全、快速且高可用的应用。
这些现代平台称为ADC(应用交付控制器)。它们不仅能提供POLB功能,还具备丰富的其他功能,对于如今既要部署应用又要交付应用的人员而言,具有重要价值。
承担这项工作的越来越多地不再是网络团队,而是架构师和运维团队。
这一转变由过去十年间涌现的多项技术推动。从敏捷开发、云和DevOps到移动技术,如今的最佳实践正推动部分应用服务脱离网络领域,转入应用领域。
在可扩展性责任从网络转移到架构师和运维团队的整个过程中,ADC的部署方式却仿佛仍停留在20世纪90年代。由于被当作普通负载均衡器(POLB)使用,ADC在帮助架构师和运维团队提升性能和安全性方面的大部分价值都未得到发挥(更确切地说,是被闲置在机架上)。
这通常是因为,如今负责应用扩展的架构师和运维团队并不清楚ADC能为他们带来什么,更重要的是,能为其应用和架构带来什么。是时候改变这种状况,突破POLB的局限了。

超越POLB:L7负载均衡代理
POLB的目标很简单:确保可用性。无论是实施基于冗余的高可用性(HA)架构,还是采用N+1扩展架构,目标都相同:无论发生什么情况,都要确保网站(或应用)持续运行并保持可用。
如今,目标仍然是可用性,但同时还要兼顾效率和敏捷性。这三者都是现代企业及其关键应用支撑架构的重要特征。然而,要实现这一目标,就必须超越POLB,转向应用路由和负载分配,为应用架构和基础设施带来这些关键的效率提升。这些能力基于网络协议栈的第7层,即应用层;在现代架构中,这意味着HTTP。
L7负载均衡代理不仅能根据连接负载、响应时间和应用状态等应用变量分配负载,还能根据URL、HTTP标头,甚至HTTP消息中的数据进行分派(路由)。
如今,L7负载均衡器能够解析和提取上述各类应用层数据,并据此执行操作,从而以多种方式参与并增强应用和微服务架构,包括:
- 数据分区(分片)架构
- 复杂的URL分派
- 修改响应标头
- 基于后端数据的动态路由
- 通过功能分解实现扩展
- API计量和访问控制

超越POLB:安全
由于L7负载均衡器在逻辑上位于其所服务应用的上游,因此可以查看每一个请求及响应。这意味着,它能够对请求执行各种检查和控制,然后再允许请求继续传送到目标应用。这些检查和控制对于确保检测并拒绝恶意流量至关重要,可防止其不利影响波及后端应用的稳定性、可用性和完整性。
但这不仅是要阻止恶意流量到达服务器,还要阻止恶意行为者。这意味着需要识别他们,不仅要识别没有有效凭据的人员,还要识别使用他人凭据的人员。随着因凭据被盗而导致的数据泄露事件日益增多,访问控制的作用也愈发重要。云的兴起也再次凸显了跨应用全局管理凭据的紧迫性,以降低孤立账户和测试账户带来的潜在风险,因为这些账户可能有权访问存储在SaaS应用中的企业数据。身份联合已不再只是一项提高工作效率的策略,也成为企业整体安全战略中的一项关键举措。
可添加到L7负载均衡器的功能包括分析客户端的行为和身份,以及分析客户端与后端服务之间所交换消息的实际内容。这使L7负载均衡器能够执行以下功能:
- 第7层(应用)DDoS防护
- Web应用防火墙防护
- OWASP十大风险
- 应用访问控制
- 联合身份

超越POLB:优化
性能是应用成功的关键要素,因而也是业务成功的关键要素。早期,组织会在应用前端部署多种应用加速解决方案,以加快交付流程。ADC最初将这些解决方案作为可选的附加组件,后来则将相关功能直接整合到核心负载均衡功能中。这体现了性能对于ADC交付应用和服务这一核心重点的重要性。
因此,L7 LB提供了多种旨在提升性能的特性和功能。其中一些功能侧重于内容处理,尤其是处理返回客户端的应用响应。许多功能采用开发人员常用的核心技术来缩减内容大小,其他功能则旨在减少客户端与服务器之间所需的往返次数。
此外,需要注意的是,L7代理不仅专注于优化内容,也是构建性能导向型架构的关键支撑。这类架构采用数据库负载均衡技术,并集成内存缓存(如memcached),以提升应用的整体性能。适合支持这类架构的L7代理通常会提供数据路径脚本语言,用于定制分发和路由。
其他功能侧重于降低后端服务器的开销以提升性能,并支持根据性能阈值分配负载。
L7负载均衡器的优化特性和功能包括:
客户端(响应优化) | 后端服务器端 |
• 压缩精简 • HTTP压缩 • 缓冲 • 脚本聚合 • SSL卸载 | • TCP多路复用 • 缓存 • 基于性能的负载分配 • 自动扩展 |

超越POLB:管理
要让任何基础设施更深入地融入应用架构,就必须能够将其集成到CI/CD流水线中。这意味着基础设施需要支持现代方法、DevOps和敏捷相关方法,以及用于实施自动化发布和交付策略的工具集。
为此,L7 LB不仅必须提供用于管理的API,还必须提供相应的监控和部署方式,以确保能够实现持续反馈和交付,满足当今严格的进度和预算要求。
F5支持多种编程方式,用于预配、部署、管理和监控L7 LB基础设施,包括:
- REST和SOAP API
- 适用于Chef、Puppet、Cisco、VMware、Electric Cloud、New Relic、Nagios、Ansible、Urban {code}等的插件
- 智能模板
超越POLB:时机已到
出于多种原因,POLB和L7 LB等应用基础设施的职责正从网络团队转移到应用和运维团队。无论是为了满足业务对更多应用和更短交付周期的需求而采用敏捷方法或DevOps,还是为了实现前所未有的快速扩展,超越POLB都能在一个易于管理、可编程且可融入现代CI/CD流水线的平台上,为安全性、性能和可用性提供更多选择,从而支持现代应用和交付架构。
现在应考虑突破POLB的局限,开始充分利用日益由您负责的基础设施。

关于作者

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服务。