函数计算3.0测评报告
一、前言
其实和函数计算也是老朋友了,我有好多服务都是通过函数计算和轻服务部署的,函数计算推出了3.0版本,我看了相关说明,总结下来函数管理和执行引擎等方面有较大变化。
首先是函数管理方面,不再需要先创建服务,我可以直接在控制台创建函数。原来在服务层面的配置,例如角色、日志、VPC网络等,现在可以直接在函数级别进行设置。
函数计算引入了服务关联角色机制,用于授权函数计算访问其他云服务,函数代码访问授权由函数角色完成。这可以实现更细粒度的权限控制。我使用3.0版本的函数,默认会采用服务关联角色,不需要手动配置角色就可以使用各种功能。
在执行引擎方面,请求处理程序统一了签名,HTTP和事件触发的函数可以共用同一处理程序。但是标准运行时不再支持单实例多并发,只有自定义运行时还保留了这个功能。实例生命周期回调也进行了调整。
弹性伸缩规则升级为并发度管理,可以限制预留实例和按量实例的总并发度。
对我来说,非常方便的是,函数计算3.0可以兼容我之前创建的服务和函数。我可以继续使用原有的单实例多并发函数,但新创建的函数会采用新的模型。
总体来说,函数计算3.0简化了函数管理,提高了资源利用效率,我非常期待使用新版本带来的便利性。
作为用户,我在使用函数计算时有了更多的自由度。以前,在为我的函数配置日志或 VPC 功能时,我需要给它授予大量的权限。而现在,在3.0 版本中,我可以选择只向其授予特定权限的服务关联角色 (SLR) 来解决这个问题。这样,我可以更精细地控制我的授权。同样,角色的管理也变得更加简单,因为我不必再去考虑服务级别。
我还注意到,在新的版本里,我可以在每个函数层面实现日志、VPC 和其他功能的定制化配置。此外,函数实例不再需要依赖 HTTP Trigger,并且还可以更轻松地为其添加自定义域名。关于扩展性和并发度控制也有了一些提升——现在可以限制预留实例和按需实例的数量了。即使我是在较早版本上使用的旧服务或函数,也能完美兼容新版本的功能和界面对于以上所有更改而言,我都能受益匪浅。新的3.0 版本提供了许多出色的新特性,可以让我的工作变得更轻松。
二、操作实验
本次就基于函数计算模板部署AI应用试一下函数计算FC 3.0的能力首先,函数计算是阿里云提供的一个事件驱动的服务,可以直接上传代码,并为代码绑定触发事件,在事件发生时自动执行代码。
使用了函数计算的两个重要功能:
1. 通过模板快速创建函数应用。函数计算提供了模板功能,我可以直接选择AI应用模板,进行一键式创建,十分方便快捷。
2. 设置OSS触发器,实现函数和OSS的焊接。我在创建ImageAI应用时,设置了OSS触发器,以及触发的文件前缀。这样ImageAI函数就可以监听OSS指定目录文件的上传,自动触发图片预测操作。
另外,函数计算还提供了日志、监控等管理功能,可以让我观察函数运行情况。比如部署日志,我就可以看到应用部署的详细过程。
通过函数计算,我只需要关心核心业务代码,它可以帮助我快速构建起 Serverless 应用,实现代码的事件驱动执行。使用它,可以让我更加专注于业务创新,而不用过多关注基础设施。
(一)、创建Stable Diffusion 应用
- 打开远程桌面的浏览器地址栏,输入 https://fcnext.console.aliyun.com/applications 进入函数计算控制台。
- 在左侧导航栏,选择 "应用",点击 "+ 创建应用"。
- 在热门应用中选择 "AI数字绘画stable-diffusion自定义模型版",或者在右侧搜索框输入 "AI数字绘画stable-diffusion自定义模型版",找到后点击 "立即创建"。
- 在创建应用配置界面,按照以下配置进行部署:
o 应用名称:使用默认名称即可
o 地域:选择 "华东1(杭州)",务必正确选择地域,否则应用创建后可能无法打开
o 服务名:使用默认名称即可
o 函数名:sd
o 绘图类型:选择 "动漫风格"
o 角色名称:使用默认名称即可(此处如果显示没有角色,需要主账号先创建好角色)
- 勾选已知当前收费项和我已经了解上面的内容,并同意上述描述,然后点击 "同意并继续部署"。
- 在创建确认界面,点击 "创建" 开始部署应用。
- 部署过程中,可以在日志观察应用部署情况。
- 待应用状态显示部署成功时,即表示应用已经部署完成,并且可以在WebUI域名栏查看应用访问地址。
(二)、使用Stable Diffusion WebUI 生成图片
- 在应用详情界面,点击 "WebUI 域名" 的应用访问地址,即可自动跳转至WebUI界面。
- 如果首次访问,需要加载几分钟时间,请耐心等待。
- 加载完成后,WebUI返回如下页面,表示已成功进入 Stable Diffusion WebUI 的操作界面。
- 默认已预置了默认的提示词,可以根据这些词来生成图片。
- 可以在文本框中输入中文或英文提示词,之后点击右侧的 "生成" 按钮即可开始生成图片。
(三)、创建 OSS Bucket
- 将以下地址复制进远程桌面的浏览器地址栏,进入对象存储 OSS 控制台:
o 地址:https://oss.console.aliyun.com/overview
- 点击 "Bucket 列表",然后点击 "创建 Bucket"。
- 在弹出的创建页面,按照以下配置进行设置:
o Bucket 名称:请确保 Bucket 名称具有全局唯一性,请一定要注意 Bucket 名称。
- 存储类型:选择 "标准存储"
(四)、使用ImageAI 对象检测
- 将以下地址复制到远程桌面浏览器地址栏,进入函数计算 FC 服务控制台:
o 地址:https://fcnext.console.aliyun.com/applications
2.把在 "Stable Diffusion" 中产生的图片上传到 ImageAI Web 界面来进行预测分析。
3.地址粘贴到远程桌面上的浏览器地址栏以便访问函数计算应用程序列表。找到了所建立的 "ImageAI" 应用程序并点进去,查看具体细节。
4.由于这是初次访问,加载大概需要几分钟时间。当加载完毕后,我得到了代表 "ImageAI" 接口操作的画面。随后,我在文本框里粘贴上了希望分析的照片,并点击"图像预测"键。
(五)、自动生成预测数据
1.把 "Stable Diffusion" 生成的图片导入到 OSS bucket 中以便获取准确的结果。
2.复制地址输入到远端桌面上的网址栏中,并登录到 bucket 页面。
o 地址:https://fcnext.console.aliyun.com/applications
3.进入了 "Origin" 目录下的 "Upload file" 界面,选择了刚刚产生的一张图片并完成上传任务。
4.当我把这张图片上传完毕,浏览"文件列表"就可以看到结果。
5.为了查看查看结果,我先进入 "Result" 目录并选择生成的图片,此时我就能看到完整的图像预测数据了。
实验视频如下:
三、实验感受
作为一名云计算技术爱好者, 函数计算3.0版,感觉非常顺畅!当我第一次试用它时,我非常喜欢它的服务关联角色 (SLR) 特性。
这种特性允许我在不影响其他服务的情况下,更精细地掌控我的函数的权限,并避免了以往版本中可能出现的角色权限过大的问题。此外,我还觉得函数实例不再需要HTTP Trigger的概念让我更容易理解和操作。我发现可以方便地将自定义域名指向相应函数,这样可以提高效率。在这个版本中,我还特别喜欢能控制预留实例和按需实例的数量的功能。新版本的API和控制台非常易于理解且直观易用。
在这次实验中,我主要通过函数计算的应用模板功能,快速创建了两个函数应用。第一个是基于Stable Diffusion算法的数字绘画应用,它可以根据文本描述自动生成图像。第二个是基于ImageAI的图像预测应用,可以对图片内容进行分析和识别。
我先在函数计算控制台中找到相关应用模板,只需要进行简单配置就可以一键部署应用,非常方便。随后我访问了Stable Diffusion的Web界面,输入描述文本后可以立即得到系统生成的图像。这为我的创作提供了非常大的便利。
之后我又创建了一个对象存储服务(OSS)的Bucket,并配置了两个目录,用来存储原图和预测结果。通过事件触发器,我让图像预测函数订阅OSS服务的事件,只要我上传原图,函数就会自动触发,生成预测结果到我指定的目录。
整个实验过程下来,我深刻感受到函数计算作为事件驱动架构的优势。我只需要关心业务代码的编写,其他诸如资源管理、扩缩容、事件触发等都可以交给函数计算平台自动完成,大幅降低了开发和运维成本。
另外,通过与对象存储服务的集成,我可以非常方便地构建强大的Serverless应用。对象存储负责数据存储,函数计算负责数据处理,两者互为补充,共同提高应用性能。
基于阿里云函数计算的实验给我带来了非常正面的体验。我对其高度的易用性、敏捷性和弹性伸缩能力留下了深刻的印象。函数计算让我能更专注于业务创新,无需过多考虑底层基础设施,是构建Serverless应用的绝佳选择。我会继续深入学习函数计算,并在更多场景中使用它。