【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

AWS App Mesh:用于 Envoy 的服务网格控制平面

  • 2019-01-07
  • 本文字数:2354 字

    阅读完需:约 8 分钟

AWS App Mesh:用于Envoy的服务网格控制平面

亚马逊发布了 AWS App Mesh,这是一种服务网络,允许开发人员标准化微服务的通信方式、实现微服务之间的通信规则,并将指标、日志和跟踪信息直接捕获到 AWS 服务和第三方工具中。App Mesh 实际上是由 AWS 托管的 Envoy 控制平面,Envoy 是一个开源的服务网格数据平面代理。

正文

亚马逊发布了AWS App Mesh,这是一种服务网络,允许开发人员标准化微服务的通信方式、实现微服务之间的通信规则,并将指标、日志和跟踪信息直接捕获到 AWS 服务和第三方工具中。App Mesh 实际上是由 AWS 托管的 Envoy 控制平面,Envoy 是一个开源的服务网格数据平面代理。App Mesh 目前可用于 Amazon Elastic Container Service(ECS)、Amazon Elastic Container Service for Kubernetes(EKS)和 EC2 上的 Kubernetes。


AWS App Mesh 提供了一组 API(通过 CLI 和 SDK 暴露出来),支持基于服务版本的应用程序间细粒度流量路由规范,例如,支持金丝雀发布或 A/B 部署。App Mesh 还可以对服务客户端进行访问控制和配额限制。利用 Envoy 提供的功能,可以将流量镜像到备用环境,以便进行进一步的故障排除,并且可以注入故障进行混沌实验。不过,部分功能计划在 GA 版本中发布,目前尚未在 App Mesh 中实现。


要在 ECS 上部署 App Mesh,必须将 Envoy 代理容器镜像添加到相关的任务定义中。对于 Kubernetes 来说,必须将 Enovy 代理镜像添加到 Kubernetes PodSpec 中。Envoy 边车容器使得 App Mesh 能够拦截和管理来自相关服务的所有通信,并将指标、日志和跟踪信息导到 Envoy 引导程序配置指定的端点。


AWS App Mesh 由以下组件组成:


  • 服务网格:“服务网格”实例是服务间网络流量的逻辑边界。

  • 虚拟节点:虚拟节点是指向特定“任务组”的逻辑指针,例如 ECS 服务或 Kubernetes 部署。

  • Envoy代理和路由器管理器:Envoy 代理及其路由器管理器容器镜像将微服务任务组配置为使用为虚拟路由器和虚拟节点配置的 App Mesh 服务网状流量规则。

  • 虚拟路由器:虚拟路由器处理服务网格中一个或多个服务的流量。

  • 路由:路由与虚拟路由器相关联,它将与服务名称前缀匹配的流量定向到一个或多个虚拟节点。



AWS App Mesh 组件(图像来自 App Mesh 文档)


App Mesh 目前主要用于服务到服务“东西向”流量控制和观察。虽然后 GA 版本路线图中列出了“将 App Mesh 用于摄入路由”这一功能,但 App Mesh 文档目前建议使用 AWS Elastic Load Balancing 处理所有“南北”网络流量和来自不在组织信任边界内的客户端的流量。在 App Mesh 生态系统之外,基于 Envoy 的提供摄入支持的其他实现也取得了一定的进展,其中包括Datawire AmbassadorSolo GlooIstio Gateway等开源实现。


AWS 表示,他们已经在开发一种服务网格,其中包括遵循“AWS 最佳实践”的控制平面和 API。目前,App Mesh 发布了为 Envoy 而构建的 1.8.0 版本,其中包含 SigV4 的扩展,可以使用 AWS 认证系统正确验证 Envoy(这项变更计划被合并到 Envoy 上游)。具体来说,App Mesh 是可插拔的,并将在未来支持定制的 Envoy 镜像和Istio Mixer,以及允许 AWS 增加对其他计算机服务的支持,并且成为可扩展、健壮、经济且高效的多租户控制平面。


社区对该发布公告的反应不一。包括 Shriram Rajagopalan(VMware 工程师和 Istio 贡献者)在内的一些人表示,示例中的一些内容似乎是在未经确认的情况下从 Istio 项目中直接拿走的。其他人(如 Christian Posta)指出,App Mesh“是 AWS 的,并不是开源的”。目前,App Mesh 示例存储库中记录了一个叫作“Opensource App Mesh Envoy Management Service(EMS)”的后 GA 版本功能,尽管它并不包含任何有关开源版本的信息。


一些 Twitter 用户(包括行业杰出人物 Kelsey Hightower 在内)质问为什么 AWS 没有为现有的 Istio 项目做出贡献,并且认为“有了可靠的功能和干净的 API,要开始为 Envoy 开发一些东西就会更容易,然后在拥有了一个最小可行产品后就可以发布了”。 AWS 开源技术专家 Arun Gupta 似乎支持这种分析,并表示“Istio 与 Kubernetes 紧密耦合,我们需要能够扩展工作负载,不仅仅是容器,而是跨 AWS 的任何工作负载”。云原生计算基金会首席技术官兼首席运营官 Chris Aniszczyk 提出了一个有趣的观点:“还有一个微妙的观点,即 Envoy 是中立的,而 Istio 目前还不是”。


Lyft 软件工程师、Envoy Proxy 作者 Matt Klein 在 Twitter 分享了一系列有关 App Mesh 发布的有趣观点。关于 Envoy 项目的主要目标:


Envoy 社区对实现我们的目标一直很自信,即创建功能丰富、可扩展且可配置(版本化的类型 API)的数据平面,而不是为了创造一种固执己见的最终用户体验。


他认为,Envoy 提供的“云原生数据平面”以及 Kubernetes、Nomad 或 Mesos 等调度程序构成了“新的云原生操作系统”。他说,这是一个可以在其上“建立、创新和货币化”的平台。


基础云原生平台/操作系统将完全开放,并由主要云和[P/C/F] aaS 提供商提供。实际资金和自主创新将成为最重要的服务:安全/监控/审计/工作流/UI/等。

并且所有主要云供应商、PaaS 供应商等都将 Envoy 代理作为默认的云原生数据平面,这意味着我们现在可以开始构建,而不必担心碎片化问题。它太强大了。


Klein 还确认了HashiCorpDatadog正在开发 App Mesh 集成,进一步说明了供应商正在提供更高级别的价值。


AWS App Mesh 为北弗吉尼亚州、俄亥俄州、俄勒冈州和爱尔兰 AWS 区域提供各了公共预览版。使用 AWS App Mesh 不收取额外费用,客户只需要为与服务容器一起运行的 App Mesh 代理所使用的基础 AWS 资源支付费用。


GA 版本计划于 2019 年发布。完整的GA版本路线图后GA版本路线图可以在 AWS APP Mesh 示例 GitHub 存储库中找到。有关 App Mesh 的其他信息可以在“入门”页面上找到。


查看英文原文https://www.infoq.com/news/2019/01/aws-app-mesh


2019-01-07 10:326648
用户头像

发布了 731 篇内容, 共 434.0 次阅读, 收获喜欢 1997 次。

关注

评论

发布
暂无评论
发现更多内容

50w字+的Android技术类校招面试题汇总(附答案,kotlin枚举反射

android 程序员 移动开发

5月份,京东 Android开发面经分享!,kotlin协程并发

android 程序员 移动开发

Android Gradle 学习笔记整理,阿里Android面试必问

android 程序员 移动开发

4轮字节面试后杳无音信,自己是在了备胎池了吗?感觉我的Android开发要凉了呀

android 程序员 移动开发

Android - 更安全地保存静态密钥,android三种开发模式

android 程序员 移动开发

95-后程序员一出校门就拿年薪-30多万?,android开发文档百度云

android 程序员 移动开发

@Android程序员:到底是Android不行了,1-3年的Android开发工程师看过来

android 程序员 移动开发

Android - 开发常用工具类Utils,真的已经讲烂了

android 程序员 移动开发

Android 11 中的存储机制更新,android项目开发实战入门光盘文件

android 程序员 移动开发

Android Gradle 常用配置,androidsdk环境配置

android 程序员 移动开发

Android - singleTask启动模式详解,腾讯Android面试

android 程序员 移动开发

Android 9,flutter安装教程2019

android 程序员 移动开发

Android AutoService 组件化,android完整项目源码

android 程序员 移动开发

8年老Android开发谈;Context都没弄明白凭什么拿高薪?

android 程序员 移动开发

8年老司机教你,如何写出一份“有理有据使人信服,Android开发者必看避坑指南

android 程序员 移动开发

@Android程序员:不是安卓不行了,handler内存泄露

android 程序员 移动开发

Android Gradle 干货,sharedpreferences跨进程

android 程序员 移动开发

606页Android最新面试题含答案,助力成为offer收割机,已开源

android 程序员 移动开发

8年老Android开发谈;简化UI都没弄明白凭什么拿高薪?,android路由框架

android 程序员 移动开发

Activity切换效果,androidwifi密码

android 程序员 移动开发

Activity显示界面——说说View的那些理不清的关系,移动端h5页面适配

android 程序员 移动开发

Android - AndroidStudio的下载、安装与配置,android开发艺术探索下载

android 程序员 移动开发

Android - 运行时权限一个工具类搞定,让人茅塞顿开

android 程序员 移动开发

Android BLE基础框架全新改版,android音视频开发面试题

android 程序员 移动开发

5G时代已经到来了,你还觉得Android行业凉了嘛?,Android面试官

android 程序员 移动开发

5年内被辞退3次,35岁程序员该何去何从?百度,这些年Android面试的那些套路

android 程序员 移动开发

6年老Android2019面经总结,2021年抓住金三银四涨薪好时机

android 程序员 移动开发

Android 10手势导航的侧滑返回效果优化策略,2021最新Android大厂面试真题大全

android 程序员 移动开发

Android 11适配指南之系统相机拍照、打开相册,Android开发两年

android 程序员 移动开发

Android AOSP 6,flutter面试题

android 程序员 移动开发

Android - singleTask启动模式详解(1),kotlinnative原理

android 程序员 移动开发

AWS App Mesh:用于Envoy的服务网格控制平面_服务革新_Daniel Bryant_InfoQ精选文章