微软开发了一个轻量级,且可扩展的云计算原生服务网格(Open Service Mesh,OSM),用户可以一致且安全的方法,管理高动态的微服务环境。OSM解决方案构建在Envoy项目之上,以服务网格接口(Service Mesh Interface,SMI)实例,现在微软要把OSM贡献给云计算原生运算基金会(CNCF)。
当前有不少企业开始利用微服务打造应用程序,取代传统单体式应用程序,微软提到,微服务环境实现了可移植性,也使得应用程序部署周期更短更频繁,且因为微服务架构将应用程序拆分成许多小部分,这些部分能以对彼此的影响较小方式,个别变更或是更新。
但是要管理所有微服务,并且确保网络流量在服务间稳定传输,是一项困难的任务,微服务架构对于流量管理、安全性和可观察性解决方案的需求越来越高,而微软现在基于SMI开发的服务网格解决方案,可简化用户管理与监控微服务应用程序的工作。
OSM是一个在Kubernetes上运行的轻量级可扩展服务网格,可以在高度动态的微服务环境,提供用户统一的通信管理、保护和可观察方法,微软提到,他们希望OSM是一个由社群主导的项目,并促进SMI中新旧API的协作,通过制定OSM开放治理机制,使微软能够与社群充分协作,因此微软已经开始了将OSM贡献给CNCF的提案程序。
OSM可简化各项服务网格管理工作,像是在常见的部署场景配置流量转移,或是通过自动mTLS以保护服务间的通信,也能对服务应用精细的访问控制政策,并集成原生和外部凭证管理解决方案,甚至是利用自动边车注入方法,将应用程序加载到网格中。
服务网格抽象了网络环境,使得开发者能够更简单地部署微服务应用程序,跨多重网络底层,自动路由应用程序流量,因此用户不需要个别为每个应用程序服务配置网络。目前已经有许多与Open Service Mesh相似的服务网格解决方案,包括Google Istio与Kong Kuma等,而OSM主打的特点便是其简单的设计。
微软提到,他们希望OSM可以简单地在Kubernetes上安装、维护和执行,OSM项目开发遵循了三个基本原则,OSM提供与SMI规范兼容的控制平面,供用户有更多选择,并把Envoy作为资料平面,且让OSM足够灵活,可以同时使用SMI和程序化Envoy xDS API,来处理复杂的场景。