重磅发布 | Serverless 应用中心:Serverless 应用全生命周期管理平台
简介:Serverless 应用中心,是阿里云 Serverless 应用全生命周期管理平台。通过 Serverless 应用中心,用户在部署应用之前无需进行额外的克隆、构建、打包和发布操作,即可快速部署和管理应用。Serverless 应用中心帮助用户快速联动云上的上下游服务,轻松沉淀最佳实践。
作者:江昱|阿里云 Serverless 产品经理
随着 Serverless 架构的不断普及与应用,Serverless 工具链体系的匮乏、更新/部署流程复杂、资源零散以及管理难度大等问题也随之显露。尽管 2020 年 11 月,Serverless Devs 开发者工具的开源已经在一定程度上解决了工具链体系匮乏带来的部分问题,但是开发者在实际工作中,以应用为中心,对 Serverless 架构进行整体的运维操作、对资源进行整体的管理行为,依旧面临着挑战。于是,建设一个可以帮助开发者在 Serverless 应用全生命周期发挥作用的应用管理平台就显得尤为重要。
2022 年 5 月 9 日,历经 10 个月打磨和测试,Serverless 应用中心正式上线。
这就是 Serverless 应用平台
Serverless 应用中心,是阿里云 Serverless 应用全生命周期管理平台。通过 Serverless 应用中心,用户在部署应用之前无需进行额外的克隆、构建、打包和发布操作,即可快速部署和管理应用。Serverless 应用中心帮助用户快速联动云上的上下游服务,轻松沉淀最佳实践。
Serverless 应用中心的发布,一方面希望通过与 Serverless Devs 工具链的联动,进一步实现和完善 Serverless 应用全生命周期管理能力,另一方面也希望通过 Serverless 应用中心可以帮助开发者,更快速的体验 Serverless 架构,更简单的上手和使用 Serverless 架构,更科学和直观的管理 Serverless 应用。
与此同时,Serverless 应用中心将会是 “Serverless On Serverless” 的一次尝试,不仅作为新能力为开发者们提供更多的支持和便利,也将成为支持海量用户使用 Serverless 架构,海量 Serverless 应用部署的,基于 Serverless 架构的最佳实践。
Serverless 应用中心的目标
Serverless 应用中心,作为 Serverless 应用全生命周期管理平台,在一定程度上承载了几个重要的责任:
- 让开发者,可以通过白屏化操作,更简单、更方便、更快速的体验和上手 Serverless 应用;
- 让 Serverless 应用,可以以一种更为科学、安全与稳定的方法,进行开发、创建、更新以及运维、迭代等;
- 将传统的资源以应用的维度进行聚合、管理,可以让开发者真正意义上聚焦业务,聚焦应用,而不再是零散在不同产品页面上的资源;
所以,Serverless 应用中心的初期目标,也就变得更为简单和纯粹:易用与好用。
一步开始 Serverless 之旅
Serverless 应用中心将会大大降低用户在 Serverless 应用 OnBoarding 过程中的上手复杂度,通过白屏化的操作,开发者可以通过简单的配置,快速创建出相对复杂的应用案例,而这些应用案例将会作为二次开发、学习和体验的重要参考。
《重磅发布 | Serverless 应用中心:Serverless 应用全生命周期管理平台》—创建应用案例-云视频-阿里云开发者社区
如视频所示,用户只需要在应用页面中,找到合适的应用点击创建按钮,即可快速地进行应用的创建,应用创建完成之后会有相关的测试域名可供体验。
目前应用中心已经提供了包括商城案例、音视频处理、Web 框架等近 5 个分类的超 20 款热门应用的快速体验,无论是 Django、Express、Flask、SpringBoot 等传统框架的一键部署,还是 Zblog、Wordpress 等博客、内容管理系统的快速创建和使用,再或者是 CDN 的备源、一键创建网盘/云桌面、视频转码/切片/压缩的极速体验,Serverless 应用中心都可以帮助开发者一步开始 Serverless 之旅。
与工具结合的 1 到 n
除了快速创建模板应用,开发者也可以选择通过 Github 等代码仓库进行项目创建。
《重磅发布 | Serverless 应用中心:Serverless 应用全生命周期管理平台》—通过 Github 等代码仓库进行项目创建-云视频-阿里云开发者社区
如视频所示,当开发者选择通过 Github 代码仓库进行项目的创建之后,Serverless 应用中心不仅会创建应用本身,还会将应用代码放到指定的代码仓库中,这样开发者就可以基于该案例/模板,进行项目的二次开发等。
值得一提的是:
- 所有基于 Serverless 应用中心创建的应用,都是符合 Serverless Devs 规范的应用,即开发者可以通过 Serverless Devs 开发者工具对应用进行开发、调试、部署等相关操作;
例如开发者 Clone 放在指定仓库的应用,在本地进行开发和多模调试(本地调试、端云联调、云端调试等),完成之后可以通过将代码推送到代码仓库或者创建 Release,实现业务的更新。
- Serverless 应用中心不仅可以快速创建模板应用,通过案例应用进行参考和二次开发,还可以直接导入已有的,且符合 Serverless Devs 规范的应用,将已有的应用托管到应用中心,进而体验 Serverless 应用中心的相关功能。
以应用维度的资源管理
众所周知,Serverless 应用往往会涉及到诸多的产品,例如数据库资源、消息中间件资源、对象存储、日志服务等资源,换句话来说,一个完整的 Serverless 应用,通常都是 FaaS 产品与诸多的 BaaS 有机结合,因此,Serverless 的用户往往会面临着管理诸多资源的问题,而这些管理的资源往往又在不同的产品页面,对后期的管理、运维等都带来的极大的不便,不小得复杂度。
如下图所示,Serverless 应用中心将会以应用维度进行资源的展示和管理:
通过以应用维度的创建、更新等操作,通过以应用维度的资源展示与管理,Serverless 应用中心将原本分散的资源进行了进一步抽象,通过应用维度使得开发者可以更清晰、直观地对自身应用进行运维、管理等。
实现
正所谓敢于自我尝试,才有可能服务好更多开发者,在阿里巴巴内部,尽管已经有大量业务采用 Serverless 架构实现,但是,在我们眼中依旧不够 “典型”,如何 “Serverless On Serverless”,让 Serverless 架构不仅仅可以在内部有大量应用,服务其他行业/业务,也要让 Serverless 架构可以为团队自身创造更多的价值,于是,Serverless 应用中心就成为了一个出生在 Serverless 架构,成长在 Serverless 架构的云原生应用。
Serverless 应用中心,基于 Serverless 架构自身的极致弹性特点,通过 FaaS 产品与 BaaS 产品的有机结合,花费了极少的时间和代价,构建出了一套可用性极高,费用极低的高性价比,高可用的后台服务。
如上图所示,通过 HTTP 触发器(API 网关),基础业务函数将会接收用户在客户端发起的请求,以及 Github 等代码仓库送来的 WebSockets 通知,对这些信息进行基础的处理(包括不限于权限鉴定、身份认证等相关操作),然后通过消息中间件(部分事件并不会通过消息中间件),将不同的事件送达到不同的业务函数中,并进行业务的处理,如果有创建、更新等部署相关事件,则会进一步的下发到部署函数中,进行业务的部署,在整个流程中,会不断的有元数据、缓存数据、日志信息等通过 Proxy 模块,存储到对应的 BaaS 产品中。
在整个项目构建的过程中,业务同学只需要设计好整体架构,以及对相关的业务函数进行开发和部署即可,项目中的 BaaS 产品的运维、FaaS 产品的弹性,均由平台实现和负责,一方面可以让开发的同学付出更多的精力在更具价值的业务逻辑之上,另一方面也可以大大提升业务的研发效能,加快业务创新迭代效率,缩短项目上线发布周期。
当然,关于 Serverless 应用中心,如何实现 “Serverless On Serverless” 这个部分,我们会在之后的技术分享和文章中进行更为详细的分享。
Roadmap
尽管 Serverless 应用中心已经发布了 Beta 版本,但是仍然存在一定的不足,目前相关的研发同学也正在不断的完善和优化中。当然,我们还有很多功能,等待更新和进一步完善,包括不限于:
应用创建:
- 1.支持更多代码仓库:
- Gitee
- Gitlab
- Codeup
- 2.支持更多的触发方案:
- Github Action 触发
- 云效触发
- Jenkins 触发
应用管理:
1.应用删除能力
2.应用维度监控与告警能力
3.应用维度的资源编辑能力
4.在线应用编辑能力
5.Serverless Devs 开发者工具与应用中心联动能力
另外,对正在体验或者已经体验了应用中心的同学,也欢迎及时和我们反馈更多的意见和看法,可以通过留言或者填写我们的调研问卷 :https://survey.aliyun.com/apps/zhiliao/rYNa4yQPl?spm=5176.fcnext.0.0.1aa378c86LzoWS&accounttraceid=3e88a5f7731249cdab58a79e89245a69rbwk&chInfo=ch_share__chsub_CopyLink&apshareid=068DCCBE-EDE9-49E5-8ABF-B488D2B31394,进一步和我们取得联系。我们相信大家一起参与的项目,才能更好地为大家服务,因为每个人都是工具的主人,都是 Serverless 应用中心的主人。
总结
Serverless 架构正在不断发展,从开发者角度出发的工具和平台也逐渐的丰富起来,Serverless 应用中心作为 Serverless 应用全生命周期管理平台,采用 “Serverless On Serverless” 的做法,不仅仅希望通过易用和好用帮助开发者快速体验 Serverless 架构,从 0 到 1 再到 n 的将自身应用部署到 Serverless 架构,也希望开发者可以整整意义上以应用维度对 Serverless 相关资源进行管理,对 Serverless 应用进行操作。
作为 Serverless 应用全生命周期管理平台,Serverless 应用中心也正在通过和广大的业务团队,开发者们,一同努力建设 “来自用户,为了用户,服务用户” 的 Serverless 应用管理平台。
本文为阿里云原创内容,未经允许不得转载。
重磅发布 | Serverless 应用中心:Serverless 应用全生命周期管理平台的更多相关文章
- 如何在 DevOps 中进行 API 全生命周期管理?
随着 DevOps 理念在中国企业当中的普及和发展,中国企业 DevOps 落地成熟度不断提升,根据中国信通院的数据已有近 6 成企业向全生命周期管理迈进. 而在研发全生命周期管理之中,API 管理的 ...
- [转载]DevOps建立全生命周期管理
全生命周期管理(ALM)领域作为企业DevOps实践的总体支撑,应该说是DevOps领域中最为重要的实践领域,也是所有其他实践的基础设施.现在很多企业都非常重视CI/CD自动化工具的引入和推广,但是对 ...
- 微服务手册:API接口9个生命节点,构建全生命周期管理
互联网应用架构:专注编程教学,架构,JAVA,Python,微服务,机器学习等领域,欢迎关注,一起学习. 对于API,在日常的工作中是接触最多的东西,特别是我们软件这一行,基本就是家常便饭了,在百度百 ...
- 云原生API网关全生命周期管理Apache APISIX探究实操
@ 目录 概述 定义 NGINX 与 Kong 的痛点 APISIX 的技术优势 特性 架构 应用场景 主要概念 部署 快速入门 quickstart安装 Admin API创建路由 RPM安装 安装 ...
- HDD深圳站:全生命周期赋能开发者,华为引领应用生态升级
12月14日,由华为开发者联盟主办的HDD(HUAWEI Developer Day)于深圳举行.此次HDD主论坛,围绕打造应用全生命周期服务,介绍了华为在创新孵化.开发测试.应用分发和运营增长阶段的 ...
- 三张图片详解Asp.Net 全生命周期
用三张图片详解Asp.Net 全生命周期 下面我们使用三张图片解析ASP.net的整个生命周期,我总感觉使用图片更加的清楚的说明这种问题,所以使用的这样方式 说明: 1 第一张图片从全局说明从客户端 ...
- Spark Streaming源码解读之流数据不断接收和全生命周期彻底研究和思考
本节的主要内容: 一.数据接受架构和设计模式 二.接受数据的源码解读 Spark Streaming不断持续的接收数据,具有Receiver的Spark 应用程序的考虑. Receiver和Drive ...
- 解读Spark Streaming RDD的全生命周期
本节主要内容: 一.DStream与RDD关系的彻底的研究 二.StreamingRDD的生成彻底研究 Spark Streaming RDD思考三个关键的问题: RDD本身是基本对象,根据一定时间定 ...
- spring-bean(全生命周期)
作用:在初始化和销毁bean时候,做一些处理工作是调用生命周期方法 格式: <bean id=”该生命周期的名称” class=”提供方法的类的全路径” init-methood=”init” ...
- 详解服务器性能测试的全生命周期?——从测试、结果分析到优化策略(转载)
服务器性能测试是一项非常重要而且必要的工作,本文是作者Micheal在对服务器进行性能测试的过程中不断摸索出来的一些实用策略,通过定位问题,分析原因以及解决问题,实现对服务器进行更有针对性的优化,提升 ...
随机推荐
- javascript import maps 特性现已被全部主流浏览器支持
值得庆祝 Import maps 特性现在可以在全部三个主要浏览器内使用 现在主流现代web 应用 引入和利用javascript 是通过 Es module 模块实现. 在开发javascript上 ...
- Java诊断工具Arthas:开篇之watch实战
Arthas是阿里开源的线上监控诊断产品,用于问题的排查和诊断. 它的出现大大提高线上排查问题的效率,这篇只讲它一个非常牛逼的功能,其它功能往后篇章会在展开详细说. 一.Arthas能为你做什么? 1 ...
- Android热点SoftAP使用方式
一.背景 最近项目中Android设备需要获取SoftAP信息(wifi账号.密码.IP等),然后传递到投屏器中,那么如何获取到SoftAP信息呢?我们知道可以通过WifiManager类里的方法可以 ...
- 《TencentNCNN系列》 之工作原理简要解析(以LeNet-5为例)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- python面向对象(基础)
一 面向对象介绍 面向过程: 核心是:"过程"二字 过程的终极奥义就是将程序流程化 过程是"流水化",用来分步骤解决问题的 面向对象: 核心是"对象& ...
- 记录--Openlayers 高德腾讯、百度、天地图坐标相互转换
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 在地图开发过程中,坐标的转换是很常用的功能,国内的话一般西安80(EPSG:4610).北京54(EPSG:2433)转WGS84比较多, ...
- IPv4地址的结构体与网络字节序
IPv4地址的结构体 /* Fixed-size types, underlying types depend on word size and compiler. */ typedef signed ...
- 动态数组(Array)
Array 存储具有一对一逻辑关系数据的存储顺序结构. 数组最大的优点:快速查询,最好应用于索引有语义的情况. 插入元素 template<typename T> bool Array&l ...
- 高抗干扰抗噪,段码LCD液晶低功耗驱动IC-VK2C23B,兼容市面上16C23
VK2C23是一个点阵式存储映射的LCD驱动器,可支持最大224点(56SEGx4COM)或者最大416点(52SEGx8COM)的LCD屏. 单片机可通过I2C接口配置显示参数和读写显示数据,也可通 ...
- 深入理解 C++ 语法:从基础知识到高级应用
C++ 语法 让我们将以下代码分解以更好地理解它: 示例 #include <iostream> using namespace std; int main() { cout <&l ...