人人都是Serverless架构师之Serverless架构简介

简介: 介绍什么是Serverless架构,它的实用价值,优缺点。以及构建Serverless的预备条件,包括理论知识,对应的开发工具体系,产品体系


关于Serverless概念性的文章网上已经非常多,原本我也不想再做更多关于Serverless概念和价值相关的介绍,主要原因是我觉得当前的这个阶段我们讲Serverless应该到了

结合现实生产去聊它的落地细节和实际的效果,而不应该还是用PPT给大家灌输相关的理念。但基于本篇是笔者想做的《人人都是Serverless架构师》专题系列的开篇,所以也还是需要尽量通俗的先给大家做一个关于Serverless架构的开题介绍。

什么是Serverless架构

Serverless架构是以Serverless服务体系为核心的应用架构设计理念,属于分布式架构的一种。他的最明显特征是继承了Serverless的核心优势 - 及时弹性,应对高并发请求及降低计算服务成本,同时具备微服务架构的高扩展,快速迭代优势。 是一种更加聚焦于业务开发的架构。用例子来做一下跟传统的架构的对比:

某初创的垂直领域电商公司,需要搭建一个完整的动态站点服务。从最开始的单体架构开始,需要在阿里云购买ECS一台2核8G200G硬盘5M带宽1年约是 4000+,并且需要自己安装mysql数据库,redis, nginx等基础软件,以及需要专业同学长期运维服务器,比如防止磁盘变满,服务器启停及备份等。

当业务量上来之后,为了保持高可用和提高访问性能。需要对基础架构进行升级,需要购买阿里云负载均衡以及弹性伸缩服务和更多的ECS服务器,此外为了防止数据库瓶颈,还需要升级使用云数据库rds ,整体架构会如下.


image.png

除了架构层面的准备还需要进一步,设置ECS的安全组,伸缩规则,SlB转发规则等,后续的运维会比单体的更加复杂,当然整体价格成本也会变得更高了。

而使用Serverless架构,不管是项目初创到后续业务量变大后,整体架构都可以保持不变,其架构如下

image.png

业务增加只需横向扩展路由配置及添加函数即可。成本上, 阿里云网关ApiGateway共享实例访问量1000W次 是60块,阿里云对象存储OSS 按照存储量和访问流量收费,存储量标准型是0.12元/GB/月,访问流量5毛/GB,阿里云函数计算有免费流量而且也是按量付费整体费用也非常低。数据库可以根据需可以采用 TableStrore 按量付费,如果更习惯用 mysql 则可以采购云数据库。

Serverless架构的优缺点

从上面的跟传统架构对比可以看出Serverless架构优点部分有:

  • 对初创项目有更好的成本优势,架构体系中大部分按量付费的产品模式对初创项目而言可以最大程度的节省成本,此外运营成本开发成本都会降低
  • 扩展性更强,升级成本更低。不管是从最开始应对小规模的并发到更大流量的并发,整体的架构基本可以不变,只需要升级 产品和实例规格及可(如网关升级到专享,函数内存规格增加),扩展业务无需重启服务只需动态增加路由,函数和静态配置即可,可以完全不影响现有业务
  • 迭代效率更高,因为基础架构部分几乎无需关心,开发只专注业务函数,然后快速部署上线,整体效率更加可观。

同样不可以忽视的是Serverless架构的缺陷

  • 新的架构体系对公司的员工有更高的要求,新技术体系需要重新学习,对公司组织会形成冲击。
  • 厂商平台锁定,不同的服务提供商有自己的一套开发模式和规范,不利于迁移,这种风险会在公司必须迁移云服务商的时候会暴露的更加明显。
  • 架构在应用层面表现的更加离散,持续集成和构建存在更多的风险。 不同于部署到服务器上的应用,无服务架构的应用通常被拆的更加离散,业务路由,业务动态服务和静态服务都分散到不同的产品上。应用层面的管理会是一个挑战。
  • 调试和部署更难,Serverless服务本身对开发者是黑盒的,通常遇到问题不像服务器一样可以登录排查,对问题的定位变得更加困难。

当然对于后面的个问题,我们目前都给出了解决的答案,后续的文章会进行更详细的介绍。

构建Serverless架构需要掌握哪些知识

Serverless 应用的的核心还是在业务逻辑处理上,不过你仍然需要更多相关的知识体系才能很好的把它落地,下面就是一些具体的说明

基本的云计算架构体系

因为Serverless架构是云原生的架构体系,构建在云上必然需要掌握一些基本的云计算架构知识,比如网络,存储,安全等。网络部分主要包括你需要知道你应用的端到端访问路径,比如如果是http的请求,你需要知道域名解析,以及网关。存储部分则更多的是合理的规划成本需要,比如你需要了解静态资源摆放的最佳实践应该是对象存储,数据的存储则毫无疑问应该是在数据库中,不过至于是serverlss化的数据库还是传统的 mysql数据库等则要看你的使用习惯,成本和对新事物的接受程度。 安全的话题则比较多了,比如安全的秘钥管理,安全的服务调用,安全的流量管控等。虽然serverless本身会面临厂商锁定的挑战,但至少这些基础的云端服务能力是每家云厂商都会有的。对于阿里云 设计网络相关的产品有DNS解析,CDN加速,apigateway等,存储的话则有数据库存储 比如RDS, OTS 等产品,对象存储如OSS,这些在后面实战中会再详细的介绍给大家。

开发者工具

开发者工具则是开发Serverless架构的应用绕不开必选项之一。鉴于Serverlss架构是一种离散的架构,对云端服务物尽其用的架构,所以Serverless应用在构建部署,调试,以及持续集成上都有别于传统的应用,Serverless架构的应用可能会是一个多语言多服务类型的集合体,对于Monorepo的诉求会更强烈,此外在构建部署以及调试运维上也存在诸多不便,Serverless的开发者工具正是为了弥补Serverless应用架构的不足而生的。

几乎每一家云商都有自己的Serverlss开发者工具,比如阿里云的ServerlessDevs,AWS 的 SAM ,以及跟腾讯云合作的ServerlessFramework等。

除了基本的项目初始化及构建部署能力之外,这三款工具又都兼具Iac的能力,能够满足多样化的Serverless应用持续集成诉求。

本系列会以Serverlss Devs 为核心工具,为大家讲解Serverless的架构实践

image.png

更多其他

除了基础云计算的相关概念以及开发者工具外,你还需要知道如何工程化的管理Serverless架构的应用,包括持续集成,多环境部署测试,可观测等,此外对安全有更高要求的项目还需要进一步处理安全的问题,还有性能调优等问题。这些我都会在后续的文章会为大家一一介绍。

写在最后

Serverless 的技术成熟度曲线已经从高热度到目前的一个二次爬坡阶段,实际上也是真正开始落地生产的阶段,通过工具链的整合,已经可以做到把多个应用相关的项目整合成一个独立的代码仓库,也就是有独立的开发脚手架供更多的开发者使用去构建自己的Serverless应用,随着社会对创新落地的效率要求越来越高,我相信Serverless架构的天然优势一定会比传统的应用架构更能满足这个诉求,所以希望能有更多的人参与进来一起践行和为Serverless开发者生态贡献,欢迎更多的人加入到我们自研的Serverless开发者工具ServerlessDevs





相关实践学习
函数计算部署PuLID for FLUX人像写真实现智能换颜效果
只需一张图片,生成程序员专属写真!本次实验在函数计算中内置PuLID for FLUX,您可以通过函数计算+Serverless应用中心一键部署Flux模型,快速体验超写实图像生成的魅力。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
6月前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(二):核心架构
原文:https://jack-vanlightly.com/blog/2025/9/2/understanding-apache-fluss 作者:Jack Vanlightly 翻译:Wayne Wang@腾讯 译注:Jack Vanlightly 是一位专注于数据系统底层架构的知名技术博主,他的文章以篇幅长、细节丰富而闻名。目前 Jack 就职于 Confluent,担任首席技术架构师,因此这篇 Fluss 深度分析文章,具备一定的客观参考意义。译文拆成了三篇文章,本文是第二篇。
708 19
|
12月前
|
数据采集 运维 Serverless
云函数采集架构:Serverless模式下的动态IP与冷启动优化
本文探讨了在Serverless架构中使用云函数进行网页数据采集的挑战与解决方案。针对动态IP、冷启动及目标网站反爬策略等问题,提出了动态代理IP、请求头优化、云函数预热及容错设计等方法。通过网易云音乐歌曲信息采集案例,展示了如何结合Python代码实现高效的数据抓取,包括搜索、歌词与评论的获取。此方案不仅解决了传统采集方式在Serverless环境下的局限,还提升了系统的稳定性和性能。
346 0
|
12月前
|
存储 运维 Serverless
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
1080 69
|
11月前
|
数据采集 运维 监控
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化
随着互联网数据采集需求的增长,传统爬虫架构因固定IP易封禁、资源浪费及扩展性差等问题逐渐显现。本文提出基于Serverless与代理IP技术的新一代爬虫方案,通过动态轮换IP、弹性调度任务等特性,显著提升启动效率、降低成本并增强并发能力。架构图与代码示例详细展示了其工作原理,性能对比数据显示采集成功率从71%提升至92%。行业案例表明,该方案在电商情报与价格对比平台中效果显著,未来有望成为主流趋势。
447 0
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化
|
12月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
610 12
|
Kubernetes 监控 Serverless
基于阿里云Serverless Kubernetes(ASK)的无服务器架构设计与实践
无服务器架构(Serverless Architecture)在云原生技术中备受关注,开发者只需专注于业务逻辑,无需管理服务器。阿里云Serverless Kubernetes(ASK)是基于Kubernetes的托管服务,提供极致弹性和按需付费能力。本文深入探讨如何使用ASK设计和实现无服务器架构,涵盖事件驱动、自动扩展、无状态设计、监控与日志及成本优化等方面,并通过图片处理服务案例展示具体实践,帮助构建高效可靠的无服务器应用。
|
负载均衡 Serverless 持续交付
云端问道9期实践教学-省心省钱的云上Serverless高可用架构
详细介绍了云上Serverless高可用架构的一键部署流程
292 10
|
存储 消息中间件 人工智能
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
330 0
|
弹性计算 运维 网络协议
卓越效能,极简运维,Serverless高可用架构
本文介绍了Serverless高可用架构方案,当企业面对日益增长的用户访问量和复杂的业务需求时如何实现更高的灵活性、更低的成本和更强的稳定性。

相关产品

  • 函数计算