《Istio权威指南》结语


感谢各位读者阅读本书的全部内容!希望书中的内容能给您和您的日常工作带来帮助。下面谈谈笔者对服务网格技术的一些观点,以与各位读者共勉。

随着多年的发展,服务网格技术在用户场景中的应用及技术本身都进入了比较务实的阶段。以Istio为代表的服务网格项目通过自身的迭代和对用户应用场景的打磨变得逐渐稳定、成熟和易用。Istio已加入CNCF,这进一步增加了技术圈对服务网格技术的信心。通过这几年的发展,服务网格技术逐渐成熟,形态也逐步被用户接受,并越来越多地在生产环境下大规模应用。

在这个过程中,服务网格技术不断应对用户的实际应用问题,也与周边技术加速融合,更聚焦于解决用户的具体问题,在多个方面都呈现积极的变化。

除了Istio得到人们的广泛关注和大规模应用,其他多个服务网格项目也得到关注并实现了快速发展。除了开源的服务网格项目,多个云厂商也推出了自研的服务网格控制面,提供面向应用的全局的应用基础设施抽象,统一管理云上多种形态的服务(包括容器、虚拟机和多云混合云等),并与自有的监控、安全等服务结合,向最终用户提供完整的应用网络功能,解决服务流量、韧性、安全和可观测性等问题。

一个较大的潜在变化发生在网格API方面,Kubernetes Gateway API获得了长足的发展。原本设计用于升级Ingress管理入口流量的一组API在服务网格领域获得了意想不到的积极认可。除了一些厂商使用Kubernetes Gateway API配置入口流量,也有服务网格使用其来配置管理内部流量。社区专门设立了GAMMA(Gateway API for Mesh Management and Administration)来推动Kubernetes Gateway API在服务网格领域的应用。

较之控制面的设计和变化大多受厂商和生态等因素的影响,服务网格数据面的变化则更多来自最终用户的实际使用需求。在大规模的落地场景中,资源、性能、运维等挑战推动了服务网格数据面相应的变革尝试。

首先,服务网格数据面呈现多种形态,除了常规的Sidecar模式,Istio社区在2022年下半年推出了Ambient Mesh,在节点代理Ztunnel上处理四层流量,在拉远的集中式代理Waypoint上处理七层流量。Cilium项目基于eBPF和Envoy实现了高性能的网格数据面,四层流量由eBPF快路径处理,七层流量通过每节点部署的Envoy代理处理。华为云应用服务网格ASM上线节点级的网格代理Terrace,处理本节点上所有应用的流量,简化Sidecar维护并降低了总的资源开销。同时,华为云ASM推出完全基于内核处理四层和七层流量的数据面Kmesh,进一步降低了网格数据面代理带来的延迟和资源开销。

然后,在云厂商的网络产品中,七层的应用流量管理能力和底层网络融合的趋势越来越显著。即网络在解决传统的底层连通性的同时,开始提供以服务为中心的语义模型,并在面向服务的连通性基础上,提供了越来越丰富的应用层的流量管理能力,包括流量、安全和可观测性等方面。虽然当前提供的功能比一般意义上服务网格规划的功能要少,颗粒度要粗,但其模型、能力甚至场景与服务网格正逐步趋近。

其次,除了向基础设施进一步融合,网格数据面也出现了基于开发框架构建Proxyless模式的尝试。这种模式作为标准代理模式的补充,在厂商产品和用户解决方案中均获得了一定的认可,gRPC、Dubbo 3.0等开发框架均支持这种Proxyless模式。开发框架内置了服务网格数据面的能力,同时通过标准数据面协议xDS和控制面交互,进行服务发现、获取流量策略并执行相应的动作。这种模式比代理模式性能损耗少,也会相应地节省一部分代理的资源开销,但也存在开发框架固有的耦合性、语言绑定等问题。

再次,Proxyless模式从诞生时期开始就引发了较大的争论。一种观点认为其是服务网格的正常演进,是代理模式的有益补充;也有一种观点认为其是向开发框架模式的妥协,更有甚者批评其是技术倒车。笔者若干年前做过微服务框架的设计开发工作(项目后来开源并从Apache毕业),近些年一直聚焦于服务网格相关技术和产品,认为没必要太纠结技术形态细节。在为用户提供产品和解决方案的过程中,近距离深入了解各类用户的实际业务需求和痛点,我们认为几乎所有技术呈现的变化都是适应用户实际业务的自我调整。具体到网格数据面的这些变化,说明服务网格技术正进入了快速发展时期。在这个过程中,希望我们这些有幸参与其中的技术人员能够以更开放的心态接纳和参与这些变化,深刻洞察用户碰到的问题,并以更开阔的技术视野解决用户问题,避免各种无休止的技术形态空洞之争。我们认为技术唯一的价值就是解决用户问题,产生有用性。正是不断涌现的用户业务需求,推动了技术的进步和发展,也提供给我们参与其中的机会和发挥作用的空间。

最后,再次感谢各位读者阅读本书,也很期待将来有机会就其中的内容和您进行技术交流。假如您需要更深入地学习服务网格及云原生相关技术,欢迎关注我们的“容器魔方”公众号,一起学习并讨论服务网格及云原生领域内的最新技术进展。

​ 张超盟