服务网格是一组重要的功能,可解决在操作服务样式体系结构时遇到的一些棘手的服务到服务通信挑战。 正如Kubernetes和容器有助于为一组计算机上的部署和运行工作负载提供一组不错的抽象一样,服务网格也以一种使操作员和开发人员可以控制请求路由,可观察性和可扩展性的方式来抽象化网络。政策执行。 这提供了很大的潜力

唯一的问题是,尽管Kubernetes已经成为一种强大的API,可以抽象出用于调度工作负载的基础架构,但没有一个实用的API可以显示服务网格中所需的功能。

最近建议在KubeCon EU 2019上宣布“服务网格接口” ,以帮助解决此问题。 全面披露:我为Solo.io工作,Solo.io是SMI的联合创始人之一, 也是统一服务网格的最初愿景的领导者。

尽管还处于初期,但SMI规范打算统一在Kubernetes上运行的服务网格的功能和API(尽管这也可以为在k8s之外运行的服务网格奠定基础)。

这样做对服务网格社区有几个直接的好处:

  • 服务网格的实现可能很复杂; 着重于能够实现与实现无关的关键功能的API,可以提高整体的可理解性
  • 在服务网格社区的动荡世界中,关注功能并通过标准接口采用它们可以减少对任何特定实现的依赖; 刚入门时,这对最终用户来说是一个强大的位置。
  • 服务网格提供了一组强大的旋钮和杠杆,用于操纵和定义规则(对网络进行编程); 需要一些东西来协调这些旋钮和杠杆; 无论是供应商提供的扩展,还是您自己编写的扩展-将网络编程为任何一种特定的实现,其假设都将您与该实现联系在一起,并可能使实现复杂化
  • 为较低层(如服务网格)的稳定性奠定基础,这为进一步创新打开了大门,其中整个生态系统都将获得胜利

最低共同分母

社区中有些人对此种方法的可行性存有疑问,恕我直言,他们的声音非常重要。 例如,我非常敬重的蒂姆·霍金(Tim Hockin)提到了SMI方法成为“最低公分母”并可能取悦任何人的可能性。

服务网格功能仍然可以肯定地出现(如在当前服务网格实现的不同功能集中所看到的),但是Istio,LinkerD,Consul,App Mesh和其他功能似乎在以下方面收敛:

  • 流量请求路由(加权路由,L7请求级别匹配等)可以启用诸如金丝雀释放之类的功能。 这样做的目的是减小爆炸冲击半径对变化的影响。

    • 请参阅Istio,目前是App Mesh;
  • 顶级度量标准收集,例如等待时间百分位数,吞吐量,错误率
    • 请参见Istio,App Mesh,Linkerd;
  • 以服务身份为基础的策略实施
    • 请参阅Istio,领事,Linkerd和App Mesh,以在不久的将来添加它

语义并没有那么大的不同

目前,Istio具有针对这些功能的成熟和开发的实现,但是还有其他几种实现也实现了这些功能并且正在不断完善。 实际上,这些实现的方向非常相似,但在易用性,用户体验,管理,集成等方面存在关键差异。但是关键是,“服务网格提供了什么功能”的语义并没有什么不同。 借助社区,包括Istio,linkerd,consul,App Mesh社区(包括对自己的成功感兴趣的所有供应商)中的社区,可以恕我直言围绕这些不太分散的功能的API。

特使代理正在普及

该服务网格讨论的另一个非常重要的部分是围绕通用数据平面代理的清晰融合(大部分是?)。 Envoy代理是4种出色的服务网格实现中的3种的核心代理,其他服务网格提供商也希望在Envoy的基础上进行构建。 同样,我发现每个实现的控制平面可能在某些方面有所不同,但是根据网络API的基础功能集将从Envoy派生而来,跨具有相同数据平面的服务网格的通用抽象并不是那么远拿来。 正如Tim所指出的,真正的麻烦在于实现的多样性。 在这种情况下,它们并没有太大的分歧。 关于控制平面本身,我们将看到它们在实现上也没有太大差异。

基于现有的实现

最后,SMI部分源自现有的服务网格实现。 这不是梦implemented以求的,由财团主导的,由尚未实施,运营甚至未使用服务网格的人们领导的努力。 相反,目前,社区是由具有实际,在生产中部署的服务网格实现的供应商和组织贡献的。 从这些经验中获得实用的API的能力并非遥不可及。

SMI由供应商领导

我尊敬的社区中另一个杰出的声音是Zack Butcher,他表达了他的观点,即SMI不通过气味测试,因为它是由想要销售某种东西的供应商领导的。 他特别说

“他们的动机是什么,他们是否愿意给我,用户一个更有用的网格?”

SMI Spec的创始人之一Brendan Burns 有一个有趣的观点 :

“目前服务网格中必须将自己锁定在实现中的最新技术很糟糕。 此外,没有人可以为所有服务网格构建共享工具,这更糟。 而且没有人可以构建包括服务网格API的Helm图表,而无需选择展示。”

在我工作的Solo.io,我们有兴趣看到一个单一的服务网格接口,因为我们不断与需要解决的客户见面:

  • 不确定选择哪个网格
  • 想要建立在网格之上,但想要在动荡的环境中对冲他们的赌注
  • 希望获得更友好的用户体验来管理其服务网格
  • 需要将他们的南北交通与东西方网格决策整合起来
  • 希望供应商帮助他们,但是…
  • 不知道任何一个网格供应商的动机

我们的客户和潜在客户欢迎有机会对“服务网格接口”进行融合以帮助他们应对这些挑战的机会。

此外,企业在与供应商相互竞争以满足他们的最终需求中发现了很多价值(并从中发现了很多价值!)过去,我们已经在Java和Java EE等社区中看到了这种竞争(我的背景—我敢肯定还有其他例子)。 标准API为企业提供了进行这些讨论的杠杆,并且其中有很多价值(只需要求一些专有供应商与竞争性开源供应商抗衡)。

赢家通吃

关于SMI的最后一个探索领域是这种想法,就像容器编排大战一样,最终将宣布单个供应商或单个网格实现。 如果是这种情况,并且您希望今天使用服务网格实现,那么像SMI之类的东西就显得尤为重要,因为您不想被选择错误的东西所困扰。

我认为现实是,我们将最终实现多个服务网格实现(无论是否设计),并且需要以某种方式(无论是在功能级别还是在集成级别)统一它们与他们,或管理他们的水平或以上所有)。

例如,我们与客户和潜在客户一起看到的一个真实用例是对Istio的当前投资,用于他们在本地的部署,但其他团队则去了AWS,并全力以赴,包括使用AWS App Mesh。 他们的实际情况是需要在这些网格之上构建工具,并且他们正在构建自己的抽象。 如果存在社区主导的抽象,那么他们将使用并看到这样做的很多价值(至少不必自己做!)。

推动服务网格社区前进

目前,在社区中进行健康的辩论是必要的,以显示我们可以探索和克服的关注,反对和机会,以将服务网格的强大功能带给最终用户和平台构建者。 服务网格代表了一组强大的应用程序网络功能,但实际上这并不是最终的游戏。

就像Kubernetes这样的容器和编排系统使“容器变得无聊”一样,服务网格也会使应用程序网络变得无聊。 为用户,社区以及参与该社区的组成供应商创造价值的有趣机会将排在首位,包括在服务网格之上。 如果服务网格生态系统最终以赢家通吃而告终,那就太好了! 我们将使用一个API来构建系统。 如果不是,并且我认为这将是更高概率的主张,那么最好是我们所有人共同努力,找出正确的API来体现服务网格可以提供的这些重要功能,而与实现无关。

翻译自: https://www.javacodegeeks.com/2019/06/moving-service-mesh-community-forward.html

推动服务网格社区前进相关推荐

  1. 和Sidecars说再见,看eBPF如何解决服务网格

    和Sidecars说再见,看eBPF如何解决服务网格 How eBPF will solve Service Mesh - Goodbye Sidecars https://isovalent.com ...

  2. 服务网格 ASM 年终总结:最终用户如何使用服务网格?

    01 背景 Aliware 阿里云服务网格 ASM 于 2020 年 2 月公测,近 2 年的时间,已有大量用户采用其作为生产应用的服务治理平台.阿里云服务网格 ASM 基于开源 Istio 构建.同 ...

  3. 服务网格:棋到中盘方见势

    一.服务网格:微服务框架 2.0 时代 如果我们使用"微服务框架"作为关键字进行搜索时,它会关联到"服务治理"."微服务框架 Spring Cloud ...

  4. 技术盘点:2022 年容器、Serverless、可观测、服务网格有哪些值得关注的趋势?

    阿里云智能总裁张建锋在2021云栖大会分享 2021 年,云原生取得很多重要进展.2022 年又有哪些值得关注的趋势?阿里云资深技术专家李国强(崭岩)做客 InfoQ 视频号,对云原生趋势做了最新的解 ...

  5. 如何用 Nacos 构建服务网格生态

    Nacos 简介 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称.目标是构建一个更易于构建云原生应用的动态服务发现.配 ...

  6. 如何用 Nacos 构建服务网格生态?

    简介:Nacos 在阿里巴巴起源于 2008 年五彩石项目(该项目完成微服务拆分和业务中台建设),成长于十年的阿里双十一峰值考验,这一阶段主要帮助业务解决微服务的扩展性和高可用问题,解决了百万实例扩展 ...

  7. 深度剖析Service Mesh服务网格新生代Istio

    作者简介:敖小剑,十五年软件开发经验,微服务专家,专注于基础架构,Cloud Native拥护者,敏捷实践者.曾在亚信.爱立信.唯品会和ppmoney任职, 现任数人云资深架构师,本文由数人云独家授权 ...

  8. 万字长文|深度剖析Service Mesh服务网格新生代Istio

    Service Mesh新秀,初出茅庐便声势浩荡,前有Google,IBM和Lyft倾情奉献,后有业界大佬俯首膜拜,这就是今天将要介绍的主角,扛起Service Mesh大旗,掀起新一轮微服务开发浪潮 ...

  9. 合阔智云核心生产系统切换到服务网格 ASM 的落地实践

    背景 合阔智云(http://www.hexcloud.cn) 是专注于为大中型零售连锁行业,提供全渠道业务中/前台产品和解决方案,并建立以消费者为中心的全渠道交易和敏捷供应链的新一代零售运营协同平台 ...

  10. 服务网格峰会 Service Mesh Summit 2022 重启报名

    笔者参与发起的服务网格峰会原定今年 3 月在上海召开,因为突如其来的疫情推迟至今,现在重新开放报名啦(之前报名过的还需要重新报名)!我也将在会上分享,欢迎大家前来捧场! Service Mesh Su ...

最新文章

  1. 上传图片到linux返回url,Springboot 将前端传递的图片上传至Linux服务器并返回图片的url(附源码)...
  2. 每日一皮:我靠,这个分枝真的merge回主干了!
  3. 战胜 Flash ,HTML5 还需要什么?
  4. 计算道路超高lisp_5G+AI超高清智能视频监控将迎来增长期
  5. python线程(二)代码部分Threading模块
  6. 推荐一简单易用的脑图制作工具
  7. 阿里巴巴Java开发手册-使用JDK8的Opional类来防止出现NPE问题
  8. netcat使用方法_记一次NC(NETCAT)传输文件实战
  9. 搭建 Apache Jmeter 分布式压测与监控
  10. Mac 内存被一个叫Installer的程序大量占用导致 内存严重不足 解决方案
  11. BlockingQueue原理分析(ReentrantLock、Condition的实践)
  12. 服务器注册dll,我在注册全部dll时出现. “Microsoft(C)注册服务器已停止工作”,我是为了解决一个...
  13. python高级索引
  14. 算法设计与分析——动态规划
  15. cad2017单段线_CAD将线段分成多段线的方法步骤
  16. Classloader整理
  17. R语言使用epiDisplay包的logistic.display函数获取二分类logistic回归模型的汇总统计信息(自变量初始和调整后的优势比及置信区间,回归系数的Wald检验的p值、简化汇总结果
  18. 信息安全专业要计算机好吗,哪些单位需要计算机信息安全专业的
  19. python ipaddress模块使用
  20. IDEA 中如何将项目打成war包

热门文章

  1. 相机模型(针孔模型+畸变模型)
  2. 20220505模拟赛总结(ABC237)
  3. 微信 Android 热补丁实践演进之路
  4. 卡内基梅隆大学计算机科学博士,美国卡内基梅隆大学博士需要几年
  5. VisualStudio Qt开发环境搭建以及Qt moc的讲解
  6. ardupilot 关于设备车Rover的学习《1》------如何编译下载
  7. python span函数_如何使用python selenium单击span元素
  8. 《金牌网管师——助理级网吧网管》目录
  9. 粘贴时word左下角出现“正在与服务器联系以获取信息,按ESC取消”
  10. 基于java springboot的图书管理系统设计和实现