云原生微服务趋势

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
EMR Serverless StarRocks,5000CU*H 48000GB*H
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 微服务行业报告显示,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天前
|
监控 Cloud Native 持续交付
云原生时代的微服务架构实践
【9月更文挑战第5天】随着云计算技术的飞速发展,云原生已成为现代软件开发的重要趋势。本文将深入探讨在云原生环境下,如何有效实施微服务架构,包括服务拆分、容器化部署、持续集成与交付等关键环节。通过具体案例,我们将展示如何在云平台上构建弹性、可扩展的微服务应用,并讨论在此过程中可能遇到的挑战及解决策略。
|
1天前
|
运维 Cloud Native 持续交付
云原生时代下的微服务架构实践
在数字化转型的浪潮中,云原生技术以其高效、灵活的特性成为企业IT架构升级的首选。本文将通过深入浅出的方式,探讨云原生环境下微服务架构的设计原则、关键技术及实施策略,旨在为读者提供一条清晰的技术路线图,帮助理解和掌握在云平台上构建和管理微服务的实用方法。
|
2天前
|
Kubernetes Cloud Native Docker
云原生技术:容器化与微服务架构的融合之道
【9月更文挑战第4天】在数字化时代的浪潮下,企业追求敏捷、高效、可扩展的IT架构成为共识。云原生技术作为现代软件部署的黄金标准,其核心理念在于推动应用的快速迭代与无缝迁移。本文将深入探讨云原生技术的精髓——容器化与微服务架构如何相互促进,共同构建起适应云计算环境的应用生态系统。我们将通过实际案例,揭示如何在云平台上利用这些技术实现服务的解耦、弹性伸缩及自动化管理,进而提升企业的竞争力。
|
17小时前
|
监控 Cloud Native 安全
云原生时代的微服务架构实践
【9月更文挑战第6天】在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性成为企业架构升级的首选。本文将通过浅显易懂的语言和生动的比喻,带你一探微服务架构的世界,从理论到实践,逐步揭示如何利用云原生技术构建高效、可靠的微服务系统,同时穿插代码示例,为有志于云原生领域发展的技术人员提供一份实操指南。
11 2
|
7天前
|
Kubernetes Cloud Native Docker
探索云原生技术:从容器化到微服务的实践之旅
在数字时代的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本文将带你领略云原生的奥妙,从容器化技术的基石Docker讲起,到Kubernetes集群管理的航海术,再到微服务的架构设计,我们将一起构建、部署并运行一个简单的云原生应用。准备好,让我们启航!【8月更文挑战第31天】
|
7天前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器化到微服务的探索
【8月更文挑战第31天】在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性和高效性成为企业IT架构升级的首选。本文将通过浅显易懂的语言,引导读者了解云原生的核心概念,包括容器化和微服务,并通过实际代码示例,展示如何利用这些技术构建现代化应用。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供一条清晰的学习路径,帮助你在云原生领域迈出坚实的一步。
|
7天前
|
Kubernetes Cloud Native 调度
云原生技术实践:构建高效、可扩展的微服务架构
本文深入探讨了云原生技术在现代软件架构中的应用,特别是如何利用这些技术构建高效、可扩展的微服务架构。文章首先介绍了云原生的基本概念和优势,然后通过一个实际案例,展示了如何使用Kubernetes和Docker等工具来部署和管理微服务。最后,文章还讨论了云原生技术面临的挑战和未来的发展趋势。 【8月更文挑战第31天】
|
7天前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器化到微服务的探索
【8月更文挑战第31天】 在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性和高效性成为企业IT架构升级的首选。本文将通过浅显易懂的语言,引导读者了解云原生的核心概念,包括容器化和微服务,并通过实际代码示例,展示如何利用这些技术构建现代化应用。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供一条清晰的学习路径,帮助你在云原生领域迈出坚实的一步。
|
7天前
|
Kubernetes Cloud Native Docker
探索云原生技术之旅:从容器到微服务
【8月更文挑战第31天】 本文将带你踏上一场云原生技术的奇妙之旅,我们将从容器技术的基础出发,逐步深入到微服务架构的世界。你将了解到如何利用Docker和Kubernetes简化应用部署与管理,以及如何通过微服务设计原则构建可扩展、灵活的系统。准备好一起探索这些令人兴奋的技术了吗?让我们开始吧!
|
7天前
|
Kubernetes Cloud Native Docker
探索云原生技术:从容器化到微服务的实践之旅
【8月更文挑战第31天】在数字时代的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本文将带你领略云原生的奥妙,从容器化技术的基石Docker讲起,到Kubernetes集群管理的航海术,再到微服务的架构设计,我们将一起构建、部署并运行一个简单的云原生应用。准备好,让我们启航!
下一篇
DDNS