MSE Serverless 正式商用,构建低成本高弹性的微服务架构

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: MSE Serverless 正式商用,构建低成本高弹性的微服务架构

作者:问思


微服务架构充分提升了研发效率,解决了复杂业务系统的快速迭代问题。但随着业务及技术演进,各种微服务组件也愈发复杂。如何实现更敏捷的开发,降低微服务开发运维成本,做到全链路的弹性,保障整个系统的稳定性,依然存在诸多挑战。


比如多个开发团队在缺乏统一规范或协同的情况下,会出现微服务组件、SDK 版本不一致的情况,但考虑到版本兼容性、升级影响范围等因素,不少用户不敢升级而埋下隐患。在做容量规划的时候,用户很难根据业务量评估合适的资源需求,采用大规格实例则成本过高,用小规格遇到突发流量又会影响稳定性。如果业务是由 ISV 开发,项目交付验收完成之后,一些基础组件的运维责任不明晰,如果缺少专业的巡检和监控告警机制,极易引发线上故障。


微服务 Serverless 趋势


作为微服务架构演进的一大趋势,Serverless 技术可以最大化技术红利和资源利用率,解决上述问题。它让开发者专注业务实现,而不必关心底层的服务器在哪,资源是否充足,什么时候该扩缩容或升级。


在研发协作和迭代效率方面,微服务本身是高内聚,可复用的,加上 Serverless 基础设施,可以升级成组装式研发。同时用户可以利用微服务治理的全链路流量控制能力,快速搭建逻辑隔离的日常环境,在节约资源成本的同时,将开发测试环境的构建时间从数天降低到分钟级别,极大解放开发者的生产力。对于网关、注册配置中心、MQ、数据库、Redis 缓存这些基础组件,如果通过资源冗余来保障其稳定性,显然不够经济。


通过 Serverless 云产品就可以快速实现全链路的资源弹性,并享受自动升级等免运维的能力。这些基础组件都通过 Backend as a Service 的方式提供,开发者不需要陷入复杂的配置集成工作中,而是聚焦在开发任务。对于业务方来说,即使 ISV 交付完项目撤出以后,也不用担心基础组件的运维、技术兜底和稳定性保障。



MSE Serverless 功能


正是顺应这种技术趋势,阿里云 MSE 在微服务业界率先推出了 Serverless 版。它有三大功能亮点,第一是自适应弹性,云原生网关和注册配置中心可以根据业务量自动地进行扩缩容,免去用户复杂的容量规划工作。对于注册配置中心来说,其资源消耗和多个因素相关,比如服务提供者数量、客户端连接数、TPS 等。但有些指标很难进行观测和提前规划。网关作为关键的流量入口,虽然可以预测日常业务流量,但很难判断计划外流量。通过云服务的自适应弹性,可以保证整个技术架构的稳定性及成本的可控。


第二点是开箱即用免运维,大大减轻用户的运维负担。MSE 将注册配置中心、云原生网关以及服务治理的关键事件,比如实例变更、节点启停、应用上下线、限流熔断等汇总成统一视图,便于问题的分析和排查。MSE Serverless 实例会在用户自定义的运维时间段,执行前置检查和自动升级。既保障组件处于最新的稳定版本,又能解除用户对于兼容性或者业务流量影响的担忧。另外很多用户缺乏配置告警规则的意识或经验,MSE Serverless 实例也支持默认告警配置,当一些严重事件发生的时候,尽早通知到用户,及时介入。


最后也是最重要的一点,MSE Serverless 的计费方式跟业务量关联起来,门槛更低。普通实例按照固定规格收费,对于创业初期的小规模业务,或者业务低峰时段,实际会有资源的浪费。MSE 注册配置中心 Serverless 按照客户端连接数计费,云原生网关 Serverless 按请求量计费,对于测试环境、潮汐式业务、中小规模业务,都会节省大量成本。



构建高弹性的微服务架构


用户如果要自行构建一个全栈、高弹性的微服务架构,需要去权衡各个组件扩缩容的难易度,伸缩速度以及业务负载变化速率这些因素。如果基于 MSE Serverless 版,再结合阿里云其他云产品能力,可以轻松实现上述目标。如下图所示,用户业务流量经由 NLB 进入到云原生网关 Serverless 实例,并路由到部署在 ACK 或 SAE 上的应用,整条链路上的产品都具备自适应弹性能力。


当应用副本数随着业务流量增大,其访问注册配置中心的连接数及 TPS 也会随之升高,Nacos、ZooKeeper Serverless 实例也会进行相应的弹性伸缩。对于服务治理来说,它本身就是应用级的按需接入,当SAE 或者 ACK 上的某个应用开启服务治理以后,扩容出的应用副本也自动享受到服务治理能力。现在阿里云已经有二十多款 Serverless 产品,并且会继续推进核心产品全面的 Serverless 化。通过 Serverless 云服务,用户可构建整体高弹性、低成本的微服务架构。



下面通过一个测试用例可以展示云原生网关 Serverless 实例如何与 ACK 容器集群配合,利用日志记录中的 QPS 指标和容器 HPA 机制,实现根据请求量进行整体扩容。


针对部署在容器集群的应用负载,我们创建一个 HPA 资源,设定最小和最大副本数,定义 QPS 为指标,每个副本的平均 QPS 达到 50 则触发扩容。



运行压测工具 10 分钟,发送到网关的请求从 400 TPS 逐级上升到 4000+ TPS。可以看到所有压测请求 100% 成功,而且平均 RT 保持在 9~10 毫秒的水平。实际上,网关服务和容器集群中的应用副本都进行了自动扩容,整个过程对用户完全透明,业务无感知。



MSE Serverless 适用场景


MSE Serverless 虽说有诸多优势,但也要分场景选用,普通实例和 Serverless 实例如何选型?这里我们列出二者的功能及适用场景的异同。在高可用方面,两种实例都支持多节点集群的多可用区部署,只是 SLA 稍有区别。在运维方面,用户需要手动升级普通实例的版本,并关注底层资源监控指标,到阈值时及时手动变配。而Serverless 实例会进行自动升级和弹性扩缩容,用户不需要做复杂的容量规划和手动变配,也不需要关心 CPU、内存等资源的监控和告警。


对于云原生网关,普通实例支持的通信协议和认证鉴权种类稍多,具备硬件加速和可扩展性能力。Serverless 实例也支持了主流协议和认证鉴权方式,能覆盖大部分的用户需求。


综上所述,Serverless 实例更多是面向中小规模业务,间歇潮汐型场景,测试环境。而且用户希望免运维,更简单地使用后端服务。普通实例面向的是中大规模业务,希望掌控部分运维工作,并有更多自主性,扩展性需求的用户。




MSE Serverless 如何降本


用户无论是自建还是使用普通实例,一般会根据高业务负载购买相关的规格,按固定资源付费。这样在波谷期浪费的资源较多,整体成本较高。如果出现预期外的大业务流量,资源不足会使业务受损。Serverless 实例能进行快速且独立的扩容和缩容,在快速响应业务变化的同时,合理优化使用成本,助力企业降本增效。



注册配置中心 Serverless 实例按照客户端到服务端的连接总数计费,每十个连接为一个计费单位,阶梯定价,小时计费,具体价格如下图表格所示。假设用户的业务量平稳,如折线图所示,橙线代表 Serverless 实例月价,蓝线代表普通实例的专业版集群月价。当小时连接数一直在十个或十个以内,Serverless 实例的月费用是 115 元。即使到了 50 个连接的业务量,都要比 Nacos 或 ZooKeeper 开源自建成本更低。在 100 个连接以内,Serverless 实例费用比普通实例更低,所以对于中小规模业务更优。



云原生网关 Serverless 实例统计每小时处理请求量,每 1 万个请求为一个计费单位,阶梯定价,小时计费,具体价格如下图表格所示。假设用户的业务量平稳,如折线图所示,橙线代表 Serverless 实例月价,蓝线代表普通实例集群月价。每小时累计请求在 5 万以内,Serverless 实例相比开源自建成本更低,在 20 万请求以内,比普通实例更低。


上述假设是业务量较小且保持在一定量级,除此之外,Serverless 对于间歇、潮汐式场景,累计费用也更低。如下面的柱状图所示,假设 10 个小时内业务量有较大变化,刚开始每小时请求量为 20 万~30 万,最高峰为每小时 200 万,然后逐渐回落。对于网关这种关键入口,普通实例需要预留资源保证能够支撑 200 万请求量的业务峰值。但对于 Serverless 实例,它的费用随业务量变化而不同。虽然在峰值时段 Serverless 实例的小时费用更高,但整个时段的费用累加后,明显看出它的成本更优。



MSE Serverless 版已于 11 月 17 日正式商业化,并推出相应的节省计划,用户可以根据注册配置中心和云原生网关 Serverless 实例每天的费用,按天承诺一定的消费金额进行预付费,可享受 8 折到 95 折不等的抵扣优惠,可进一步降低用户的长期使用成本。不到 100 元的月消费,您即可享用到 K8s Ingress、微服务网关、安全网关三合一的云原生网关,或是稳定安全免运维的注册配置中心,快来构建你的 Serverless 微服务架构吧!


相关链接:

MSE Serverless 实例简介:

https://help.aliyun.com/zh/mse/getting-started/mse-serverless-instance-introduction

注册配置中心实例及版本选型:

https://help.aliyun.com/zh/mse/product-overview/select-an-edition

注册配置中心 Serverless 实例计费概述:

https://help.aliyun.com/zh/mse/product-overview/serverless-instance-billing-overview

云原生网关实例选型:

https://help.aliyun.com/zh/mse/product-overview/select-a-gateway-instance

云原生网关 Serverless 实例计费概述:

https://help.aliyun.com/zh/mse/product-overview/serverless-instance-billing-overview-1

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
10天前
|
监控 安全 API
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
本文详细介绍了PaliGemma2模型的微调流程及其在目标检测任务中的应用。PaliGemma2通过整合SigLIP-So400m视觉编码器与Gemma 2系列语言模型,实现了多模态数据的高效处理。文章涵盖了开发环境构建、数据集预处理、模型初始化与配置、数据加载系统实现、模型微调、推理与评估系统以及性能分析与优化策略等内容。特别强调了计算资源优化、训练过程监控和自动化优化流程的重要性,为机器学习工程师和研究人员提供了系统化的技术方案。
130 77
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
|
4天前
|
Serverless 决策智能 UED
构建全天候自动化智能导购助手:从部署者的视角审视Multi-Agent架构解决方案
在构建基于多代理系统(Multi-Agent System, MAS)的智能导购助手过程中,作为部署者,我体验到了从初步接触到深入理解再到实际应用的一系列步骤。整个部署过程得到了充分的引导和支持,文档详尽全面,使得部署顺利完成,未遇到明显的报错或异常情况。尽管初次尝试时对某些复杂配置环节需反复确认,但整体流程顺畅。
|
13天前
|
缓存 Kubernetes 容灾
如何基于服务网格构建高可用架构
分享如何利用服务网格构建更强更全面的高可用架构
|
21天前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
64 5
|
18天前
|
监控 安全 持续交付
构建高效微服务架构:策略与实践####
在数字化转型的浪潮中,微服务架构凭借其高度解耦、灵活扩展和易于维护的特点,成为现代企业应用开发的首选。本文深入探讨了构建高效微服务架构的关键策略与实战经验,从服务拆分的艺术到通信机制的选择,再到容器化部署与持续集成/持续部署(CI/CD)的实践,旨在为开发者提供一套全面的微服务设计与实现指南。通过具体案例分析,揭示如何避免常见陷阱,优化系统性能,确保系统的高可用性与可扩展性,助力企业在复杂多变的市场环境中保持竞争力。 ####
35 2
|
19天前
|
弹性计算 Kubernetes API
构建高效后端服务:微服务架构的深度剖析与实践####
本文深入探讨了微服务架构的核心理念、设计原则及实现策略,旨在为开发者提供一套系统化的方法论,助力其构建灵活、可扩展且易于维护的后端服务体系。通过案例分析与实战经验分享,揭示了微服务在提升开发效率、优化资源利用及增强系统稳定性方面的关键作用。文章首先概述了微服务架构的基本概念,随后详细阐述了其在后端开发中的应用优势与面临的挑战,最后结合具体实例,展示了如何从零开始规划并实施一个基于微服务的后端项目。 ####
|
17天前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
26天前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
40 3
|
1月前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
16天前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
130 68
从单体到微服务:如何借助 Spring Cloud 实现架构转型

相关产品

  • 微服务引擎
  • 下一篇
    DataWorks