从零到一:阿里云CAP助你轻松高效构建云应用

本文涉及的产品
.cn 域名,1个 12个月
函数计算FC,每月15万CU 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 云原生应用开发平台CAP是阿里云提供的一站式应用开发及生命周期管理平台。它内置丰富的Serverless和AI应用模板、先进的开发者工具和企业级应用管理功能,帮助个人和企业开发者快速构建、部署和管理云上应用,大幅提升研发、部署和运维效能。CAP支持Web应用、AI应用、ETL数据处理等多种场景,提供图形化、低代码的流程编排能力,助力开发者高效构建复杂业务流程。

云原生应用开发平台 CAP

云原生应用开发平台 CAP是阿里云提供的一站式应用开发及应用生命周期管理平台,内置丰富的Serverless和AI应用模板、先进的开发者工具、企业级的应用管理功能,无论您是个人开发者还是企业级开发者,都能让您聚焦到业务场景,快速构建云上应用并且实现持续迭代,大幅提升研发、部署和运维效能。

申请方式:云原生应用开发平台(CAP)

申请后界面如下,1~3个工作日内会通过审核,等待即可:

image.png

产品优势

  • 极低成本模型托管服务:基于函数计算Serverless GPU算力模型服务,平均成本降低90%。

  • 流程式开发先进工具:基于云工作流 CloudFlow提供针对AI场景的Studio开发能力,效率提升99%。

  • 一键极速创建 AI 应用:提供高质量的场景应用模板,面向不同用户,支持一键急速创建AI应用。

  • 灵活组装,二次开发:提供丰富的云服务集成及自定义插件能力,快速组装应用,沉淀业务资产。

产品架构

云原生应用开发平台 CAP产品功能由如下几部分组成:

  • 应用层:由模板中心提供大量开箱即用的应用模板,您可一键部署,立即体验。

  • 部署层:由函数计算、云工作流、数据库 RDS 版等云产品提供资源部署服务。

  • 开发层:由函数计算、云工作流、Serverless Devs 提供流程式编程、组装式开发能力。

  • 模型层:由云原生应用开发平台 CAP提供内置的模型体验、模型管理服务。

image.png

云原生应用开发平台 CAP的项目由一个服务或多个服务组成,组装式研发更高效灵活。

image.png

快速上手

首次进入云应用开发平台,需要先进行授权操作,因为这里是体验为主,所以先勾选的【管理所有阿里云资源的权限】

image.png

授权完成后点击返回控制台

image.png

庐山真面目如下~:

image.png

我们先大致的看一看,CAP中总共提供了42个模板,涵盖了Web 应用、AI 应用、ETL数据处理应用、音视频处理应用、文件处理应用、游戏、流程式开发等多个领域,可谓是全方位满足了不同类型的开发需求

image.png

点击创建项目,可以新建空白模板或是直接使用上述官方提供的模板

image.png

新建空白模板

点击项目页面,创建空白项目

image.png

填写项目信息,点击创建按钮

image.png

可以新建的服务类型如下

image.png

我们先以Web服务为例,看一下如何快速新建应用

新建Web服务

点击创建后进入如下界面:

image.png

有几个重点如下:

  • 部署后服务名称不可修改

  • 运行环境可以按需求进行调整

image.png

点击预览,选择确定部署

image.png

当部署完之后,点击访问地址

image.png

点击地址访问,可以看到当前web服务已经部署成功

image.png
image.png

我们看一下日志,在此期间究竟做了哪些操作呢?

image.png

当命令刚执行时,调用函数计算FC

image.png

然后检查当前使用的Serverless CD引擎版本、插件 @serverless-cd/s-setup是否安装

image.png

插件 @serverless-cd/s-setup 开始运行,获取到AccessKeyID,AccessKeySecret

image.png

执行命令初始化生产环境,设置默认环境为生产环境,并成功完成

image.png

创建日志资源成功,并提示在YAML配置文件中替换 logConfig 配置

image.png

尝试创建函数 rapid-potato,多次重试后仍然无法解析域名 rapid-potato.fcv3.1821062035675322.cn-hangzhou.fc.devsapp.net 的CNAME记录

image.png

获取域名并生成新的域名,提醒用户 .devsapp.net 域名仅用于学习和测试,建议绑定自定义域名

image.png

提示用户域名已变更,需要确认后再进行部署

image.png

不知道是不是我的个人错觉,其实这一块和函数计算FC还有计算巢的功能极其相似,我们接下来试试新建其他的服务类型

新建模型服务

选择第二个新建模型服务

image.png

可以根据需要选择底座大模型

image.png

显存默认为48GB,不使用时最好勾选【闲置模式】

image.png

模型服务创建成功后,在服务详情页面,单击API 地址跳转至API调用示例页面,单击测试进行相关模型试用

image.png
image.png

测试完成结果如下:

image.png

新建异步任务、新建函数

这两个好像和新建web服务功能一致,所以在此不过多赘述了

甚至可以看到这三个logo都是一摸一样的

image.png

新建流程编排

这个可以说是云原生应用开发平台 CAP的核心能力了,该服务能为开发者提供一种图形化、低代码的方式来设计、执行和管理复杂的业务流程,极大地提升了开发效率与应用灵活性

单击目标项目,在项目详情页面,单击左上角的新建服务,选择并单击流程编排类型,跳转至创建服务页面

image.png

在创建流程编排服务页面,选择地域和流程模式,然后单击保存配置并进入 CloudFlow Studio

image.png

关于支持的标准模式和快速模式的差异介绍如下

image.png

确认开通云工作流 CloudFlow

image.png

选择创建工作流

image.png

默认使用空白画布,输入工作流名称

image.png

在左侧导航栏选择并拖拽一个状态节点(API)或流程节点至画布,如图中InvokeFunction API节点

image.png

云工作流(CloudFlow)支持的流程节点类型,即系统控制节点如下:

image.png

云工作流(CloudFlow)支持的状态节点类型,即支持集成的服务类型如下:

image.png

单击画布上的组件,右侧参数配置区会显示该组件的配置选项,根据需求填写参数或选择设置

image.png

流程编排中最重要的是,如何在多个节点间进行数据的传递,对于具体的流程节点而言,都会存在一个输入和一个输出:

  • 节点输入:流程编排过程中,可以通过系统表示式$Context.Current.Input访问当前节点的输入,快捷表达式为$Input;

  • 节点输出:流程编排过程中,可以通过系统表示式$Context.Current.Output访问当前状态的输出,快捷表达式为$Output。当然并不是在所有的地方都能使用$Output,只有当该节点产生了输出,才能通过$Output 访问节点输出,仅仅在OutputConstructor作用域中可以使用$Output

通常,在流程编排过程中,都需要针对不同的集成调用进行参数适配,为了实现节点数据构造能力,每一个节点都提供了数据输入构造和输出构造的能力,需要用户通过输入配置(InputConstructor)和输出配置(OutputConstructor)进行数据传递的灵活定制,满足流程编排集成需求。在参数构造中,支持常量和表达式;如果需要使用表达式,那么需要在参数的左值末尾添加 .$,这种情况下,流程引擎会对右侧出现的表达式变量进行渲染。

image.png

使用平台内置的调试功能,输入模拟数据,运行流程以检查逻辑是否正确。

image.png

如果有问题,可以点击查看调试结果或查看日志详情

image.png
image.png

完成测试后,单击保存并部署正式发布流程

image.png

可以在监控页签,跟踪流程实例的执行状态,收集性能指标,及时发现并解决运行时问题

image.png

新建数据库服务

数据库服务会拉起阿里云的数据存储产品来提供数据存储服务。数据库服务与函数服务、流程编排服务等共同组成一个完整的项目,是项目中重要的一部分。

image.png

其中默认提供的数据库服务类型如下:

image.png

点击新建数据库后,设置数据库密码,选择交换机及VPC:

image.png

有时会提示说【您选择的“交换机”所在可用区中,此类型数据库资源已售罄,请选择其他可用区。】,那就更换区域继续部署

image.png

有点奇怪的是,部署时日志一直显示实例不存在,重新部署一次也失败了

image.png

但是我回到RDS中,发现实例是存在的,不过卡在了创建中,好吧

image.png

看了一下创建任务进度,仅仅只有3%,感觉是卡住了

image.png

过了半个小时,进度到33%了,还好,虚惊一场,等待任务转完即可

image.png

好不容易执行完,结果CAP直接报错了

image.png

报错内容是:

  • 实例 XXXXX 在15分钟内未能准备好。

  • 错误发生在 @serverless-cd/engine 模块的 index.js 文件第524行,具体是在子进程的匿名回调函数中。子进程在退出时触发了错误事件。

这就有点迷了

查了一下文档,发现文档中都是用的已有模板来演示的,暂时不明白为啥了

使用已有模板

进入探索,选择已有模板

image.png

点击立即部署

image.png

左侧为服务配置,点击函数角色,一键授权

image.png

点击部署项目

image.png

此时可能会碰到其他权限不够的情况,重复上述步骤授权,最后点击确认部署即可

image.png

等待约15分钟,终于部署完成了

image.png

点击WebUI,访问该域名

image.png

可以看到部署成功的界面如下

image.png

回到云原生应用开发平台 CAP,我们可以直观的对各部分组件进行查看

image.png

总结和建议

不得不说,推出这个平台的人多多少少是有点天才的。虽然有点像函数计算,但是功能又比函数计算丰富得多。做AI项目的话,又能采用Workflow来定制流程,整合到一起后,还可以直接对数据库实例进行监控和管理。此外,这个平台还提供了全面的 DevOps 工具链,支持从代码提交到自动化的持续集成和持续交付(CI/CD),极大地简化了开发和运维流程。同时,其强大的安全性和合规性功能也为企业提供了可靠的保障,确保应用在云上的安全性和稳定性。所以,CAP 不仅是一个强大的开发平台,更是一个集成了多种先进技术和工具的生态系统,能够满足不同规模和类型项目的需求。

但是我个人目前有个比较担心的问题就是,这种情况下会不会导致功能过于重复或者造成CAP平台整体的臃肿?感觉的到设计该平台的出发点是好的,但是后续如何在保证阿里云其他产品活跃度的情况下推出CAP平台,是一个需要仔细权衡的问题。

回到问题上,这次体验总的还是比较顺利的,但是中途确实也算是有一点小插曲

image.png

在直接部署数据库服务的时候出了两三次问题,并且提示为:

  • 实例 XXXXX 在15分钟内未能准备好。

  • 错误发生在 @serverless-cd/engine 模块的 index.js 文件第524行,具体是在子进程的匿名回调函数中。子进程在退出时触发了错误事件。

这个问题后来不了了之了,也没有继续深究(不过在通过模板部署时是正常的)

就我来看,CAP平台确实是在推动应用开发与管理方面有着巨大潜力,它不仅仅是一个简单的应用托管平台,而是一个集成了Serverless计算、AI应用模板、先进开发者工具和企业级应用管理功能于一体的综合平台。这种集成化的设计理念,使得CAP能够为开发者提供从应用构建、部署到运维管理的全方位支持,极大地提升了开发效率和应用的质量,相信CAP将继续发挥其独特的价值,引领云原生应用开发的新潮流。

相关文章
|
6月前
|
弹性计算 运维 安全
带你读《云上自动化运维宝典》——万字长文带你了解 CloudOps自动化运维的奥秘,助力云上业务高效稳定运行(1)
带你读《云上自动化运维宝典》——万字长文带你了解 CloudOps自动化运维的奥秘,助力云上业务高效稳定运行(1)
522 1
|
数据安全/隐私保护 开发者 异构计算
阿里巴巴开源可控视频生成框架VideoComposer!(内含体验、推理实践干货)
8月16日,时间、空间可控的视频生成模型 VideoComposer 在魔搭社区开源。
阿里巴巴开源可控视频生成框架VideoComposer!(内含体验、推理实践干货)
|
运维 监控 安全
阿里巴巴DevOps实践指南(十五)| 应用环境能力
应用环境解决方案并不仅仅是将应用的开发环境、基础环境搭建起来即可,还涉及到环境的稳定性如何保证,基于环境如何规范变更的流程,基于环境如何提升开发效率等等。环境治理需要站在更高的角度,综合看待上述问题,否则就会陷入环境问题年年治理、年年被吐槽的怪圈。
阿里巴巴DevOps实践指南(十五)| 应用环境能力
|
26天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
58 1
|
6月前
|
缓存 监控 前端开发
从零到一:构建高性能SPA的探索与实践
作为一名高级前端工程师,我曾负责构建高性能SPA,面临首屏加载、路由切换卡顿、内存泄漏和数据加载策略等挑战。通过代码拆分、懒加载、服务端渲染、路由预加载、Keep-alive、严格管理组件生命周期、内存泄漏检测工具以及分页加载和数据缓存策略,成功优化性能,降低首屏加载时间,改善路由切换体验,控制内存泄漏,并提升数据加载效率。持续优化是关键,未来将侧重性能监控自动化和新技术探索。分享这些经验希望能激发更多同行的思考与创新。
90 1
|
6月前
|
存储 安全 数据库连接
搭建个人云存储解决方案:从零到一
【5月更文挑战第18天】本文指导读者搭建个人云存储解决方案,从选择Nextcloud等开源软件到准备服务器和存储设备,再到安装配置、上传管理文件,强调安全性及扩展性。通过本文,读者可掌握搭建个人云存储的步骤,确保数据安全并享受便捷访问。
|
6月前
|
运维 监控 Serverless
【专栏】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器(Serverless)
【4月更文挑战第28天】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器。它基于事件驱动,自动扩展资源并按需计费。优势包括缩短开发周期、优化资源利用、降低成本、提高可用性及简化维护。然而,冷启动延迟、调试困难、性能监控、安全性和学习曲线等挑战仍需解决。随着技术进步,无服务器架构将在科技发展中发挥更大作用。
126 2
|
6月前
|
弹性计算 运维 负载均衡
带你读《云上自动化运维宝典》——万字长文带你了解 CloudOps自动化运维的奥秘,助力云上业务高效稳定运行(2)
带你读《云上自动化运维宝典》——万字长文带你了解 CloudOps自动化运维的奥秘,助力云上业务高效稳定运行(2)
411 1
|
6月前
|
存储 弹性计算 运维
带你读《云上自动化运维宝典》——万字长文带你了解 CloudOps自动化运维的奥秘,助力云上业务高效稳定运行(3)
带你读《云上自动化运维宝典》——万字长文带你了解 CloudOps自动化运维的奥秘,助力云上业务高效稳定运行(3)
326 1
|
运维 Serverless
带你读《浅谈阿里云通用产品线Serverless的小小演化史》三、开箱即用的免运维 ---全托管服务能力(5)(附结语)
带你读《浅谈阿里云通用产品线Serverless的小小演化史》三、开箱即用的免运维 ---全托管服务能力(5)(附结语)
432 0
下一篇
无影云桌面