Serverless 架构基础详解(5)

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 除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、微服务等。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
17天前
|
弹性计算 运维 Serverless
卓越效能,极简运维,体验Serverless高可用架构,完成任务可领取转轮日历!
卓越效能,极简运维,体验Serverless高可用架构,完成任务可领取转轮日历!
|
28天前
|
监控 Serverless 云计算
探索Serverless架构:开发实践与优化策略
本文深入探讨了Serverless架构的核心概念、开发实践及优化策略。Serverless让开发者无需管理服务器即可运行代码,具有成本效益、高可扩展性和提升开发效率等优势。文章还详细介绍了函数设计、安全性、监控及性能和成本优化的最佳实践。
|
11天前
|
弹性计算 Cloud Native Serverless
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品。
|
2月前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第18天】Serverless架构,即无服务器架构,是一种新兴的云计算模式,让开发者无需管理服务器即可构建和运行应用。本文探讨了其核心概念、优势、挑战及最佳实践,强调了按需付费、自动扩展和开发效率等优点,同时也指出了冷启动、状态管理和调试监控等挑战。
|
1月前
|
机器学习/深度学习 监控 Serverless
探索Serverless架构:云计算的新前沿
【10月更文挑战第26天】本文探讨了Serverless架构作为新兴的云计算范式,如何改变应用的构建和部署方式。文章介绍了Serverless的核心概念、优势和挑战,并提供了开发技巧和实用工具,帮助开发者更好地理解和利用这一技术。
|
1月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
99 1
|
1月前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第23天】Serverless 架构是一种新兴的云计算范式,允许开发者构建和运行应用程序而无需管理服务器。本文深入探讨了 Serverless 的核心概念、优势、挑战及最佳实践,帮助开发者更好地理解和应用这一技术。
|
1月前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
80 1
|
1月前
|
运维 监控 Serverless
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
39 1
|
2月前
|
机器学习/深度学习 监控 Serverless
无服务器架构(Serverless)
无服务器架构(Serverless)

热门文章

最新文章

相关产品

  • 函数计算