如今,微服务成为人们热议的话题。 它们是应用架构中的新热点,并且经常与其 BFF 容器一起被提及。 InfoQ 最近进行的一项调查显示,这两者都在“正在使用或计划使用”列表中名列前茅,其中容器(71.79%的受访者)勉强击败了微服务(70.4%)。 有趣的是,同一项研究表明,目前微服务的使用率(32.21%)比容器(29.44%)更高。
无论如何,微服务和容器是大多数组织关注的技术,这似乎是无可争辩的。
然而,与应用架构的任何重大转变一样,随着应用服务和网络功能适应这些新应用架构的需求,网络也会发生类似的转变。 这部分是由于应用程序架构的变化(尤其是根本性的变化)会改变网络模式,而且往往伴随着新的语言、网络平台以及由此产生的安全挑战。
例如,从客户端-服务器转向(现在的)传统的三层 Web应用不仅带来了应用架构中的另一层,而且还带来了一个补充的基础设施层,旨在满足蓬勃发展的互联网时代应用程序所需的规模和性能。 您可能还记得 XML 网关、XML 安全网关、XML 防火墙和其他相关“网络”设备的突然增长,它们的重点是解决(当时)新的应用程序架构 SOA 所带来的挑战。
随着云计算和移动技术开始显现其影响力,安全性问题逐渐凸显,一系列新的网络安全解决方案应运而生。 这些主要集中在管理和保护移动设备,包括这些设备所运行的网络,以及云访问安全代理。 “网络”发生了一种微妙的转变,至今仍能感受到;“网络”的扩展实际上包括了互联网。 应用在多种环境中的持续分散无疑将由网络来应对,即继续将传统的局域网服务(特别是安全服务)迁移到互联网,“作为一种服务”。
今天,我们看到微服务和 API 的兴起,主要是应用架构中的 RESTful。 与此同时,物联网以及应用和人类用户的爆炸式增长继续推动着规模的需求,但如今这种规模的重点是运营。
结果是,网络需要(并且在许多情况下确实如此)努力实现与其负责扩展、保护和优化的应用(服务)的架构兼容性。 这意味着采用虚拟和容器化的形式因素——包括云,并强调编排和自动化。 今天的目标是模板、API 以及与框架和工具集集成的能力,最终推动应用投入生产。
“网络”正在响应。 API 比比皆是。 模板和对其他模板系统(OpenStack Heat 和 AWS Cloud Formation Templates?)的支持正变得越来越普遍,对将应用交付基础设施“视为代码”的支持也是如此。
这种适应不同于传统的网络适应,传统网络中数据包的速度和馈送是关键。 此次最新的调整涉及配置速度以及 API 作为网络馈送的能力。 它专注于实现与应用架构的架构兼容性,无论它是部署在公共或私有(内部部署)云中,作为单个单片应用还是一组解耦的数百个微服务。
毫无疑问,网络会受到应用架构变化的影响,甚至是驱动。 两者之间存在着不容忽视的共生关系,特别是当我们进入以运营为中心的时代时,协调与合作是企业提供当今所依赖的应用以实现成功和发展的关键。