在当今数字化转型的浪潮中,企业对于IT系统的灵活性、成本效益及高可用性的需求日益增强。Serverless架构以其独特的优势——无需预配置或管理服务器、自动弹性伸缩、按使用量计费——成为了众多企业实现业务敏捷性、降低运营成本、提升服务可靠性的首选方案。本文将基于阿里云提供的SAE产品来一探究竟。
一、方案架构概览
1.1 架构设计
本方案遵循“高可用、低成本、易扩展”的设计原则,通过单地域双可用区部署策略,构建了一套高度可靠且成本效益显著的Serverless高可用架构。该架构不仅能够有效抵御单点故障,还能根据业务负载自动调整资源,确保服务的持续稳定运行。
1.2 环境准备
本方案的技术架构包括以下基础设施和云服务:
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集群:为业务系统提供数据服务。
1.3 部署流程
一键部署流程大致分为以下几个步骤:
1、打开一键配置模板链接前往ROS控制台,系统自动打开使用新资源创建资源栈的面板,配置资源栈名称,配置MySQL数据库密码,同时要选取两个可用区
2、点击下一步开始创建,这里有整个价格的评估。这里有充足的代金券时,但没有立即创建的按钮。
3、尝试了两次,当资源栈信息页面的状态显示为创建成功时表示一键配置完成。创建大概需要10分钟左右。
创建资源如下:
4、验证部署在输出页签下,单击url访问服务,看到如下页面表示部署成功。
访问之后显示hello world 表示部署成功。
5、释放资源,避免产生不必要的费用。在资源栈页面的顶部选择部署的资源栈所在地域,找到资源栈,然后在其右侧操作列,单击删除。
二、一键部署体验
2.1 操作便捷性
阿里云提供的一键部署功能极大地简化了Serverless高可用架构的搭建过程。只需在控制台填写数据库的密码,即可完成整个架构的初始化配置。这种“傻瓜式”操作大大降低了技术门槛,使得非专业运维人员也能轻松上手。也降低了使用过程配置出错。
2.2 资源自动化管理
在部署过程中,用户无需手动配置服务器、数据库等底层资源,这些工作均由阿里云平台自动完成。用户只需关注业务逻辑的实现和应用的性能调优,大大提升了开发效率。同时当业务负载增加时,系统会自动增加计算资源以满足需求;当负载降低时,则会释放多余资源以节省成本。这种高效的资源管理方式使得企业能够更加专注于业务本身而非IT运维。
三、性能测试与成本分析
3.1 性能测试
为了验证Serverless高可用架构的性能表现,进行压测。测试结果显示,在高并发场景下,该架构能够保持稳定的响应时间和较低的延迟率。同时,由于采用了负载均衡和跨可用区部署策略,即使某个可用区出现故障也不会对整体业务造成影响。
3.2 可靠性测试
可靠性测试主要关注系统在单点故障下的恢复能力和数据一致性。通过手动关闭PolarDB MySQL版主数据库来制造故障。测试结果表明,在发生单点故障时,系统会自动切换到备用数据库继续提供服务,且数据保持高度一致性和完整性。
3.3 成本分析
相比传统的IT架构而言,Serverless高可用架构在成本效益方面具有显著优势。首先,由于采用了按需付费模式,企业无需为闲置资源支付费用;其次,通过自动伸缩功能可以有效避免资源浪费;最后,通过优化资源配置和减少运维工作量可以进一步降低总体拥有成本(TCO)。与ECS相比,在实例每日平均负载<=20小时,建议使用SAE更便宜。
四、总结
阿里云Serverless高可用架构的一键部署体验。其操作便捷性、资源自动化管理能力以及强大的弹性伸缩性能,为企业构建高可用、低成本的业务系统提供了有力支持。
- 对比ECS自建,使用SAE可以使用分钟级上线,免购买ECS、免创建集群、免运维。
- 可以支持从传统的ECS环境平滑迁移到SAE,无需修改代码。
- 极简的运维,可以做到一键启停开发测试环境。
- 无缝对接开源的CICD工具及方案。
- 全面支持应用托管——可灰度、可观测、可回滚。
最后一点小小建议:在一键部署失败时,是否可以提供更多的信息让用户来定位问题,本次部署失败了两次,只能去重新部署,不知道如何下手排查。