当前位置: 首页 > 后端技术 > Java

大放送-Serverless应用中心:Serverless应用生命周期管理平台

时间:2023-04-01 22:21:51 Java

简介:Serverless应用中心是阿里云上Serverless应用的全生命周期管理平台。通过Serverless应用中心,用户无需在部署应用前进行额外的克隆、构建、打包和发布操作,即可快速部署和管理应用。Serverless应用中心帮助用户快速链接云端上下游服务,轻松积累最佳实践。作者:姜宇|阿里云Serverless产品经理随着Serverless架构的不断推广应用,Serverless工具链体系缺失??、更新/部署流程复杂、资源分散、管理困难等问题也随之出现。虽然在2020年11月,serverlessdevs开发者工具的开源在一定程度上解决了工具链体系缺失??带来的一些问题,但在实际工作中,开发者以应用为中心,对serverless进行整体运维建筑学。维护操作和资源的整体管理仍然面临挑战。因此,构建一个能够帮助开发者在Serverless应用的整个生命周期中发挥作用的应用管理平台就显得尤为重要。2022年5月9日,经过10个月的打磨和测试,Serverless应用中心正式上线。这就是Serverless应用平台ServerlessApplicationCenter,是阿里云Serverless应用的全生命周期管理平台。通过Serverless应用中心,用户无需在部署应用前进行额外的克隆、构建、打包和发布操作,即可快速部署和管理应用。Serverless应用中心帮助用户快速链接云端上下游服务,轻松积累最佳实践。Serverless应用中心的发布,一方面希望通过与ServerlessDevs工具链的联动,进一步实现和完善Serverless应用的全生命周期管理能力,另一方面希望Serverless应用中心能够帮助开发者更快速的体验Serverless架构,更容易上手和使用Serverless架构,更科学直观的管理Serverless应用。同时,Serverless应用中心将是“ServerlessOnServerless”的一次尝试。它不仅会作为一种新的能力为开发者提供更多的支持和便利,更会成为支持海量用户使用Serverless架构、部署海量Serverless应用的平台,基于Serverless架构的最佳实践。serverless应用中心打开地址:https://fcnext.console.aliyun...更方便、更快捷地体验和上手Serverless应用;使Serverless应用更加科学、安全、稳定的开发、创建、更新和运行。维度、迭代等;将传统资源在应用的维度进行聚合管理,让开发者真正专注于业务和应用,而不是分散在不同产品页面的资源;因此,ServerlessApplicationCenter最初的目标变得更加简单和纯粹:简单易用,简单易用。一步开启无服务器之旅。Serverless应用中心将大大降低Serverless应用OnBoarding流程上手的复杂度。通过白屏的操作,开发者可以通过简单的配置快速创建相对复杂的应用案例,这些应用案例将作为二次开发、学习和体验的重要参考。https://developer.aliyun.com/...如视频所示,用户只需在应用页面找到合适的应用,点击创建按钮即可快速创建应用。应用创建完成后,会有一个相关的测试域名可供试用。目前,应用中心已提供商城案例、音视频处理、Web框架等近5大类20余款热门应用的快速体验,无论是一键部署Django、Express、Flask,andSpringBoot,orZblogServerless应用中心可以帮助开发者快速创建和使用博客,Wordpress,内容管理系统,或者CDN备份源,一键创建网盘/云桌面,视频转码/切片/压缩。一步开始您的无服务器之旅。1ton结合工具除了快速创建模板应用,开发者还可以选择通过Github等代码仓库创建项目。https://developer.aliyun.com/...如视频所示,当开发者选择通过Github代码仓库创建项目时,Serverless应用中心不仅会创建应用本身,还会将应用放到将代码放入指定的代码仓库中,开发者可以根据案例/模板对项目进行二次开发。值得一提的是,所有基于Serverless应用中心创建的应用都是符合ServerlessDevs规范的应用,即开发者可以使用ServerlessDevs开发者工具进行应用的开发、调试和部署;例如,开发者Clone放置在指定仓库的应用,进行本地开发和多模式调试(本地调试、端云联调、云端调试等)。完成后,可以通过将代码推送到代码仓库或创建Release来更新业务。Serverless应用中心不仅可以快速创建模板应用、用例应用供参考和二次开发,还可以直接导入符合ServerlessDevs规范的现有应用,将现有应用托管到应用中心,进而体验Serverless应用相关功能的中心。众所周知,Serverless应用往往涉及到很多产品,比如数据库资源、消息中间件资源、对象存储、日志服务等资源。也就是说,一个完整的Serverless应用通常是FaaS产品与众多BaaS有机结合而成。因此,Serverless用户往往会面临管理很多资源的问题,而这些管理的资源往往在不同的产品页面,这给后期的管理、运维等带来很大的影响,带来很大的不便,复杂度不小。如下图,Serverless应用中心将在应用维度展示和管理资源:通过应用维度的创建、更新等操作,通过应用维度的资源展示和管理,Serverless应用中心将展示并管理原本分散的资源,从而进一步抽象,通过应用维度,开发者可以更加清晰直观的操作、维护和管理自己的应用。实现所谓敢于尝试自己,才有可能服务更多的开发者。在阿里巴巴内部,虽然已经有大量业务使用Serverless架构实现,但它在我们眼中还算不上“典型”。如何“ServerlessOnServerless”,让Serverless架构不仅拥有大量内部应用,服务于其他行业/业务,也让Serverless架构为团队自身创造更多价值。因此,Serverless应用中心成为了诞生于Serverless架构、成长于云原生应用Serverless架构的服务器。Serverless应用中心,基于Serverless架构本身的极致弹性,通过FaaS产品和BaaS产品的有机结合,用极少的时间和成本搭建了一套高可用、低成本的高性价比、高-可用性后台服务。如上图所示,通过HTTP触发器(API网关),基础业务功能会在客户端接收用户发起的请求,以及Github等代码仓库发送的WebSockets通知,并进行基础处理这些信息(包括但不限于权限认证、身份认证等相关操作),再通过消息中间件(部分事件不会通过消息中间件),将不同的事件发送给不同的业务功能,业务就是处理后,如果有创建,更新Deployment相关的事件会进一步发送到部署函数进行业务部署。整个过程中,元数据、缓存数据、日志信息等都会通过Proxy模块持续存储在对应的BaaS产品中。在整个项目建设过程中,商科学生只需要设计整体架构,开发部署相关业务功能即可。项目中BaaS产品的运维,FaaS产品的灵活性,都是由平台来实现和负责的,一方面可以让开发者把更多的精力投入到更有价值的业务逻辑上,另一方面可以也大幅提升业务研发效率,加速业务创新迭代效率,缩短项目上线周期。当然,关于Serverless应用中心,如何实现“ServerlessOnServerless”部分,我们会在后续的技术分享和文章中分享更多细节。虽然Roadmap已经发布了Serverless应用中心的Beta版本,但是仍然存在一些不足。目前,相关研发同学正在不断完善和优化。当然,我们还有很多功能等待更新和进一步完善,包括但不限于:应用创建:1.支持更多代码仓库:GiteeGitlabCodeup2.支持更多触发方案:GithubAction触发云效果触发Jenkins触发应用管理:1.应用删除能力2.应用维度监控告警能力3.应用维度资源编辑能力??4.在线应用编辑能力5.ServerlessDevs开发者工具和应用中心联动能力另外,对于正在体验或已经体验过的小伙伴申请中心的同学们,也欢迎大家及时给我们更多的反馈和意见。您可以通过留言或填写我们的调查问卷https://survey.aliyun.com/app与我们进一步取得联系...我们相信,大家参与的项目才能更好地为您服务,因为大家才是主人该工具和无服务器应用程序中心。综上所述,Serverless架构在不断发展,开发者视角的工具和平台也在逐渐丰富。Serverless应用中心作为Serverless应用生命周期管理平台,采用“ServerlessonServerless”的方式。简单易用,帮助开发者快速体验Serverless架构,从0到1到N,将自己的应用部署到Serverless架构中。也希望开发者能够从应用的维度,对Serverless的相关资源进行管理,对Serverless的应用进行整体的管理。Serverless应用中心作为一个Serverless应用生命周期管理平台,也在与广大业务团队和开发者一起,打造一个“源于用户,为用户,为用户”的Serverless应用管理平台。原文链接本文为阿里云原创内容,未经许可不得转载。