Serverless 架构基础详解(5)

简介: 除Serverless Framework之外,Serverless Devs同样是无厂商锁定的多云开发者工具。目前按照Serverless Devs的官方仓库显示,其已经支持AWS Lambda,阿里云函数计算,腾讯云云函数,华为云Serverless工作流以及百度智能云函数计算等产品。与Serverless Framework不同的是,Serverless Devs主打的是Serverless应用全生命周期管理工具。

1.1.5 生态工具
除Serverless Framework之外,Serverless Devs同样是无厂商锁定的多云开发者工具。目前按照Serverless Devs的官方仓库显示,其已经支持AWS Lambda,阿里云函数计算,腾讯云云函数,华为云Serverless工作流以及百度智能云函数计算等产品。与Serverless Framework不同的是,Serverless Devs主打的是Serverless应用全生命周期管理工具。

如下图所示,以阿里云函数计算为例,Serverless Devs可以支持包括脚手架、调试、发布、运维等多个流程多种功能:

063fea7560b7b336cd76384d86ed385.jpg

另外值得一提的是,Serverless Devs不仅支持拥有完善的工具链产品,其在2021年还对外正式发布Serverless Devs Model(Serverless开发者工具模型:SDM):

ade8356ac4deb02b3bef05d993f643b.jpg

通过Serverless Devs,开发者同样可以非常简单快速的使用各个厂商/平台的Serverless产品,以阿里云函数计算为例:

# 安装
npm install -g @serverless-devs/s
# 配置密钥
s config add --AccessKeyID AccessKeyID --AccessKeySecret AccessKeySecret
# 创建一个项目
s init node.js12-http -d fc-hello-world-demo
# 进入项目
cd fc-hello-world-demo
# 部署项目
s deploy

开发框架
在传统架构下,开发者想要进行业务开发有着诸多的开发者个框架可供选择,以Web框架为例,Node.js语言类的有Expree.js,Nuxt.js,Egg.js等,Python语言类的有Django,Flask等,Java类的也有SpringBoot等,但是随着Serverless架构的不断发展,传统框架迁移到Serverless是一种解决Serverless应用开发者框架匮乏的方案之一,但是实际上这些框架并不是针对Serverles是架构设计的,很有可能有诸多的优秀特性丧失,例如某些框架的异步处理能力,尽管Serverless平台都已经提供了异步触发能力,但是框架本身的异步处理能力在Serverless架构下就很难被利用起来,所以针对Serverless架构所设计的Serverless First框架,就显得尤为重要。

目前在社区生态中,有诸多优秀的Serverless应用层面的开发者框架,例如基于原有 Midway 的 IoC 体系设计,复用原有装饰器和解耦能力的同时,将代码分解到不同的函数中,并发布到各个云平台的Midway Serverless;基于 TypeScript 的 Serverless First、组件化、平台无关的渐进式应用框架Malagu等。

以Midway Serverless为例,Midway Serverless 是用于构建 Node.js 云函数的 Serverless 框架,帮助开发者在云原生时代大幅降低维护成本,更专注于产品研发。Midway Serverless拥有诸多优点,例如:

跨云厂商:一份代码可在多个云平台间快速部署,不用担心产品会被云厂商所绑定。

云端一体化:提供了多套和社区前端 React、Vue 等融合一体化开发的方案。

代码复用:通过框架的依赖注入能力,让每一部分逻辑单元都天然可复用,可以快速方便地组合以生成复杂的应用。

传统迁移:通过框架的运行时扩展能力,让 Egg.js 、Koa、Express.js 等传统应用无缝迁移至各云厂商的云函数

通过该框架,开发者可以快速构建的全栈应用,也可以发布的函数服务,Restful 接口等,也可以加上前端(react,vue)代码构建中后台项目,也可以使用 Midway 提供的方案迁移传统的 Egg/Koa/Express 应用上弹性容器等。以全栈应用为例:

# 安装
npm i @midwayjs/faas-cli -g
# 创建一个项目
f create --template-package=@midwayjs-examples/midway-hooks-react
# 部署项目
f deploy

除Midway Serverless之外,Malagu也是一款社区驱动的Serverless First框架。Malagu 是基于 TypeScript 的 Serverless First、组件化、平台无关的渐进式应用框架,又叫 M 框架。使用同一套编程语言和 IoC 设计,用于开发前端、后端和前后端一体化应用。并且结合了 OOP(面向对象编程)、AOP(面向切面编程)等元素,借鉴了很多 Spring Boot 设计思想。在后端,Malagu 抽象一套接口,方便适配任意的平台和基础框架,是一个平台或基础框架无关的上层框架。平台如阿里云函数计算、腾讯云云函数、AWS Lambda、Vercel 等,基础框架如 Express、Koa、Fastify 等。与大部分传统开发框架不同的是,Malagu 是一个全栈应用开发框架,如果只看后端部分,Malagu 与 Spring Boot 是同一层次的东西,如果只看前端部分,Malagu 是 React、Vue 等前端框架之上的更上层的抽象,所以 Malagu 是前端框架无关的。Malagu 与传统框架比较,Malagu 提供了前后端渐进式一体化方案,在前后端之上做了一层抽象,让前后端在开发、测试、部署拥有一致的体验。传统框架一般不考虑应用部署环节,Malagu 借助 Serverless 技术优势,让部署环节变得流畅且低成本。另外,Malagu 也是一个 Serverless 优先的框架,屏蔽了 Serverless 底层的细节,开箱即用。针对 Serverless 场景做了很多优化,如冷启动、数据库操作等等;同时,也提供了很多开箱即用的能力,比如安全、认证与授权、OAuth2.0、OIDC、数据库操作、缓存、前端框架集成、依赖注入、AOP、微服务等。

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

热门文章

最新文章

相关产品

  • 函数计算