共计 7930 个字符,预计需要花费 20 分钟才能阅读完成。
作者:褚杏娟
前言:
云简直给每项基础设施都带来了冲击,网关也不例外。近期,云原生网关概念也越来越被大家热议。那么,到底云原生网关须要具备哪些特点?支流网关产品如何适应云原生?网关规范对立是否必要?云原生网关将来如何倒退?
此前,Higress 发起人、阿里云微服务引擎负责人李艳林(彦林)受邀与企业用户代表一起聊聊网关的演进历程。
本文依据李艳林(彦林)答复摘取整顿而成。
如何应答业务需要?
首先,请针对 UU 跑腿的一个场景来提出本人的解决方案。
UU 跑腿曾经是云原生架构了,但作为一家配送平台,UU 跑腿有大量的客户须要通过网关接入平台,同时也有大量的后端服务须要接入网关,因而确保网关的稳定性和可靠性是十分重要的,这样能力保障业务的持续性和客户的满意度。在这样的需要背景下,Higress 会用怎么的形式来帮忙企业达成指标呢?
李艳林(彦林): 我理解到 UU 跑腿业务是线上线下联合的。因而,相比于个别的纯线上业务,对于稳定性的要求会更高一些,这是能够了解的。随着整个业务逐步上云,行业对可靠性的要求会越来越高,特地是网关作为整个公司的入口,如果呈现问题就会带来十分大的损失。咱们在做 Higress 的过程中也是更加关注稳定性。我想分享一些想法。
首先,咱们的架构和内核应用了 Envoy 和 Istio,它们的益处是 将数据面和管制面解 耦 。 这意味着,如果管制面呈现问题,数据面不会受到影响。这种拆散无效地防止了管制面的平安和稳定性问题对数据面的影响。在内核上,咱们应用了一种称为 WASM 的沙箱扩大机制。如果扩大逻辑代码呈现问题,WASM 沙箱会做很好的隔离,不会影响整个网关的主业务。这种设计能够在肯定水平上管制整个零碎的爆炸半径。
其次,对于 UU 跑腿和阿里巴巴的 IoT 设施,因为在线上线下联合的过程中,这些设施对稳定性有更高的要求,特地是在多端状况下。如果在个别状况上来更新规定、路由或证书插件,连贯可能会产生抖动。但因为 Higress 采纳了 Envoy 内核,所有规定变更都是热更新的,因而对长连贯都是十分敌对的,不会抖动。这将显著进步在线业务的连续性和稳定性。
最初,简略介绍一下 Higress。尽管咱们在 2022 年 7 月的云栖大会上开源了它,但在阿里云外部,咱们曾经孵化云原生网关大略三到四年了。最后,它是为了解决阿里电商和蚂蚁之间的互通问题,让 RPC 能够间接调用并应用 gRPC 协定。通过几年的验证,包含在双十一等大促场景和成千上万家企业的验证,它当初十分稳固。在这些根底上,Higress 次要关注一些推空爱护和其余细节方面的性能。
企业须要怎么的网关?
除了方才提到的,当初企业对网关产品还有哪些要求?当初网关产品曾经解决了哪些问题?还有哪些需要未被满足?
李艳林(彦林): 这个话题很有意思,它实际上关乎人们对整个网关将来的定位和趋势判断。从阿里云的角度来看,咱们认为客户最关注的是网关的平安问题。事实上,阿里巴巴最后开发网关也是为了解决平安问题,因为咱们心愿可能通过一个对立的入口来解决平安问题。
以前我在内部也遇到很多客户的利用因为一些问题而被攻打,导致整个危险极大。因而,网关的第一个重要作用就是建设对立的平安防线。Higress 在这方面提供了一些 WAF 插件、认证插件,以及黑白名单机制,能够为企业数字化降级过程中保驾护航。
我认为,无论是国内还是海内,平安都是网关的首要问题。尽管国内许多人关注高可用性,但海内很多人更加重视安全性,它们都在某些私有云上运行,并且十分重视利用平安和基础设施平安。
其次,我想谈谈高可用和稳定性。其实,大家最关怀的问题可能是咱们的网关稳定性如何、是否帮忙咱们解决高可用问题。在这方面,Higress 做了一个深度集成,应用阿里云的 Sentinel,在入口提供整体的降级防护能力,以避免业务雪崩。
往年咱们搞了很屡次大促、海内业务等爆发性增长,当流量达到峰值时,建设防护线以避免异样流量打垮整个零碎十分重要。特地是对于像 UU 跑腿这样有顶峰值场景的业务,保障业务的整体意义更加重大。
过来两年,我在做海内网关竞品剖析时发现,最早的架构可能是 SLB+ECS(单体利用架构),包含云服务都是这样的架构。随着微服务的衰亡,人们开始应用 API 网关等工具来治理微服务,并将其集成到服务网格体系中。在 Serverless 时代,每个畛域都有独立的入口,并且经营数据是独立统计的。这种架构演进也带来了问题。例如,咱们往年做了一个标杆客户,须要挂三层网关,相当于在单体到微服务、再到 Kubernetes 的过程中增加了网关层,导致整个拜访链路多层网关,最终影响 RT 和运维效率。
我看到 UU 跑腿之前也在解决协定的转换,将 HTTP 转换为 Dubbo,须要加一个网关,这样代价太大了。因而,Higress 定位是反对多种后端服务负载模式的对立,包含单体微服务、Kubernetes 和整个服务器的负载平衡。咱们将后端的能力裸露到北向,进行服务发现,并将整个微服务网关、流量网关和平安网关三合一,以便高效地解决业务问题。这样,用户的业务和运维老本,以及资源老本都会大幅升高。咱们发现客户十分认可这种做法。
在网关的规范方面,我最近在钻研时发现,有三个规范,别离是协定规范(HTTP 加 RESTFUL),文档规范(Swagger),以及路由规范(Kubernetes Ingress / Gateway API)。Kubernetes 推出了路由规范,并通过 Higress 逐步将路由规范对立起来,这是十分好的事件。
此外,开源社区正在推动 Gateway API 的欠缺,这将进一步对立路由规范。咱们心愿通过开源规范的建设来推动整个产业的倒退。相似于 Linux 规范、MySQL 规范等,网关规范的建设对于将来云计算的倒退是至关重要的。将来,咱们置信这些需要,包含 API 治理的更多能力,可能更好地逾越云、混合云和多云。 这是我思考的一些问题,心愿对大家有帮忙。
你眼中的云原生网关
对于将来 1 年在云原生网关的布局是什么样的?
李艳林(彦林): 咱们始终参加阿里容器化的架构演进。这个过程中,咱们发现云原生网关应该具备四个特点:标准化、高集成、热更新和易扩大。为什么呢?
首先,咱们冀望代码能够跨云、混合云、公有云和私有云运行,而不受厂商的限度。比方,采纳某个厂商的实现时,如果须要切换到另一个厂商,不会因为厂商差别而呈现问题。因而,标准化十分重要,它解除了厂商的绑定。Ingress 规范、Gateway API 规范和容器规范等形成了云原生的根底。
在此基础之上,咱们强调云原生网关应该具备高集成特点。作为一家以私有云为主的厂商,咱们的思路与专有云为主的厂商有所不同。咱们提到高集成,是因为咱们发现在传统架构中,通常有三层:前端平安网关 WAF、两头流量网关 Nginx、后端微服务网关 Spring Cloud Gateway。例如,我曾遇到一位客户在面对超时问题时须要拉三拨人去查,判断到底是 WAF 超时,还是 Nginx 或 SpringCloud Gateway 超时,这样的部署资源老本很高,而且排查链路效率非常低。
咱们认为“合久必分,久必合”。为什么有这个想法?因为咱们是从第一性原理登程,阿里外部并没有那么多网关,为什么明天会有三个?其实是为了简化架构,更好地拆分模块和职能,但实际上这不合乎用户的利益。用户的理论利益在于老本,包含运维老本和部署老本。因而,咱们认为大部分客户可能都须要高集成,包含像阿里、快手、抖音和腾讯等头部厂商。这些大厂也须要拆分,拆分逻辑包含四层和七层,下层应用 SRB,上层可能应用原生网关,下层承当流量,上层负责路由转发。但对于大部分中小客户,一层就足够了。例如,咱们的客户曾经有数百万连贯和几百万 TPS 的数据,但只须要一层就足以应答。这显然升高了整个运维和部署老本。
第三个是热更新。 实际上,咱们认为 Kubernetes 带来的一个外围变动是业务频繁调度。如果调度频繁,后端公布和规定变更须要疾速联动,尤其是在存在长连贯和 IOT 设施的状况下,连贯的抖动是不可承受的。因而,热更新在确保连贯稳定性方面十分必要。随着基础设施和应用场景的一直变动,包含线上线下联合、IoT 设施等,热更新的重要性会越来越突出。
第四个,易扩展性 也是重要的一点。咱们发现许多客户在网关上都进行了定制,次要包含平安和路由方面的定制,甚至包含存储方面的定制,这是因为不同公司在平安定制方面的策略不同。因而,易扩展性十分重要。咱们采纳了多语言热更新等机制,使得咱们的网关能够更好地反对定制需要。
因而,咱们认为在将来,这四个能力:易用性、高集成、热更新和易扩展性,将是云原生网关必备的。
在明天的云原生网关定位和倒退过程中,咱们围绕着四个关键点开展,以差异化能力为指标。大家都晓得,像 APISIX 和 NGINX 这样的巨头领有十分强的护城河,所以咱们须要构建差异化能力,围绕着这四个关键点进行。目前,咱们曾经实现了整个云原生网关的布局,接下来会在易用性和 Gateway API 的标准化上持续摸索。
我发现云原生网关与 API 网关的区别在于云原生网关多了一个 API 的档次。这是十分重要的,因为有了 API,咱们能够利用其自动化测试、调用和平安审计的能力,这对于将来联合人工智能十分重要。咱们意识到,如果只做底层的原生网关和根本的路由能力,就无奈获取服务和 API 的元数据,这将限度咱们在减少更多功能时的扩大能力。因而,咱们最近在外部摸索一种可能的演进方向。
咱们曾经实现了阿里巴巴的 Nacos 和 Dubbo 生态的整合,包含在灰度公布方面集成了 Kubernetes OpenKruise,这为咱们打造更多的生态扩大奠定了根底。只管咱们目前的插件绝对于 NGINX 或 APISIX 来说较少,但咱们采纳的是整个服务网格的架构,能够复用一套扩大机制来疾速构建对立管制东西南北流量的能力。
咱们正在一直积攒这些能力。咱们置信通过插件市场,能够一起扩大整个上下游,包含 API 治理和平安等能力,这样就能为客户提供一站式的网关解决方案,而不须要过多地钻研其余技术。
云原生网关演变思路
产品提供方都是如何进行本人的产品演变的?社区推动与企业推动,哪个更重要?
李艳林(彦林): 这个话题很乏味。我之前看到一篇文章,讲的是《开源与商业的关系》。我认为,明天的开源与商业关系正处在一个十分重要的阶段,就像中国的软件市场一样。例如,你的手机里有多少款软件是付费的呢?这反映了中国人民对软件付费的态度。如果没有人为软件付费,软件的继续倒退就会受到威逼。因而,开源与商业之间的关系十分重要,就像现在社区与企业之间的关系一样。
有点像之前的 360 互联网模式,其中大部分人收费应用,只有 1% 的人付费。这种模式能够使开源与商业相互促进,从而实现继续的倒退。如果没有这个正循环,一些我的项目就很难维持下去,例如晚期的 Dubbo 以及当初的 Spring Cloud Netflix,每公司都有本人的 KPI,如果我的项目没有继续倒退,就会面临失败的危险。明天咱们可能在这里交换,阐明咱们背地有一个力量在反对着咱们。然而如果没有这个力量,这些事件就会变得更加艰难。
咱们须要一直地增强社区投入,促成生态建设。 咱们都晓得,在数字化时代、云时代,开源就是规范。咱们通过开源软件构建了整个开源规范,而后借助众人的力量推动它的应用场景和通用性,而后达到最佳状态,这样咱们能力把整个畛域做大、扩充这个蓄水池。这其实是一种互联网经营模式,当这个蓄水池足够大之后,咱们能力持续生存上来。只有这样,咱们能力更好地回馈社区。
不过,现在开源的诉求与商业的要求还是有所区别:开源更关注易用性、生态;商业版本则更关怀产品的稳定性、安全性、高可用性和兜底服务能力。
阿里巴巴是开源、商业和外部三位一体。 咱们通过开源软件打磨产品的易用性和生态、和扩展性,而商业上更关注企业级个性,如稳定性和安全性,咱们在阿里外部的场景打磨高可用性和高性能。这几个方面是相辅相成的,大家都明确开源到商业、社区到企业的闭环十分重要,这也是咱们可能生存上来的要害。
云原生网关能够在企业数字化降级中施展什么样的作用?
李艳林(彦林): 大家对数字化的了解大略是这样的:首先有一个网站,其次有一个大盘。不晓得大家是否看过在朋友圈中转发的“灵隐寺的大盘”,一般来说,传统公司对数字化的需要可能就是有一个网站和一个大盘;对于曾经进行了数字化降级的公司来说,它们须要从传统架构过渡到云原生架构。
第一类用户须要疾速构建企业级、高可用、平安的入口,咱们能够帮忙他们实现这个指标。第二类客户,也是咱们目前关注的重点客户,因为他们通常是传统架构,心愿降级到微服务和云原生架构。最简略的办法是在后面加一个网关。有了网关,传统的利用能够持续应用传统的负载形式,而微服务能够应用微服务负载形式,这样就能疾速进入云原生时代。
那么,如何实现新老零碎之间的互联互通呢?云原生网关充当了对立的控制中心,能够管制流量和治理新旧零碎之间的互动。 举个例子,能够实现上云和下云之间的互通,不同业务域之间的跨域互通,通过网关来疾速解决新老零碎之间的连贯和降级。这样一来,新的 IDC 和老的 IDC 之间能够疾速连贯和降级,从而放慢整个数字化降级和翻新的速度。
因为大家都晓得,当一个 IT 零碎变得越来越简单时,采纳微服务架构能够开释出更大的研发效率红利,尤其在海内更为显著。这也是为什么海内要推崇 Serverless 架构,从微服务走向 Serverless,因为人力老本是最高的,所以要尽可能升高运维和开发成本。所以,对咱们来说,这意味着咱们能够放慢企业的翻新速度。
另外一个我最近钻研的课题是对于上云和数字化过程的。实际上,它能够分为两个局部:业务数字化和业务智能化。在第一个阶段,咱们的云原生网关能够帮忙用户疾速将单体利用、微服务利用以及整个 Kubernetes 等多种负载疾速地将后端服务能力输送到客户端,这是咱们的第一个价值所在。
第二个价值在于如何疾速将后端的数据能力和 AI 能力输送到客户端。这个问题也十分重要,包含之前提到的 GraphQL 等。在钻研中,我发现通过低代码和疾速的形式将后端的数据能力疾速输入到客户端十分有意义。从业务智能化的降级过程来看,咱们的网关能够疾速将后端的 AI 能力输送到手机端,这样就能够帮忙企业疾速将后端能力输入到客户端和生态系统。
提到 API 畛域,通过服务的货币化将调用、生态全副整合起来,也具备很大的意义。在海内,这种做法曾经失去了很好的倒退,而我置信国内将来也会成为趋势。为什么这样判断?因为国外的人力老本较高,所以他们更偏向于应用他人的服务而不是本人开发,而国内则绝对较少。但随着中国数字化程度的晋升,程序员的工资继续上涨,API 化依然是将来的趋势,这是第二个可能性,即咱们可能帮忙企业疾速将后端能力输入到客户端。
第三个价值在于网关自身。云原生网关在入口处建设平安和高可用的防线十分重要,因为近年来行业内呈现了数据透露和稳定性问题,网关作为一个要害地位具备致命的意义。
网关会被取代吗?
以后的网关行业处于什么阶段?为什么?对于想要进入这个市场的开发者来说还有哪些机会?
李艳林(彦林): 我的判断是这样的,当初正是传统网关向云原生网关迅速倒退的暴发期。首先,咱们能够看到容器曾经成为基础设施的次要架构,而 Kubernetes 通过网关构建了一个规范,这实际上是行业倒退的根底。第二点是,从 CNCF 报告和整个行业动态来看,云原生网关和 API 网关在过来三年里增长了一倍以上,每年都在继续减少,增长速度十分快。我最近做分享时认真数了一下,在 CNCF 里大概有二三十个我的项目波及这个畛域。在这个畛域有这么多的参与者,阐明这是一个机会,吸引了许多人涉足。
在这个畛域中,我进行了一些剖析。大概有 40% 的我的项目是基于 NGINX 内核构建的,而 35% 的我的项目是基于 Envoy 内核构建的。能够说,Envoy 与 NGINX 占据了 75% 的网关实现市场份额,这的确是两个次要的支流力量。
统一标准,重要吗?
以后,网关行业的倒退面临着哪些问题?如何保障网关生态的长期衰弱倒退?
李艳林(彦林): 从整个行业的角度来看,当初的规范正在逐步建设,但还没有齐全稳定下来。目前实际方面相对来说曾经比拟集中,大概占了 75% 的份额,但还有 35% 是比拟扩散的长尾局部。咱们心愿行业标准可能对立,让大家都能达成共识。
比方,MySQL、PostgreSQL、Oracle 等数据库在市场上占有较大份额,加上其余一些常见的网关产品,可能占据了 90% 左右的市场份额,这种收敛的趋势对整个产业会有踊跃的影响。咱们须要独特推动这些规范的倒退,放慢规范的造成。
将来,我认为网关在平安和 Serverless 畛域都有微小的挑战和时机。 首先,对于开发者而言,他们在软件开发过程中首先关注的是研发效率,其次是扩展性,而后是稳定性,最初才是安全性。但实际上,随着数字资产的增大,咱们会发现各种攻打和进攻正在一直减少。这些平安威逼的加大将带来微小的变数和时机。例如,是否利用人工智能主动进行攻打和进攻,这都是攻防之间的问题。谁可能利用人工智能和算力疾速构建防护壁垒?包含阿里云本身在内也在进行相干摸索。
其次,将网关倒退到极致,实现服务化也是一个乏味的方向。 以后的四层网关和云厂商的第二层网关基本上都是基于特定内核构建的。而对于咱们的七层网关来说,原生网关应该具备流量付费和弹性调整能力,以适应资源需要的变动。将网关无服务化将会是一个有意义的倒退方向。咱们始终在对网络进行形象,从四层到七层再到网关本质上是网络一层层向上形象,对开发者越来越易用。将来,是否实现网关的无服务化和极致弹性是一个重要的挑战。
目前看来,网关行业处于一个十分有前景的阶段,市场需求强劲,各家企业都在争相进入,并通过共同努力来推动行业的倒退。
云原生网关的将来
最初,请总结下将来云原生网关的发展趋势?
李艳林(彦林): 这块我能够给大家一些倡议。首先,将来云原生网关的发展趋势应该朝着标准化、高集成、易扩大和热更新的方向不断加强。 咱们揣测,Ingress 和 Gateway API 可能会成为 API 路由的规范,这个规范可能不会受集体主观志愿的影响。
第二个趋势是,对于一些小中型客户来说,Higress 对于一些简略的 4 层路由和 7 层简略路由可能足够了,但对于一些中大型客户来说,他们可能对于简单的 API 治理和路由有更多需要,将来可能会朝这个方向倒退。我留神到在群里也有人发问,当 API 变得复杂并且规模扩充时,如何进行 API 治理和治理,咱们能够在当前探讨这个问题。
第三个趋势是对立东西南北流量。咱们采纳 Envoy 内核,能够看到东西南北流量的对立减速趋势。无论是从北向进来的流量,还是跨平安域、跨业务域、跨区域的东西向流量,包含 sidecar 之间的流量,因为采纳 Envoy 内核,咱们在对立东西南北流量方面具备一些劣势。当然,我也看到一些尝试将 NGINX 用作 sidecar 内核的设计,包含 APISIX 也在进行这方面的尝试。我认为大家的思路都很好,外围实质是大家都认为对立东西南北流量管制是一个重要的方向。
第四个趋势可能是对于 AI 畛域的摸索,AI 的入口到底是谁?包含在阿里外部以及与其余合作伙伴进行的一些尝试。将来的 AI 能力和大模型能力都是基于容器作为基础设施进行输入的,对于连贯的稳定性、高可用性以及流量防护也有较高的要求。所以,我置信在将来的 AI 摸索畛域中,摸索 AI 的入口将是值得的。
最初,依据 CNCF 的数据,我认为以 NGINX、Envoy 为内核可能是将来原生网关的要害实现。我也置信 Higress 在将来一年会有爆发性增长,减速推动原生网关的认知建设,这只是我大抵的判断。