【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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:326651
用户头像

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

关注

评论

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

RUOYI 框架教程 9|若依数据权限这样控制到个人,你是这么用的么!

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

RUOYI 框架教程 11 | 若依主页面调用类目表,写入主表相关信息,居然这么简单!(第九篇~)

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

【遇见Doris】Apache Doris在一点资讯自媒体平台的应用

ApacheDoris

【遇见Doris】

RUOYI 框架教程 2 |小白都能学会的 3 分钟搭建框架教程

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

[C++总结记录]构造函数与析构函数调用时机

图解AI

c++

RUOYI 框架教程 7 |若依js设置高度及自适应居然这么简单,你敢信么!

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

【遇见Doris】Apache Doris 在百度商业大规模微服务全链路监控的实践

ApacheDoris

【遇见Doris】

【遇见Doris】Doris核心功能介绍——数据模型和物化视图

ApacheDoris

【遇见Doris】Apache Doris Parquet文件读取的设计与实现

ApacheDoris

【遇见Doris】

[C++总结记录]函数相关细节注意点

图解AI

c++

[C++总结记录]对象内存占用情况及this指针注意点

图解AI

c++

【遇见Doris】Spark Doris Sink的设计和实现

ApacheDoris

【遇见Doris】

RUOYI框架教程1 |小白都能学会的3分钟搭建框架教程

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

【Doris全面解析】存储层设计介绍1——存储结构设计解析

ApacheDoris

RUOYI 框架教程 6 |若依日期操作居然这么多写法,你敢信么!

Java_若依框架教程

Java Ruoyi 教程 框架 若依

【遇见Doris】寒冷冬日的一次温暖相聚 · Doris开发者沙龙

ApacheDoris

【遇见Doris】

【遇见Doris】Apache Doris在京东双十一大促中的实践

ApacheDoris

【遇见Doirs】

【Doris全面解析】存储层设计介绍2——写入流程、删除流程分析

ApacheDoris

有趣的技术知识 2 | 来了,阿里云网盘公测!

Java_若依框架教程

有趣的技术知识

【遇见Doris】 Apache Doris 基于 Bitmap的精确去重和用户行为分析

ApacheDoris

【遇见Doris】

【实践分享】ProxySQL实现Doris FE高可用

ApacheDoris

RUOYI 框架教程 8 | 若依给页面加水印这么简单,你见过么!

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

RUOYI 框架教程 10 |若依Excell数据导出小数处理,你会么!

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

[C++总结记录]构造函数与析构函数注意点

图解AI

[C++总结记录]构造函数初始化注意点

图解AI

c++

有趣的技术知识1 | 为什么这些网站电脑打不开,手机却可以访问?(附智能追剧解决方案)

Java_若依框架教程

有趣的技术知识

[C++总结记录]struct与class注意点

图解AI

c++

RUOYI 框架教程 5 |若依Excell导入这么做,0经验小白都能写!

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

RUOYI 框架教程 3 | 操作小技巧,快看看你掌握了多少!

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

RUOYI 框架教程 4 | 若依操作小技巧,快看看你学"废"了吗!(第二篇~)

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

【遇见Doris】Doris基于Hive表的全局字典设计与实现

ApacheDoris

【遇见Doris】

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