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

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: MSE Serverless 版已于 11 月 17 日正式商业化。

作者:问思

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


比如多个开发团队在缺乏统一规范或协同的情况下,会出现微服务组件、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搭建和管理企业级网站应用
相关文章
|
24天前
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
69 2
|
28天前
|
存储 缓存 监控
探索微服务架构中的API网关模式
【10月更文挑战第1天】探索微服务架构中的API网关模式
80 2
|
2月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
2月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
1天前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
15 4
|
8天前
|
监控 Cloud Native Java
云原生架构下微服务治理策略与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境下微服务架构的治理策略,通过分析当前技术趋势与挑战,提出了一系列高效、可扩展的微服务治理最佳实践方案。不同于传统摘要概述内容要点,本部分直接聚焦于治理核心——如何在动态多变的分布式系统中实现服务的自动发现、配置管理、流量控制及故障恢复,旨在为开发者提供一套系统性的方法论,助力企业在云端构建更加健壮、灵活的应用程序。 ####
52 10
|
1天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####
|
2天前
|
Kubernetes Cloud Native API
云原生架构下微服务治理的深度探索与实践####
本文旨在深入剖析云原生环境下微服务治理的核心要素与最佳实践,通过实际案例分析,揭示高效、稳定的微服务架构设计原则及实施策略。在快速迭代的云计算领域,微服务架构以其高度解耦、灵活扩展的特性成为众多企业的首选。然而,伴随而来的服务间通信、故障隔离、配置管理等挑战亦不容忽视。本研究聚焦于云原生技术栈如何赋能微服务治理,涵盖容器编排(如Kubernetes)、服务网格(如Istio/Envoy)、API网关、分布式追踪系统等关键技术组件的应用与优化,为读者提供一套系统性的解决方案框架,助力企业在云端构建更加健壮、可维护的服务生态。 ####
|
8天前
|
运维 Cloud Native 持续交付
云原生架构下的微服务设计原则与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境中微服务设计的几大核心原则,包括服务的细粒度划分、无状态性、独立部署、自动化管理及容错机制。通过分析这些原则背后的技术逻辑与业务价值,结合具体案例,展示了如何在现代云平台上实现高效、灵活且可扩展的微服务架构,以应对快速变化的市场需求和技术挑战。 ####
31 7
|
8天前
|
监控 Cloud Native 持续交付
云原生架构下微服务的最佳实践与挑战####
【10月更文挑战第20天】 本文深入探讨了云原生架构在现代软件开发中的应用,特别是针对微服务设计模式的最优实践与面临的主要挑战。通过分析容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,阐述了如何高效构建、部署及运维微服务系统。同时,文章也指出了在云原生转型过程中常见的难题,如服务间的复杂通信、安全性问题以及监控与可观测性的实现,为开发者和企业提供了宝贵的策略指导和解决方案建议。 ####
33 5

相关产品

  • 微服务引擎