背景
回顾下应用服务架构体系的演进。从服务调用方与提供方的处理方式来看, 可以分为 3 个阶段。
在云原生应用模型中,一个应用程序可能会包含若干个服务,每个服务又有若干个实例构成,那么这些成百上千个应用程序的 Sidecar 代理就形成了一个数据面, 也就是图中的数据平面层。
而如何统一管理这些 Sidecar 代理, 这就是服务网格中的控制平面部分要解决的问题。控制平面是服务网格的大脑,负责为数据平面的 Sidecar 代理下发配置, 管理数据面的组件如何执行, 同时也为网格使用人员提供统一的 API,以便较容易地操纵网格管理能力。
通常来说, 启用服务网格之后, 开发人员、运维人员以及 SRE 团队将以统一的、声明的方式解决应用服务管理问题。
服务网格加持下的云原生应用基础设施
服务网格作为一种用来管理应用服务通信的基础核心技术, 为应用服务间的调用带来了安全、可靠、快速、应用无感知的流量路由、安全、可观测能力。
可以看到, 服务网格加持下的云原生应用基础设施带来了重要的优势, 分为六个方面。
托管式服务网格 ASM 在成为多种异构类型计算服务统一管理的基础设施中, 提供了统一的流量管理能力、统一的服务安全能力、统一的服务可观测性能力、以及基于 WebAssembly 实现统一的代理可扩展能力, 以此构筑企业级能力。
服务网格技术的下一站如何发展
Sidecar Proxy 与 Proxyless 模式的融合一句话来总结的话,就是同一个控制面, 支撑不同的数据面形态。同一个控制面就是指使用 ASM 托管侧组件作为统一的标准形式的控制入口, 这个控制面运行在阿里云侧,属于 hosted 托管模式。
根据监控的四个黄金指标维度(延迟、流量、错误和饱和度),服务网格 ASM 为管理的服务生成一系列指标, 支持多个协议, 包括 HTTP,HTTP/2,GRPC,TCP 等。
此外, 服务网格内置了 20 多个监控标签, 支持所有 Envoy 代理指标属性定义、通用表达式语言 CEL, 支持自定义 Istio 生成的指标。