方案速览
告别资源瓶颈, 函数计算驱动多媒体文件处理,点击该连接可前往方案首页。参加过前几期评测的作者可以非常直观看到当前的方案界面变化还是挺大的,首先是内容更容易阅读了,其次是重点更突出了。
除了上述外观方面的改变外,实际上方案的主体是没有变化的,依旧是围绕如下的五个方面进行展开阐述的,分别是为什么、是什么、用在哪、怎么用、需要啥;对应的方案文字是方案优势、架构部署、应用场景、优惠购买、解决方案。
在为什么中,重点阐述了函数计算FC的三个优势,分别是业务解耦、按量付费、弹性计算。这三点也正是用户选购的首要考虑因素,这块如果结合企业实际需求来展开,我觉得优势会是如下这些:
简化开发与运维
- 极简开发:开发人员只需编写函数即可,无需关注底层运维和架构,大大降低了开发门槛和复杂度。这种“编写即运行”的方式,让开发人员能够更专注于业务逻辑的实现。
- 自动化运维:函数计算FC提供了全托管的计算服务,包括计算资源的准备、任务的可靠运行、弹性伸缩以及日志查询、性能监控和报警等功能,极大地简化了运维工作。
高效灵活
- 事件驱动:函数计算FC是事件驱动型的计算平台,只在事件到达时启动函数,避免了资源的无谓消耗,提高了资源利用率。
- 低延迟:函数计算FC可以在毫秒级别内运行,确保应用能够快速响应。
- 弹性计算:根据应用的负载情况,函数计算FC可以自动调整资源使用量,确保应用在高并发场景下依然能够稳定运行。
成本优化
- 按量计费:函数计算FC采用按量计费的方式,用户只需为实际消耗的资源付费,避免了传统计算资源采购方式中的固定成本投入。
- 资源利用率高:由于函数计算FC只在需要时启动函数,因此能够显著提高资源利用率,降低整体成本。
兼容性强
- 多语言支持:函数计算FC支持多种编程语言,包括Java、Python等,能够满足不同开发者的开发习惯和需求。
- 无缝集成:函数计算FC可以与其他阿里云服务(如OSS、RDS和API网关)无缝集成,帮助用户快速构建完整的解决方案。
此外方案还进行了在应用中处理文件和在函数计算中处理文件的三个维度对比,同样为了突出要点,也只列出了三个维度的。实际上还有更多维度,比如我如下总结的:
对比维度 | 在应用中处理文件 | 在函数计算中处理文件 |
---|---|---|
开发复杂度 | 可能较高 | 较低 |
需要编写完整的文件处理逻辑,包括读取、解析、处理和保存等步骤 | 只需编写处理逻辑的函数,其他如资源调度、错误处理等由函数计算平台负责 | |
资源利用 | 需要预先分配资源 | 弹性伸缩,根据负载自动调整资源 |
可能会因资源分配不当导致浪费或不足 | 仅在需要时分配资源,资源利用率高 | |
成本 | 固定成本 + 运行成本 | 按需付费,成本更低 |
需要购买或租赁服务器等资源,即使不使用也会产生费用 | 根据实际使用量计费,无需支付未使用的资源费用 | |
扩展性 | 受限 | 高扩展性 |
需要在架构设计时考虑扩展性,可能需要复杂的集群部署和负载均衡 | 函数计算平台支持自动扩展,轻松应对高并发 | |
可维护性 | 依赖于应用的复杂度 | 较高 |
文件处理逻辑与应用其他部分紧密耦合,维护难度较大 | 文件处理逻辑独立封装在函数中,易于维护和升级 | |
故障恢复 | 需要手动处理 | 自动恢复 |
在应用层面进行故障恢复,可能需要复杂的回滚和重试机制 | 函数计算平台提供故障自动检测和恢复能力,减少人工干预 | |
集成与兼容性 | 可能需要处理多种文件格式和协议 | 取决于函数计算平台提供的支持 |
需要集成不同的库和框架来处理不同的文件格式和协议 | 函数计算平台可能提供丰富的API和集成选项,但具体支持取决于平台能力 |
在是什么的阐述上,相对其他板块要简洁一些,首先是架构图:
从架构图上可以直观看出处理流程是首先通过云服务器ECS和RDS MySQL版提供WEB服务——通过对象存储OSS存储用户文件——通过事件驱动机制触发函数计算执行文件处理任务——通过OSS事件触发的MNS消息通知应用。
从架构图上可以看到,实际上使用到的阿里云产品还是蛮多的,除了主要的函数计算FC外,还有云服务器ECS、对象存储OSS、云数据库RDS Mysql、消息服务MNS。
在应用场景的阐述上,同样列举了三个广泛的场景,分别是图片处理、视频处理以及广告RTA(广告实时营销)。如果按照事务处理的类别来列举,应用场景还可以是如下:
快速搭建和部署Web应用
- 利用Serverless平台的优势,函数计算FC可以在几分钟内快速搭建并部署Web应用。这一过程对于前端开发平台常用的脚本框架(如Node.js、Python、PHP等)尤为友好。用户只需在线编辑器或本机编辑器内快速开发好脚本代码,然后一键部署即可启动Web应用。这种轻量级的开发模式非常适合需要快速迭代的应用,如验证性功能APP、商品推荐、运营活动、小程序后台等。
事件驱动的数据处理
- 函数计算FC支持丰富的触发器功能,通过触发器和事件源与其他产品进行关联。当事件产生时,事件源可以以同步或异步的方式触发FC应用的函数调用。这一特性使得FC应用不仅可以用于对外提供服务,还可以为内部组件添加丰富灵活的功能。例如,与对象存储(OSS)事件绑定,实现用户上传文件时的自动处理;与日志服务(SLS)或表格存储(OTS)结合,实现数据的自动清洗和实时分析。
AI推理计算
- 在AI推理计算的应用场景中,函数计算FC的弹性扩容功能可以调用几乎无上限的计算资源,迅速而廉价地验证AI模型。AI算法工程师在训练好模型后,可以利用FC将模型变成服务,并通过大量的计算资源验证服务的有效性。同时,FC的工具链支持第三方库的安装,使得AI模型应用的一键部署到云端成为可能。
构建高并发、高可用的计算密集型系统
- 函数计算FC不仅支持Node.js、PHP、Python等脚本语言,还支持Java、Go、C等高效、静态语言,这使得它可以用于如音视频处理、密码计算、文件压缩等对计算效率有较高要求的场景。此外,FC的毫秒级弹性扩容能力可以轻松应对不可预测的流量情况,如视频分享网站在突发事件导致的用户集中上传或观看视频时,FC可以确保服务的高可用性和稳定性。
结合消息队列实现灵活的应用功能
- 在一些复杂的业务场景中,函数计算FC可以与消息队列(如Kafka、RabbitMQ等)结合使用。通过监听消息队列中的消息变化,FC应用可以实现灵活的功能组合和调用。例如,在电商应用平台中,当用户物流信息发生变更时,可以通过FC应用发送短信或微信通知用户,这一过程可以通过监听消息队列中的物流信息变化并调用FC应用来实现。
在优惠购买云产品上,给到了如下优惠,点击立即购买即可。
在推荐解决方案这块,由于篇幅限制,只给出了两个案列。
部署体验
点击方案中顶端的在线部署,或者架构于方案中的立即部署,均可以来到部署详情页。
提供了两种部署方式,一键部署和手动部署,两种部署方式间的差异其实还是非常大的,一键部署可以通过ROS编排完成如下步骤:
- 创建1台ECS实例。
- 创建1个专有网络VPC。
- 创建2台交换机。
- 创建1个云数据库RDS MySQL版实例。
- 创建1个OSS Bucket。
- 创建1个函数计算函数。
- 创建一个消息服务MNS队列。
- 创建一个RAM角色。
而手动部署则需要挨个去创建和配置。所以看到这,对体验者来说,毋庸置疑均会选择一键部署来完成体验的,当然如果你想更好地了解各个产品间的创建和配置过程,手动部署还是蛮适合推荐给你的。
一键部署
在正式开始部署体验前,需要确保自己操作的账户余额大于等于100元,避免因为余额不足导致通过函数计算FC部署应用失败。
点击部署方案中的一键部署来到ROS资源编排管理控制台。
首先配置好WEB应用的登录用户和密码。
选择云服务器ECS的实例规格及可用区。
配置ECS的root密码以及RDS的账号和密码。
选择RDS实例的规格,可以直接选择默认的mysql.n2e.medium.1。
完成后,点击下一步,来到参数和费用确认页面。
确认上述无误后,点击创建,即开始创建应用了。
在此过程中,如果是首次使用消息服务MNS,会在检查环节遇到角色权限异常。点击立即开通即可。
在弹出的角色授权页面,点击同意授权。
完成授权后,会再次提示开通服务,点击免费开通。
在开通页面,点击立即开通。
完成后,来到创建页面,可以发现异常已消失,点击继续创建。
此时,来到ROS资源列表,可以看到应用正在创建中。
此刻你可以通过查看资源栈的事件或资源看到创建的过程。
应用体验
大约4分半钟后,应用完成创建,此刻显示创建成功。
在输出标签可以看到应用的URL,点击访问。
在web登录页面输入上述自定义的账号和密码,点击登录。
完成登录后,就来到了web应用的首页了。
点击上传新的文件,在上传文件弹窗钟点击选择文件。
完成文件选择后,点击Create。
可以看到文件已经在上传中。
这块如果显示一直上传中,是因为功能受限,目前仅制支持标准的PPTX演示文档。这块在部署方案中有提及,需要特别注意。
完成后可以在OSS存储中看到创建的两个文件夹。其中上传的源文件存储在OSS的source目录,处理后的文件会存储在processed目录。
到这小伙伴们是不是有疑问,为啥我使用了消息服务,却整个过程却没有发现MNS存在的意义,其实这块消息后台已经处理了。在消息服务MNS控制台的主题详情可以看到端倪。
RDS提供WEB应用涉及的数据及状态的存储。
清理资源
体验完成后非常且必要的一个步骤就是将体验的资源进行删除或者清理。在资源栈页面的顶部选择部署的资源栈所在地域,找到资源栈,然后在其右侧操作列,单击删除。
在删除资源栈对话框,选择删除方式为释放资源,然后单击确定,根据提示完成资源释放。
体验总结
方案部分
一、方案整体可阅读性更好了,要点也更突出了。但相较于优秀的方案排版上还是有优化空间的,比如在架构部署这块,从当前界面排版看到的貌似是架构图和文字描述4-6分的,这就非常容易让读者产生一种错觉,文字的重要性突出,而架构图相比而言就没那么重要了。非常建议这块采用五五排版更合理一些,排版平分后首先不会让读者产生重要次要的视觉差异,其次界面上也更统一了。
第二点同样是界面上的优化,方案末尾的咨询图连接应该去掉,因为顶端已经有一个咨询的按钮了,存在重复。去掉后方案整体就不会显得很冗长了。此外,去除后给到推荐方案的位置就更多了,可以列举更多优秀案列,进一步突出方案和产品的优势。
第三点需要优化的是细节,就是架构与部署中,涉及的产品要做超链接颜色区分,虽然当前可以鼠标点击,但整体而言没有颜色区分,在整体方案中就显得不是那么专业了,用户不在此处悬停鼠标,甚至不知道这些还可以点击前往了解更多。
第四点是数据准确性要提高,在架构与部署中,文字描述中写到的部署时长是30分钟,实际上这个时间是不准确的,如果你采用的是一键部署方式,是不需要花费30分钟即可完成的,但如果你采用的是手动部署方式,却又远不止30分钟,所以在描述上应该做到区分。比如“部署时长:30分钟(理论时长,不同的部署方式存在差异,仅供参考)”;还有这个预估费用,写30元是不是有点多啊,实际完成部署体验也就几块钱吧,你要不写个范围也行啊。30元对于新手体验来说,还是很多的一个数字呢。
部署部分
在部署方案部分,也存在描述和排版问题。
第一,方案验证的步骤在两种部署方式中存在排版差异,在一键部署中放在了一键部署模块,而在手动部署中放在了完成及清理模块,相对于读者来说,这块手动部署放置的更妥当。作为方案的验证就应当放置在最后的完成板块中。
第二,在有关产品实例的规格以及参数配置上,一键部署方式显得非常不友好,只字未提。好在手动部署方式中都进行了详细的阐述,才在某个方面弥补了这块的缺陷,非常建议部署体验的小伙伴进行参考。
体验部分
第一,在体验过程中,我得到了相对全面的引导与文档支持。解决方案的官方文档详细介绍了函数计算的基本概念、架构设计、部署步骤以及最佳实践。特别是针对多媒体文件处理的特定场景,文档提供了详细的配置指南和案例分析,使得我们能够快速上手并理解整个处理流程。然而,我也发现了一些可以改进的地方。比如,对于可能遇到的常见问题及其解决方案,文档中的描述略显简单,建议增加更多实际案例和错误排查步骤。
第二,在部署过程中,我并未遇到严重的报错或异常。不过,由于我的测试环境与示例环境略有差异(如存储桶的权限设置不同),因此在初期遇到了一些权限相关的错误。通过查阅文档和参考官方提供的权限配置指南,我成功解决了这些问题。
第三,使用函数计算进行多媒体处理在性能和稳定性方面均表现出色。函数计算按需分配资源,能够自动根据负载情况调整计算资源,从而避免了传统服务器部署中的资源闲置和浪费问题。在处理大量多媒体文件时,我们能够观察到较高的处理速度和吞吐量,且系统稳定性良好,未出现明显的性能波动或故障。从成本角度来看,函数计算按使用量计费的方式使得我们能够根据实际业务需求灵活调整资源投入,从而有效控制成本。与传统的服务器部署模式相比,函数计算在成本效益方面具有明显优势。在企业上云过程中,我们强烈推荐团队使用函数计算进行多媒体处理。这不仅能够提升处理效率、降低成本,还能够实现更灵活的资源管理和更高的系统可用性。
第四,本次体验中使用最频繁也是最重要的一个产品就是函数计算FC了,从产品操作配置的角度来看,产品均提供了直观易用的管理界面和详尽的配置选项。通过简单的几步操作即可完成函数的创建、配置和部署。同时,产品还支持自动化运维和监控功能,能够实时展示函数的运行状态和处理结果。而在产品手册方面,官方提供了详尽完备的使用指南和最佳实践案例。这些文档不仅涵盖了产品的基本功能和操作方法还深入探讨了性能优化、安全设置等高级话题。通过仔细阅读这些文档并结合实际操作经验我们能够更好地掌握产品的使用技巧和注意事项。
针对函数计算FC以及云数据库RDS,在之前的评测活动中,我都有幸参加了体验,如果大家有兴趣,可以点击下面的链接前往进行了解。