AWS推出服务网状网络App Mesh公开预览版,供用户轻松的监视与控制AWS上,构成应用程序微服务之间的通信。用户能以App Mesh监控在Amazon ECS、Amazon EKS,还有在Amazon EC2的Kubernetes上执行的微服务。App Mesh除了Amazon CloudWatch和AWS X-Ray,也集成了Prometheus和Datadog监控工具。
不少企业都使用微服务构架创建网络应用程序,将应用程序拆解成许多独立组件部署并运行,这样的方式允许每个组件根据需求独立扩展,有助于提高应用程序的可用性和可伸缩性。AWS提到,当应用程序由越来越多微服务组成时,开发者会难以识别以及隔离问题,包括应用程序可能发生的延迟、错误率或错误代码。
当然,开发者可以为微服务添加自定义义的代码,并使用开源工具,管理每个微服务的通信,但是这些解决方案有较高的应用障碍,包括安装困难、难以跨团队更新或是有管理可用性和弹性复杂度问题。AWS发布App Mesh使用新的构架模式,来解决这些问题,并提供一致且动态的方法,管理微服务间的通信。
App Mesh并非内置在微服务中,而是独立的服务,其执行逻辑是,监视和控制每个微服务之间的通信,被实例为与微服务平行运行的代理服务器,非微服务的一部分。代理服务器处理进出微服务的网络流量,并为微服务提供可见性、流量控制,以及安全功能的一致性。将代理服务器放置于每个微服务前的好处,就是能自动抓取和服务之间的通信指标、日志和关注信息。
开发者可以使用App Mesh构筑微服务链接的方式,App Mesh会自动计算并且发送适当的配置,到每一个微服务代理服务器,这将提供标准,易用的可见度和流量控制。App Mesh使用开源代理服务器Envoy,兼容于广泛的AWS生态系统与开源工具。另外,App Mesh也能让用户输出可观测数据到多个AWS或是第三方工具,包括Amazon CloudWatch、AWS X-Ray或是与Envoy集成的第三方监控与关注工具,像是Prometheus和Datadog。
现在AWS App Mesh上线提供公开预览版,暂时先在北弗吉尼亚州、俄亥俄州、俄勒冈州和爱尔兰的AWS区域开放。