Serverless高可用架构体验评测

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: Serverless高可用架构作为企业业务上云不得不考虑的一种低成本高可靠的方案,已经在多领域得到了非常好的验证。希望可以通过阅读文章,让你对Serverless架构得到更深的了解。

这是解决方案评测的第四篇,也是开发者新版评测的第四篇。希望大家可以踊跃参加,把你最真实的体验感受和建议分享出来。可点击下方链接前往评测活动首页:

解决方案评测|高效构建企业门户网站

解决方案评测|通义万相AI绘画创作

解决方案评测|容器化管理云上应用

解决方案评测|Serverless高可用架构

方案解读

作为解决方案评测的第四篇方案,整体上看依旧是熟悉的脉络。开篇点题简要阐述了Serverless高可用架构的必要性。作为企业业务部署上云的高可用低成本架构首选,云上的Serverless架构,支持服务托管、弹性伸缩和按量付费,减少企业手动资源管理和性能成本优化的工作,同时通过高可用的配置,避免可能遇到的单点故障风险。那究竟Serverless架构和传统架构之间有啥差异,方案这里用了一张对比图,其实我觉得这块应该用表格来展示会更好。
image.png
我总结Serverless架构的优点有如下几个方面:

  • 运维成本低

Serverless架构将服务器管理的责任交给云服务提供商,减少了运维人员的工作量和成本。开发人员无需再关注底层服务器的配置、扩展、监控、安全、备份等任务,可以专注于业务逻辑的开发和优化。

  • 弹性可伸缩

Serverless架构能够根据应用的实际负载自动进行弹性伸缩,确保应用始终具备足够的计算能力。这种自动伸缩的能力使得应对高峰期和突发流量变得更加容易,避免了传统架构中因手动扩展不及时而导致的性能瓶颈。

  • 容错性更高

Serverless架构通常分布在多个地理位置和多个数据中心,提供了高可用性和容错能力。当某个节点出现故障时,其他节点可以自动接管请求,确保应用的稳定运行。

  • 开发高效便捷

Serverless架构让开发人员能够更专注于业务逻辑的开发,无需关注底层的基础设施。通过使用云服务提供商提供的函数或服务,开发人员可以更快速地构建和部署应用,缩短了开发周期和迭代时间。此外,利用Serverless架构的简单运维、低成本及快速上线能力,开发者可以快速尝试业务的新形态、新功能,降低试错成本。

  • 应用场景更广

Serverless架构非常适合处理异步任务,如图像处理、数据转换等。还可以用于构建Web和移动应用的后端服务,处理用户请求、数据存储和身份验证等功能。此外,还能够高效地处理大规模数据的计算和分析任务,可以根据实际需求自动扩展计算资源,提高数据处理的效率和吞吐量。

在阐述了Serverless架构优势后,方案开始介绍了本次体验的整体架构拓扑。如下:
image.png
针对上述架构,方案的解读如下:

1、用户访问应用时,DNS会将访问请求解析至应用负载均衡ALB的服务地址。负载均衡作为应用的统一入口,将请求转发至Serverless应用引擎实例上的服务。

2、在您的业务负载增长时,通过合理的配置,各个系统组件都可以自动弹性伸缩。ALB采用的固定IP模式最大可支持10万QPS,切换为动态IP模型最大可支持100万QPS。Serverless应用引擎支持秒级横向弹性伸缩。云数据库PolarDB MySQL版Serverless集群各节点可实现秒级纵向弹性以及横向只读节点扩展能力。

3、应用负载均衡ALB、Serverless应用引擎实例、云数据库PolarDB MySQL版Serverless集群都采用双可用区部署,当单可用区故障,可自动迁移使用另一可用区的服务。

综上,可以总结上述架构是一个基于云环境、使用Serverless架构和负载均衡技术的高可用Web应用及其数据库服务的系统架构。

紧接着方案中开始阐述Serverless架构的典型应用场景,其实除了方案中提到的场景外,Serverless架构还可以应用到如下业务:

  • 在物联网(IoT)领域,设备会不断产生大量的数据,这些数据需要被实时处理和分析以支持业务决策。使用Serverless架构,你可以将数据处理逻辑编写为无服务器函数,当新数据到达时自动触发这些函数进行处理。例如,一个智能家居系统可以将温度、湿度等传感器数据发送到无服务器函数,函数随后对数据进行清洗、聚合和分析,并将结果存储在数据库中供后续查询。
  • 在文档处理或图像识别领域,经常需要对用户上传的文件进行各种处理,如格式转换、压缩、识别文字等。使用Serverless架构,你可以创建一系列无服务器函数来处理这些任务。当用户上传文件时,可以触发一个函数来接收文件,并将其发送到另一个函数进行处理。处理完成后,结果可以返回给用户或存储在云存储中。这种方式不仅提高了处理效率,还减少了服务器的维护成本。
  • 在机器学习领域,训练好的模型需要被部署到生产环境中以进行实时预测或推荐。使用Serverless架构,你可以将模型部署为无服务器函数,并根据需要调用这些函数进行预测。这种方式的好处是,你可以根据需要动态地扩展模型的数量和计算能力,以适应不同的流量需求。此外,Serverless架构还提供了自动管理和优化资源的能力,使得机器学习应用的运维更加简单和高效。
  • 在微服务架构中,每个服务都可以被封装成一个独立的函数,并使用Serverless架构进行部署。这种方式使得服务的扩展和部署更加灵活,可以根据实际需求动态地调整每个服务的资源分配。同时,由于Serverless架构的自动扩展能力,当某个服务的请求量增加时,可以自动增加更多的函数实例来处理请求,确保服务的稳定性和可用性。

下面就是方案的实际部署了,提供了两种部署方式,一键部署和手动部署,这里推荐一键部署,可以大大免去基础环境的搭建步骤,提升部署效率。下面是一键部署和手动部署在步骤上有差异的地方。
image.png
image.png
从图上可以看出,手动部署需要将涉及的资源挨个进行配置和搭建,而一键部署通过ROS编排做到了将涉及的资源集中搭建,一键配置。

从上面的方案拓扑也可以看出,本次体验实际上涉及到产品和服务有Serverless应用引擎(SAE)、PolarDB MySQL Serverless、应用型负载均衡ALB。针对本次体验,如果你是新用户可以领取PolarDB MySQL Serverless的试用额度。
image.png
到这,这个方案的解读就结束了,虽然篇幅有限,但整体看下来还是可以的,方案该有的信息都有,就是方案的某个模块阐述不是很到位,需要根据实际需求做下优化,比如上述提到的架构优缺点应该用表格。此外,本次的解决方案评测也是近几期以来步骤最少,难度最低的一次了。

部署体验

一键部署

这里直接点击方案中的“一键部署”前往部署详情,接着在详情页中点击“一键部署”来到ROS控制台。如下:
image.png
选择地域,输入mysql密码,选择可用区。如下:
image.png
这里可以点击"预览模板资源",查看需要创建的所有资源信息。如下:
image.png
完成后,点击下一步。
image.png
这里可以看到所需的费用明细,需要先检查账户余额是否大于100元。确认无误,点击“创建”。如下
image.png
创建过程中,可以通过点击"事件"或"资源",查看当前进度。如下:
image.png
等待8分钟后,状态变成“创建成功”。如下:
image.png
在资源栈详情页面,单击输出页签,即可开始访问服务了。如下:
image.png
image.png
为了更直观清晰地了解其高可用架构,我们登录PolarDB控制台,这里可以看到集群的详情。如下:
image.png
image.png
image.png
通过“性能监控”,我们看到节点的所有监控数据,非常直观清晰。如下:
image.png
image.png
image.png
image.png
对于运维人员来说,数据库参数的配置非常麻烦,而在PolarDB MySQL Serverless中这将变得非常简单,如下:
image.png
开发维护人员可以可视化查找并修改配置参数,如果对于某个参数不熟悉,完全可以通过将鼠标悬停在问号处获得答案。而且针对主备节点的参数差异进行了可视化展示。如下:
image.png
对于所有修改过的参数,均记录在案,通过修改历史可查阅。如下:
image.png
除此,还提供了一键诊断功能,方便开发维护人员排查问题,通过实时性能可以非常直观了解到集群的动态。如下:
image.png
image.png
image.png
此外,还提供了慢SQL的综合分析和治理。如下:
image.png

释放资源

完成体验后,非常有必要将资源进行释放,以免产生不必要的费用扣除。通过一键部署的环境,同样可以通过一键进行释放。如下:
image.png
image.png
如果你是通过手动部署方式创建的,那释放就相对麻烦很多。按照部署方案提供的步骤释放即可。如下:
image.png

学习拓展

到这里,整个方案部署体验就完成了,是不是意犹未尽呢,下面提供了更多实验,点击可前往进行体验。

在ACK Serverless中部署Stable Diffusion应用

基于EMR Serverless StarRocks一键玩转世界杯

10分钟Serverless部署PHP商城

1分钟SAE部署PHP商城小程序

5分钟轻松打造应对流量洪峰的稳定商城交易系统

小试牛刀,一键部署电商商城

体验总结

1)整个体验流程还是非常通畅的,基本涵盖了所有步骤涉及的文案。方案简要介绍了整个架构的设计思路、部署步骤以及关键组件的配置方法,这对于初次接触Serverless架构的开发者来说非常友好。然而,在某些高级配置或特定场景下的最佳实践方面,文档略显不足。例如,关于如何根据业务负载动态调整Serverless资源的详细策略,以及如何在高并发场景下优化数据库性能等高级话题,文档可以提供更多的案例分析和最佳实践指导。
这里需要提的一点就是,这个控制台界面需要优化,滚动条都被侧边栏遮挡住了,虽然可以通过按钮进行缩减,但还是会遮挡。比如:
image.png
image.png
image.png
image.png
但也不是所有的控制台都存在这个问题,ECS的控制台就不会出现这个问题,且侧边栏可以隐藏。如下:
image.png
从上面对比可以看出,其实遮挡的主因在于侧边栏图标的大小,悬停的这种因为图标偏大,导致遮挡的。
2)一键部署中并没有遇到什么问题,但在手动部署中,由于步骤说明不详细,倒是出现了两个问题,如下:

  1. 云数据库PolarDB MySQL版 Serverless集群创建时,网络配置错误:由于网络设置不当,导致集群创建后无法从应用服务器访问。通过重新检查VPC(虚拟私有云)配置和安全组规则,确保网络互通后解决了问题。
  2. Serverless应用引擎实例部署失败:在部署初期,由于Docker镜像配置问题(如依赖项未正确打包),导致实例启动失败。通过重新构建并上传正确的Docker镜像后,成功部署了应用。

所以从上述两个问题来看,往后针对手动部署,部署手册还是需要尽可能的详细,尤其是容易出错的点一定要着重标明。

3)从成本、功能和性能三个维度来看,Serverless高可用架构方案展现出了较强的竞争力:

  • 成本:Serverless架构通过按需付费的方式,有效降低了空闲资源的浪费,对于初创企业或项目初期来说,能够显著降低IT成本。
  • 功能:该方案集成了云数据库、Serverless应用引擎等多个云产品,提供了完整的高可用解决方案,支持快速迭代和弹性扩展。
  • 性能:Serverless架构通过自动管理底层资源,能够确保应用在高负载下依然稳定运行,同时减少了运维人员的工作量。

在企业上云过程中,我强烈推荐团队考虑使用Serverless架构,特别是对于需要快速响应市场变化、追求极致成本效益比的企业来说,Serverless架构无疑是一个理想的选择。

4)具体云产品的体验总结:

云数据库PolarDB MySQL版

  • 强大的弹性计算能力:从上面的体验来看,PolarDB for MySQL Serverless支持快速的资源弹升速度,能在5秒探测窗口内完成弹升,最快1秒钟。同时,它具有强大的伸缩性,可以自动进行纵向扩展(0~32核)和横向扩展(0~8个节点),支持0~256核范围内的伸缩。这种强大的伸缩性还带来了稳定性的优势,PolarDB for MySQL Serverless能够在业务无感的情况下进行纵向扩缩容和横向扩展,确保系统的稳定性和可靠性。此外,PolarDB for MySQL Serverless的资源伸缩颗粒度非常细腻,支持最小0.5PCU颗粒度的资源伸缩,使得资源的分配更加精确。另一个值得一提的特点是PolarDB for MySQL Serverless的自动启停功能。当没有访问需求时,计算资源可以被缩减到0,从而节省成本。而当有访问需求时,资源可以在短短10秒内被唤醒,迅速响应用户需求。
  • 全局数据强一致性:PolarDB for MySQL Serverless还具备全局数据的强一致性能力。无论多少个只读节点,数据都能保持强一致性,而且在保证性能不下降的情况下实现。这种一致性特性对于多节点应用尤为重要。
  • 应用场景广泛:既可以针对需要进行大量数据处理的大数据分析场景,也可以应用在微服务架构中,使得每个服务都可能有独立的数据库需求,帮助企业节省运维成本。

  • 操作配置:通过控制台或API进行配置和管理,操作便捷。但部分高级配置选项可能需要一定的学习成本。

  • 产品手册:官方文档详尽完备,涵盖了从基础操作到高级配置的各个方面,对新手友好。

综上,PolarDB MySQL版Serverless是一款具有高度灵活性和扩展性的数据库产品,它结合了云原生数据库的优势和Serverless计算的灵活性,为企业提供了一种全新的数据库解决方案。

其实去年开发者评测活动中是有针对PolarDB for MySQL Serverless出过一次测评的,我有幸参加了,感兴趣的朋友们可以点击下属链接前往了解更多。PolarDB MySQL 版 Serverless评测

Serverless应用引擎

通过上述体验,可以很轻易得出结论,SAE的产品功能在大多数情况下能够满足用户需求,同样的,SAE在性能上表现良好,能够满足大多数应用的需求。主要体现在如下几个方面:

  • 全托管、免运维:SAE作为全托管的Serverless平台,用户无需管理服务器等基础设施,只需关注业务逻辑的开发与优化。这一特性大大减轻了开发者的运维负担。
  • 丰富的企业级特性:SAE提供了诸如命名空间隔离、细粒度的权限控制等企业级特性,确保了应用的安全性和稳定性。
  • 灵活的负载类型:如SAE Job,支持任务场景,如定时任务、数据批处理、异步执行、离线计算等,具备单机、广播、并行计算、分片运行的特性,并支持失败自动重试、监控报警等。
  • 自动弹性伸缩:SAE能够根据用户的流量自动扩展或收缩资源,确保应用在高峰期和低谷期都能保持稳定的性能。

SAE的产品操作配置相对便捷,但仍有改进空间。用户可以通过SAE控制台快速创建应用,并配置相关参数,如应用名称、应用描述、源码仓库等。SAE支持从源码仓库持续部署应用,简化了部署流程,提高了开发效率。但在操作过程中,如源代码库的选择和授权方面,可以进一步优化界面设计,简化操作流程,提高用户体验。

SAE的产品手册较为详尽完备,但仍有待完善。SAE的产品手册通常包含了详细的操作步骤和示例,可以帮助用户快速上手。但随着产品的不断升级和迭代,产品手册也需要及时更新和完善,以反映最新的功能和特性。同时,可以增加更多的实战案例和最佳实践,帮助用户更好地理解和应用SAE。

同样的,去年开发者评测活动中也有针对Serverless应用引擎(SAE)出过一次测评,我也有幸参加了,感兴趣的朋友们可以点击下属链接前往了解更多。Serverless应用引擎SAE评测

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
15天前
|
存储 SQL 关系型数据库
Mysql高可用架构方案
本文阐述了Mysql高可用架构方案,介绍了 主从模式,MHA模式,MMM模式,MGR模式 方案的实现方式,没有哪个方案是完美的,开发人员在选择何种方案应用到项目中也没有标准答案,合适的才是最好的。
80 3
Mysql高可用架构方案
|
26天前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第18天】Serverless架构,即无服务器架构,是一种新兴的云计算模式,让开发者无需管理服务器即可构建和运行应用。本文探讨了其核心概念、优势、挑战及最佳实践,强调了按需付费、自动扩展和开发效率等优点,同时也指出了冷启动、状态管理和调试监控等挑战。
|
19天前
|
机器学习/深度学习 监控 Serverless
探索Serverless架构:云计算的新前沿
【10月更文挑战第26天】本文探讨了Serverless架构作为新兴的云计算范式,如何改变应用的构建和部署方式。文章介绍了Serverless的核心概念、优势和挑战,并提供了开发技巧和实用工具,帮助开发者更好地理解和利用这一技术。
|
19天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
55 1
|
21天前
|
Kubernetes 关系型数据库 MySQL
Kubernetes入门:搭建高可用微服务架构
【10月更文挑战第25天】在快速发展的云计算时代,微服务架构因其灵活性和可扩展性备受青睐。本文通过一个案例分析,展示了如何使用Kubernetes将传统Java Web应用迁移到Kubernetes平台并改造成微服务架构。通过定义Kubernetes服务、创建MySQL的Deployment/RC、改造Web应用以及部署Web应用,最终实现了高可用的微服务架构。Kubernetes不仅提供了服务发现和负载均衡的能力,还通过各种资源管理工具,提升了系统的可扩展性和容错性。
61 3
|
22天前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第23天】Serverless 架构是一种新兴的云计算范式,允许开发者构建和运行应用程序而无需管理服务器。本文深入探讨了 Serverless 的核心概念、优势、挑战及最佳实践,帮助开发者更好地理解和应用这一技术。
|
23天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
52 1
|
23天前
|
运维 监控 Serverless
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
30 1
|
27天前
|
机器学习/深度学习 监控 Serverless
无服务器架构(Serverless)
无服务器架构(Serverless)
|
2月前
|
人工智能 自然语言处理 Serverless
阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 展开合作,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。
152 13

热门文章

最新文章

相关产品

  • 函数计算