云原生微服务趋势

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
应用实时监控服务-应用监控,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 微服务行业报告显示,2018-2023 之间微服务增速为 22.4% ,占据亚太地区 35% 的市场份额。阿里微服务 DNS 最佳组合的 star 数高速增长,基本突破 2 万,意味着每年有数万家企业进行微服务架构改造。2020年,27% 用户正在采用服务网格技术,与微服务整体增速相当,逐渐回归理性;37% Ingress 实现选择 Envoy,相较于 2019 年增加 116%。此外, Envoy 社区于 2022 年 5 月推出 Gateway 子产品,通过 Gateway API 推进Ingress 标准化与网关标准化,非常值得关注。

云原生微服务趋势

——李艳林

Nacos 联合创始人& MSE 创始人

一、行业趋势

image.png

微服务行业报告显示2018-2023 之间微服务增速为 22.4% 占据亚太地区35% 市场份额。阿里微服务 DNS 最佳组合star 数高速增长,基本突破 2 意味着每年有数万家企业进行微服务架构改造。2020年,27% 用户正在采用服务网格技术,与微服务整体增速相当,逐渐回归理性;37%  Ingress 实现选择 Envoy相较于 2019 年增加 116%。此外,Envoy社区 2022 5 推出 Gateway 子产品,通过 Gateway API 推进Ingress 标准化与网关标准化,非常值得关注。

image.png

上图横坐标代表应用复杂度与人数,纵坐标代表研发效率、生产效率运维效率。应用体量较的时候,采用单体应用效率较高随着业务规模复杂度提升,单体应用效率生产力大幅下降,微服务效率优势逐渐显


为什么微服务行业能有如此快速的发展?


第一,数字化进程让 IT 系统更复杂。


现如今,达到上图中拐点企业越来越多,用户群体蓄水池越来越大。数字化进程使 IT系统变得复杂比如最早采用微服务互联网行业,已经从十年前的 web 1.0 演进到 web 3.0,架构变得非常复杂,阿里巴巴有数万个应用在这十年间产生也助力互联网蓬勃发展。


微服务已经从互联网行业渗透到各个其他行业比如房地产领域,最早只支持简单网站页面,如今已经发展至 web 3.0 的数字化深度,比如贝壳找房,IT系统复杂度大幅提升。


此外,很多 IT 企业有诸多新老系统ISV 系统,无法很好地应对如今的快速迭代需求


采用微服务系统能将复杂度隔离开,通过网关将新老系统进行集成,从而快速迭代新系统,直接在微服务架构上演进。


第二,云与开源大幅降低微服务使用门槛。


阿里最早采用微服务架构时,投入了数十人和数百万。而如今随着开源推进,技术门槛大幅下降。


云计算通过集中化模式,将之前微服务使用门槛成本从百万级下降到万级,大幅降低微服务使用边际成本。


随着原生 2.0 推进,架构理念已经得到行业广泛认可并且通过互联网第一代发展,在领域积累大量人才,大量人才又反过来推动各行各业微服务发展。


第三,采用微服务投入产出比大幅提升。


对于当前已经处于微服务架构公司而言后续开发新系统也一定采用微服务,而且会有更高投入产出。因为随着云计算推进,算力成本在不断下降,但人力成本在不断地提升。微服务作为应用架构,能大幅地提升研发效率迭代效率,让企业在竞争中保持先发优势。


另外随着微服务推进,业务部署块从大块变小块能提高灵活调度能力,充分享受云计算红利,充分利用云弹性能力,降低资源成本。


以上三点说明了微服务行业为何能够保持高速蓬勃发展,我们有理由相信在未来的十年微服务会依然持续保持 20%以上增长。

image.png

开源加速微服务标准化。从微服务趋势上来看,微服务和容器构成云原生应用架构基础思想。微服务偏向于解决Dev 问题,容器偏向于ops 问题。云原生领域从 DevOpsDevSecOps方向演进的过程中,开发者需要关心效率、可用、性能和安全四个领域。


在项目开展初期,开发人员需要快速高地交付解决研发问题;项目上线后,会遇到性能稳定性挑战,需要解决性能与可用性相关问题最后用户规模变大,出现黑产则需要关心安全问题。


微服务也是针对上述过程,围绕开发者做领域布局。从上图可以看到,注册中心、配置中心处于微服务最早阶段,主要解决效率与性能扩展性问题,已经进入相对成熟、标准的阶段服务网格负责解决流量控制标准化服务治理相关问题,核心解决高可用问题,目前正在成为主流未来,安全作为一个重要需求,从网关入口解决安全问题是性价比最高一种模式。


上图左上角可见, API Gateway 有大量新产品开源,这也意味着将网关作为安全入口的理念得到非常蓬勃发展,安全得到越来越多开发者公司重视。


二、技术趋势

image.png

微服务架构核心是围绕开发者解决研发效率,使其聚焦业务开发,其纵向分层已逐渐成型,可为三层:


最下是后端 BaaS化,提开箱即用后端服务解决高可用问题中间层主要解决客户端轻量化问题,业务侵入越小,启动越快,冲突越小也方便多语言集成以及流量控制高可用的增强;最上层是业务侧 ServerLess No Server让业务更聚焦业务开发,提高研发效率,无须关心复杂的底层细节。

image.png

与此同时,微服务技术标准也在逐步形成,可以理解为横向分工,如上图:


最左是数据面,中间是控制面,右是治理面。数据面核心解决流量连接问题,控制面解决控制流量标准问题治理面解决基于流量控制标准,提升微服务高可用、个人安全问题。


未来微服务演进趋势是提升服务治理能力,从而形成差异化竞争力,过程中,从网关从到控制面到服务治理每个子领域也在发生着变化。

image.png

网关容器与微服务连接点,容器通过 k8s 将网关标准化,网关又作为微服务流量入口通过 Ingress标准化之后统一数据面,通过 Istio统一控制面,通过服务网格技术将东西向流量标准化控制。最终,基于 Istio向上统一东西南北流量控制屏蔽k8sNacos等不同注册中心服务来源,从而实现标准化控制东西南北流量能力,这也意味着网关标准正在逐步成型。


安全网关、流量网关、微服务网关三位一体,在入口统一提高安全和高可用,是我们认为符合下一代云原生标准的网关。

image.png

首先,云原生网关要在入口建立安全防线,需要证书管理登录认证机制鉴权加密 WAF 网关高度集成,提升网站入口安全能力解决证书过期服务安全泄露风险问题。


其次,需要集成微服务网关流量控制能力。原生网关要统一控制东西南北流量,需要集成微服务领域里限流降级熔断与流量灰度能力,从入口建立高可用防线。原生网关向下需要支持多种 workload 最传统单体应用微服务应用服务网格Serverless 各种域后端 workload 都可以将流量路由负载到下端统一流量入口。面对东西向不同业务域不同安全域不同 region 在微服务连接上的问题也可以通过原生网关统一控制,最终提升流量控制的安全性与稳定性。

image.png

东西向流量属于 RPC 领域,SidecarProxyProxyless两个模式融合发展,两个模式各有优劣。


SidecarProxy模式更能无侵入做流量控制,但是存在复杂链路定位问题成本较高,稳定性运维成本RT 和性能消耗增加;Proxyless模式 gRPCDubbo 直接对接 xDS 协议与控制面打通,其优点在于可定位性、易用性都较好,弱点在于因其需要依赖 SDK升级时存在侵入性


我们倾向于未来将会Proxyless模式演进目前阿里在 Dubbo 3.1 实践上也加强xDS 协议的支持。

image.png

今年开源OpenSergo服务治理项目本质是解决数据面与控制面标准化控制问题。在阿里 Java 微服务开源体系里,有一套完整微服务治理体系。基于开源解决方案抽象服务治理产品,从开发态到运行态实现了完整流量控制定义。


从能力上来看,微服务治理主要解决高可用与安全治理,我们将其做成完备布局,与字节跳动一起贡献标准已经发布。服务治理标准化之后,基于服务治理能力构建,就是未来关键发展和布局思路。

image.png

目前Seata已经成为分布式事务事实标准AT XD 业务侵入事务模式也得到广泛使用多语言诉求SidecarProxy模式也得到非常好发展未来Seata 2.X 规划中会持续加强方面布局。

image.png

随着收购公司越来越多,阿里巴巴陆续针对 Java C++ Node.js前端应用完整支持,几乎支持所有主流语言。目前来看, Java 依然是微服务最主要语言;其次是Go 语言,它在过去两三年得到蓬勃发展,Node.js 作为前端主流框架也得到非常好普及。


支持多语言的方式有 lab 包模式,也可通过 runtime 集成提供无侵入的运行时解决方案。此方案已十分成熟,并在阿里巴巴落地非常多应用。


三、开源&产品规划

image.png

阿里巴巴微服务开源重点是服务治理,提升系统高可用,主要三层


中间层是微服务消息,是阿里的主导领域今年会与阿里 JDK DragonWell 进行融合目前从企业级测试上来看,阿里Java 中间件在 DragonWell性能可以提升近一倍,有助于中间件发挥更好性能表现。


服务层过去 10 年开源很多产品是为了解决微服务从 0 1 拆分问题,包括一些基础的配置管理服务发现以及分布式组件;而未来十年,侧重点在于解决从 1 100 服务治理能力,会基于 OpenSergo (蓝色部分)标准,通过 Sentinel做服务治理流量治理,以及通过 AppActive做容灾演练,通过 ChaosBlade 混沌工程支撑服务治理高可用。


在消息领域,今年 RocketMQ 5.0 基于消息事件流一体在流方面进行开源  通过 RocketMQ Stream 项目布局流领域。

image.png

过去三年,阿里已经基于阿里云打造MSE微服务引擎,提供开源微服务体系企业级解决方案,几乎支持所有主流微服务框架,并提供默认高可用竞争力,进行了大量调优,相较于用户自建系统性能有 50% 的提升。其次在可用性上,得益于 Backend 服务,比自建系统 1 9 产品化方面,大幅提升安全集成与易用性提供开箱即用服务


产品规划方面我们将不断加强入口网关安全与高可用防线目前已经完成 WAF 集成三方认证相关工作,完成Sentinel 整合从入口建立安全与高可用防线,保证系统稳定性。


针对治理平面,会基于 OpenSergo开源标准继续全面升级服务治理能力,包括优雅上线、全链路灰度限流降级熔断高可用能力。


最后会提供分布式事务解决方案Seata 目前已经开始免费公测,欢迎大家使用。

阿里期望通过产品化方式,结合云模式,将微服务成本从百万级降,大范围推广微服务,降低使用微服务边际成本,加速业务迭代,使企业用户在竞争中保持先机。

 

相关文章
|
1月前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
2月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
64 3
|
11天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 12 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
6天前
|
Cloud Native API 微服务
微服务引擎 MSE 及云原生 API 网关 2024 年 12 月产品动态
微服务引擎 MSE 及云原生 API 网关 2024 年 12 月产品动态。
|
1月前
|
Cloud Native API 微服务
微服务引擎 MSE 及云原生 API 网关 2024 年 11 月产品动态
微服务引擎 MSE 及云原生 API 网关 2024 年 11 月产品动态。
|
1月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 11 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
1月前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器化到微服务
本文将带领读者踏上云原生的旅程,深入探讨容器化和微服务架构的概念、优势以及它们如何共同推动现代软件的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务应用,并解释相关的配置和操作。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供有价值的见解和实操指南。
|
1月前
|
Cloud Native API 持续交付
云原生时代的微服务架构设计
随着云计算的蓬勃发展,云原生概念逐渐成为IT行业的热点。本文将通过深入浅出的方式,介绍在云原生环境下,如何设计一个高效、可扩展的微服务架构。文章不仅涉及理论概念,还将结合实际代码示例,帮助读者理解微服务架构的核心要素和设计原则,以及如何在云平台上实现这些设计。
|
2月前
|
Kubernetes Cloud Native 开发者
云原生入门:从容器到微服务
本文将带你走进云原生的世界,从容器技术开始,逐步深入到微服务架构。我们将通过实际代码示例,展示如何利用云原生技术构建和部署应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和启示。
|
2月前
|
消息中间件 运维 Cloud Native
云原生架构下的微服务优化策略####
本文深入探讨了云原生环境下微服务架构的优化路径,针对服务拆分、通信效率、资源管理及自动化运维等核心环节提出了具体的优化策略。通过案例分析与最佳实践分享,旨在为开发者提供一套系统性的解决方案,以应对日益复杂的业务需求和快速变化的技术挑战,助力企业在云端实现更高效、更稳定的服务部署与运营。 ####