Serverless高可用架构评测

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 【7月更文第15天】这两天我体验了《Serverless高可用架构》解决方案并进行部署,总体来说Serverless高可用架构跟传统架构对比还是很不错的, Serverless 架构可以实现零代码改造、极简易用、自适应弹性的全托管服务,自动伸缩实例并按使用量计费,同时提供开箱即用的日志、监控、负载均衡等配套能力。

这两天我体验了《Serverless高可用架构》解决方案并进行部署,总体来说Serverless高可用架构跟传统架构对比还是很不错的, Serverless 架构可以实现零代码改造、极简易用、自适应弹性的全托管服务,自动伸缩实例并按使用量计费,同时提供开箱即用的日志、监控、负载均衡等配套能力。
111.jpg
用户访问应用时,DNS会将访问请求解析至应用负载均衡ALB的服务地址。负载均衡作为应用的统一入口,将请求转发至Serverless应用引擎实例上的服务。
在您的业务负载增长时,通过合理的配置,各个系统组件都可以自动弹性伸缩。ALB采用的固定IP模式最大可支持10万QPS,切换为动态IP模型最大可支持100万QPS。Serverless应用引擎支持秒级横向弹性伸缩。云数据库PolarDB MySQL版Serverless集群各节点可实现秒级纵向弹性以及横向只读节点扩展能力。
应用负载均衡ALB、Serverless应用引擎实例、云数据库PolarDB MySQL版Serverless集群都采用双可用区部署,当单可用区故障,可自动迁移使用另一可用区的服务。
222.png
下面我们一起看下部署流程吧:
技术架构包括以下基础设施和云服务:

1个专有网络VPC:为应用型负载均衡ALB、Serverless应用引擎、云数据库PolarDB MySQL版Serverless集群等云资源构建云上私有网络。

5台交换机:按照经典架构设计3个子网平面(公网平面、业务平面、数据平面),分别部署在两个可用区,提供基本的网络分段和隔离功能。ALB横跨两个可用区部署在公网平面,两个Serverless应用引擎实例分别部署在两个可用区的业务平面,一对云数据库PolarDB MySQL版Serverless主备集群分别部署在两个可用区的数据平面。

1个公网应用型负载均衡ALB:将公网访问流量分发到不同的Serverless应用引擎实例。公网ALB通过EIP提供公网服务能力。

2个Serverless应用引擎实例:用于部署业务系统,提供应用服务。

1个云数据库PolarDB MySQL版Serverless集群:为业务系统提供数据服务。

一.部署准备
耗时:10分钟

1.准备账号
如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

2.为阿里云账号充值。本方案的云资源支持按量付费,且默认设置均采用按量付费引导操作。如果确定任何一个云资源采用按量付费方式部署,账户余额都必须大于等于100元。

二.部署资源:
555.png

1.创建专有网络VPC和交换机
1.1 为了实现高可用,您需要将服务负载和数据库等资源尽可能分布在多个可用区,规避单可用区故障造成的服务不可用。本方案以双可用区为例,因此,您需要创建1个专有网络和5个交换机。PolarDB MySQL版 Serverless集群仅需1.2 要1个交换机,系统自动选择备可用区。
1.3 登录专有网络管理控制台。
1.4 在左侧导航栏,单击专有网络。
1.5 在顶部菜单栏,选择华东1(杭州)地域。
1.6 在专有网络页面,单击创建专有网络。
1.7在创建专有网络页面,配置1个专有网络和5个交换机。配置交换机时,请确保交换机所属的可用区的ALB是可用状态。
2.创建安全组
2.1您已经在1个专有网络VPC下的2个可用区分别创建5台交换机。接下来您需要创建1个跨可用区的安全组,用于限制该专有网络VPC下的5台交换机的网络流入和流出。
2.2登录ECS管理控制台。
2.3在左侧导航栏,选择网络与安全>安全组。
2.4在顶部菜单栏,选择华东1(杭州)地域。
2.5在安全组页面,单击创建安全组。
2.6在创建安全组页面,创建1个安全组。
3.创建云数据库PolarDB MySQL版 Serverless集群
您已经创建了VPC和vSwitch。接下来您需要创建云数据库PolarDB MySQL版 Serverless集群、数据库、数据库账号。您需要记录创建的云数据库 PolarDB MySQL版 Serverless集群的内网连接地址、数据库名称、账号、密码用于之后的配置和使用。

1.创建集群
666.png

a前往PolarDB集群购买页面。
b选择计费类型为Serverless。
c地域选择华东一(杭州)
d创建方式选择创建主集群。
e数据库引擎选择MySQL 8.0.2。
f产品版本选择企业版或标准版。
g选择主可用区。选择刚刚创建的vsw_db_001所在的可用区。
h网络类型选择刚刚创建的VPC和vSwitch。
i选择是否开启热备集群。选择开启。
j如果开启存储热备集群,PolarDB会在当前地域内同时部署主集群(包含互备计算节点+主存储)和存储热备集群,主集群和存储热备集群各保证3副本数据(共6副本数据),具有更高的SLA可靠性保障。
k如果关闭存储热备集群,则仅保留主集群(3副本数据),存储单价是开启存储热备集群单价的1/2。集群的SLA也会降低。
l设置Serverless集群的资源扩缩范围。
m只读节点个数伸缩下限:设置允许只读节点增加的最小数量。取值范围:0~15。为了实现Serverless集群的高可用,建议将只读节点个数伸缩下限设置为1。
n只读节点个数伸缩上限:设置允许只读节点增加的最大数量。只读节点数量会根据业务压力自动增加或减少。取值范围:0~15。
o单节点伸缩下限:设置集群内单节点PCU数量的下限。Serverless形态的PolarDB集群采用PCU(约等于1核2 GB的资源)做秒级计费和扩缩单元,PCU会随着业务负载在指定区间内动态调整。取值范围:1 PCU~31 PCU。
p单节点伸缩上限:设置集群内单节点PCU数量的上限。Serverless形态的PolarDB集群采用PCU(约等于1核2 GB的资源)做秒级计费和扩缩单元,PCU会随着业务负载在指定区间内动态调整。取值范围:1 PCU~32 PCU。
q选择是否开启无活动暂停功能。该功能默认关闭。
r选择存储类型。
PolarDB企业版支持PSL5和PSL4两种存储类型。选择PSL5。
在页面右侧,同意协议,单击立即购买。

4.创建Serverless应用引擎实例
接下来您需要在2个可用区分别创建1个Serverless应用引擎实例,来实现服务跨可用区的高可用。
1登录SAE控制台。
2如果左上角显示体验SAE 2.0,请单击体验SAE 2.0,前往SAE 2.0。如果没有则表示当前是SAE 2.0,无需操作。
333.png
3.在左侧导航栏,单击应用管理 > Web应用,在顶部菜单栏选择地域,然后在应用列表页面,选中始终分配固定CPU页签,单击创建应用。
4.在创建应用页面,完成以下操作。
5.创建负载均衡ALB
接下来您需要创建1个公网类型的应用型负载均衡ALB并配置路由,从而实现这个专有网络VPC下的Serverless应用引擎实例对外的公网访问和流量分发。
1登录应用型负载均衡ALB控制台。
2创建应用型负载均衡ALB实例;

方案验证
一、检查业务可以正常访问

1登录ALB控制台,从实例列表中获取ALB实例的DNS名称。
2通过浏览器访问该DNS名称,检查可以正常访问到示例应用。
444.png

最后总结
1)在体验过程中是否得到足够的引导以及文档帮助?如果没有,还欠缺什么部分?

在体验《卓越效能,极简运维,Serverless高可用架构》解决方案的过程中,我得到了相对充分的引导与文档帮助。大多数关键步骤都有详细的教程和文档支持,特别是关于如何创建Serverless应用引擎实例、配置云数据库PolarDB MySQL版 Serverless集群等核心环节,文档内容详尽且易于理解。然而,对于一些高级配置选项或特定场景的定制化需求,文档可能略显不足。例如,如何在特定网络环境下优化Serverless应用的访问性能、如何根据业务负载动态调整资源配额等高级功能,如果能够提供更多案例分析和最佳实践,将会对用户更加友好。

2)部署过程中的创建云数据库PolarDB MySQL版 Serverless集群和Serverless应用引擎实例是否遇到过哪些报错或异常?

在部署过程中,我并未遇到显著的报错或异常。PolarDB MySQL版 Serverless集群的创建过程非常流畅,系统能够自动根据配置选择最合适的资源进行部署,无需手动干预。Serverless应用引擎实例的部署也同样顺利,通过简单的几步操作就能完成应用的部署和启动。不过,需要注意的是,如果在创建过程中填写的参数不符合要求(如网络配置错误、权限不足等),系统会及时给出错误提示,但部分提示信息可能对于初学者来说略显专业,如果能增加一些通俗易懂的解释或链接到相关帮助文档,将更有助于用户快速定位并解决问题。

3)您认为Serverless高可用架构方案在成本、功能、性能上是否有竞争力?在企业上云过程中,是否推荐团队使用Serverless架构?

Serverless高可用架构方案在成本、功能和性能上均展现出较强的竞争力。从成本角度看,Serverless架构的按需付费模式极大地降低了企业的IT成本,避免了资源的闲置浪费。在功能方面,Serverless架构提供了高度灵活和可扩展的服务,能够轻松应对业务高峰期的流量压力。性能方面,通过云服务商提供的底层优化和自动扩展机制,Serverless应用能够保持稳定的性能输出。因此,在企业上云过程中,我非常推荐团队使用Serverless架构,特别是对于初创企业、中小型企业以及需要快速迭代和响应市场变化的企业来说,Serverless架构能够显著提升开发效率和运维效率。

4)分享您在场景中使用到具体云产品的体验

在体验过程中,我使用了云数据库PolarDB MySQL版 Serverless集群和Serverless应用引擎两款产品。云数据库PolarDB MySQL版 Serverless集群给我留下了深刻的印象,其自动扩展、高可用性和易用性都远超传统数据库解决方案。通过简单的配置就能实现数据库的高可用部署,并且支持秒级扩展,极大地提升了数据库的性能和稳定性。Serverless应用引擎则提供了从代码到服务的全链条支持,简化了应用的部署和运维流程。产品操作配置非常便捷,通过可视化的控制台就能完成大部分操作。同时,产品手册详尽完备,对于初学者来说非常友好。总体而言,这两款产品都很好地满足了我在场景中的需求,为我提供了高效、稳定的云上服务体验。

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