又或者,那是沮丧的“泪水”?¯\_(ツ)_/¯ 也许两者都有。
网络架构与应用架构之间相互关联。通常,我们更常讨论应用架构的变化和转型如何影响网络,包括网络解决方案及其架构。但反过来也是如此:网络的架构和行为也可能对应用及其架构产生显著影响。
具体来说,如今我们看到单体应用被拆分为众多微服务,其中一个原因在于网络。之所以是现在而不是在SOA盛行时期,是因为网络,更准确地说,是因为网络速度。在SOA盛行时期,网络本身的特性(以及物理定律)带来了种种限制,导致无法将三四个以上服务的结果组合成单个响应。好吧,并非无法实现,只是每次调用都会产生延迟,因此并不可取。
如今,网络速度更快、带宽更高,计算速度也提升了一个数量级,因此将单体架构拆分为微服务成为可能。容器的特性让这种拆分变得更加容易,而容器与微服务的搭配就像咖啡配甜甜圈一样常见。需要通信的两个服务之间的“网络”通常是虚拟构造(数据包实际上从未离开主机服务器,因此不会产生“传输到网络”所带来的延迟),所以,为响应单个请求而可调用的服务数量远高于SOA时代所能合理实现的水平。
但这并不意味着可以忽视响应请求时需要经过的连接数和网络跳数,也不能忽视架构对应用性能的影响。即使计算速度更快、网络带宽更高,仍需应对运维开销,而这依然会影响性能。应对运维开销并提升性能的一种简便方法,是消除架构中不必要的层级,从而降低复杂性。
降低容器环境的复杂性
大多数容器部署都会在集群内部使用某种负载均衡器,以管理容器环境中微服务和应用的规模。这是因为这些负载均衡器通常需要对API执行L7路由(即入口控制),而原生负载均衡机制基于iptables,无法处理作为L7路由协议的HTTP。因此,容器集群内部会存在大量L7负载均衡器。
此外,大多数部署还需要在集群外部进行负载均衡,将外部流量转发到集群内部适当的负载均衡器。为此,可使用传统负载均衡,将请求分发到内部适当的负载均衡器。
我们把集群外部的负载均衡器称为BIG-IP,把集群内部的负载均衡器称为内部负载均衡器。因为这是我的博客,就这么定了。
问题在于,内部负载均衡器实例的数量会发生波动(有时波动很大)。每次发生变化时,都需要通知BIG-IP。传统上,这需要手动操作,由BIG-IP负责人手动修改池。这让开发人员和DevOps人员感到沮丧,也让NetOps人员觉得繁琐。换句话说,没人愿意这样做。
因此,才需要F5 Container Connector这样的解决方案。F5 Container Connector是一项容器原生服务,可与容器编排器集成并监测环境。当发生影响内部负载均衡器的变化时,该服务会触发更新BIG-IP的流程。这意味着,随着需求变化,BIG-IP会自动保持最新状态,并能将请求合理分发到处于活动状态且运行正常的内部负载均衡器。无需手动修改。
这种双层扩展架构的优势在于,它提供了一个便于处理入站流量的位置(BIG-IP),可在此终止SSL/TLS,从而带来可衡量的性能提升。很不错。
但何必止步于此?BIG-IP还可提供L7路由。如果使用F5 Container Connector服务,则可通过彻底移除内部负载均衡器,进一步提升性能(并降低运维开销)。确实如此。BIG-IP可充当Kubernetes和Red Hat OpenShift的入口控制器。
将入口流量管理职责移交给BIG-IP后,可以省去整个扩展层级(即内部负载均衡器),从而立即提升性能。由于外部负载均衡器是F5 BIG-IP,还可以在接入点部署高级WAF及机器人防御等以安全为重点的应用服务,而不必在容器集群内部部署(或完全不部署)。
运维阵营之争
随着容器越来越频繁地投入生产环境(这是必然趋势),DevOps与NetOps需要加强协作,才能实现此类改进,并确保应用具备所需的可扩展性、速度和安全性。毕竟,这并不只是点击按钮和使用自助式流水线。架构是关键组成部分,其设计需要同时听取DevOps和NetOps的意见,以免错失提升应用性能等方面的机会。
因为应用性能需要团队协作。它会受到代码(AppDev)、代码部署平台(DevOps)、网络架构,以及用于保护应用并支持其扩展的应用服务(NetOps)的影响。在可行的情况下,通过减少架构层级来优化架构,对运营和业务都有实际价值。但这需要团队所有成员共同参与。
不妨准备些披萨和啤酒,把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服务。