什么是函数即服务(FaaS)

全球领先的IT市场研究和咨询公司IDC定义的函数即服务(FaaS)提供了无状态的代码处理能力,以响应特定事件。在最简单的层面上,一个事件或请求会触发存储代码的上传,执行该代码直到其逻辑完成或持续一段预设的时间,然后终止该代码的运行。

华为云函数工作流 FunctionGraph,是华为推出的函数计算服务(FaaS)。华为云FunctionGraph以其极快自动弹性、极简开发部署、极低成本消耗等技术优势,为客户提供高弹性、高可靠、免运维的云端Serverless函数计算服务,在IDC发布《中国函数计算(FaaS)技术评估,2024》报告中7项满分,远超业界水平

华为云全球连接服务CPS

哪些行业或场景最适合迁移到FaaS架构?

哪些行业或场景最适合迁移到FaaS架构?

企业需要降本增效

函数即服务(FaaS)通过革新的开发流程和完善的工具链实现极简高效的应用开发,通过毫秒级的底层资源调用带来快速且自动的应用弹性,通过细粒度的资源梯度和按时按次的计费模式降低应用资源成本,从而带来应用总体成本的节约。同时,通过更高的单位资源收入和更高的资源利用率,企业也有更大利润空间

企业需要维护高并发、低延迟的应用,它们具有高峰期流量波动明显特征,比如电子商务应用、 AI 应用等

函数即服务(FaaS)平台自动处理负载均衡和资源分配,当访问量增大时,自动增加函数的实例数量以应对负载,确保应用性能与负载相匹配,并且不会导致资源浪费。同时函数即服务(FaaS)模型应对突发的高负载,提供几乎即时的响应,改善用户体验。由于函数运行环境是在需要时才启动,因此新实例的启动时间极短

资源受限,但需要快速迭代和扩展应用以适应市场变化

首先函数即服务(FaaS)平台负责底层的基础设施管理,包括服务器维护、操作系统更新和安全补丁,这使得企业可以将有限的资源和精力集中在核心业务和产品开发上。其次函数即服务(FaaS)允许开发者快速部署新代码,因为它们不需要等待服务器配置或部署环境,只需提供函数代码(包括源码文件、镜像等)和一些配置信息,即可实现应用的快速发布和上线,加速了应用开发周期

需要实时处理大量数据和事件流,比如车联网、数据分析

FaaS天然适合事件驱动架构,能够自动响应不同类型的数据事件(如传感器数据、用户操作等),高效处理实时数据流,例如物联网设备产生的海量数据可以通过FaaS函数进行实时清洗、转换和分析,能确保系统具备快速响应能力。 FaaS平台可以与多种数据源和服务(如数据库、消息队列、流处理平台)无缝集成,便于构建复杂的数据处理链路,提升数据处理能力

FaaS的典型应用

FaaS的典型应用

  • Web/移动应用后端

    对于Web和移动应用后端,FaaS提供了快速开发和部署的能力,同时简化了运维工作。开发者可以将应用逻辑拆分为独立的函数,每个函数按需触发,无需管理底层服务器。这种模式不仅减少了开发时间,还通过自动弹性伸缩能力,根据实际流量动态调整资源,避免资源浪费和性能瓶颈

  • AI推理与AIGC应用

    FaaS的事件驱动和弹性扩展特性使其能够高效地处理AI模型推理任务。例如,机器学习模型推理、大模型AI对话、AIGC图像生成、AI声音克隆等场景,通常需要快速响应和按需扩展计算资源。FaaS能够根据请求量动态调整资源分配,确保在高并发场景下依然保持低延迟和高吞吐量

  • 实时数据流处理

    函数即服务(FaaS)非常适合处理实时数据流,能够高效跟踪应用程序活动,处理事务顺序,分析数据流,并建立索引。通过事件驱动机制,批量数据处理可通过自动调度资源,确保在需求高峰期灵活使用更多函数实例,应对数据处理挑战

  • 微服务架构应用

    函数即服务(FaaS)提供无服务器的计算能力,开发者以函数为单位构建、部署和管理服务,实现高度解耦和自动伸缩,从而提高系统的敏捷性、可维护性和资源利用率,优化微服务的生命周期管理

  • 车联网

    车联网平台构建、设备状态监控、故障诊断、消息推送、API网关服务以及图像脱敏处理等关键功能利用函数即服务(FaaS)的无服务器架构优势,会实现按需自动扩展、事件驱动的响应机制和高效的资源管理,从而为智能出行提供了强大动力

  • API扩展与管理

    开发者可以将函数部署到函数即服务(FaaS)平台,通过API网关管理和开放这些服务能力。作为API的后端,函数即服务(FaaS)提供了出色的扩展性和低延迟响应,使得开发者能够轻松应对用户需求变化,打造高效的API生态

展开内容
收起内容

FaaS的工作原理

FaaS的工作原理

华为云如何满足您的FaaS需求?

华为云如何满足您的FaaS需求?

  • 产品:作为华为推出的函数计算服务(FaaS),华为云函数工作流 FunctionGraph以其极快自动弹性、极简开发部署、极低成本消耗等技术优势,为客户提供高弹性、高可靠、免运维的云端Serverless函数计算服务

  • IDC评估:技术评估7项满分!华为远超业界水平

    全球领先的IT市场研究和咨询公司IDC发布了《中国函数计算(FaaS)技术评估,2024》报告,华为在基础能力完整度、性能与弹性、工具链、可观测性、稳定性与安全性、成本、思想领导力与生态建设、行业与场景落地的评估维度中,华为均远超业界水平,技术评估7项满分!

  • 产品优势

    华为云函数工作流 FunctionGraph的技术引领不仅体现在快速响应业务峰值的自动弹性能力,还在于一站式的高效开发和部署体验,以及多样化的计费模式,帮助客户最大化资源利用率

    极快自动弹性:根据请求的并发数量自动调度资源运行函数,毫秒级弹性充沛算力资源,实现透明、准确和实时的伸缩,轻松应对业务峰值的访问。用户无需关心峰值和空闲时段需要申请多少资源,系统会根据请求的数量自动扩容/缩容。自动负载均衡将请求分发到函数运行实例,同时系统会根据流量负载的模式来智能预热实例,以缓解冷启动对业务的影响

    极简开发部署:华为云函数工作流 FunctionGraph提供丰富的开发工具和IDE插件,支持本地开发、调试和测试,用户可以使用熟悉的编程语言快速编写和部署函数,降低用户学习成本;小时级开发,分钟级部署

    极低成本消耗:提供多样化计费模式,按代码调用次数和运行时长计费,代码未运行时不产生费用,最大可节约成本90%

展开内容
收起内容

华为云函数工作流FunctionGraph适用场景丰富

华为云函数工作流FunctionGraph适用场景丰富

在数据处理、Web应用、AIGC&科学计算&渲染等场景中,华为推出的函数计算服务(FaaS),即华为云 FunctionGraph均展现了其专业应用方案和企业实践效果

在数据处理、Web应用、AIGC&科学计算&渲染等场景中,华为推出的函数计算服务(FaaS),即华为云 FunctionGraph均展现了其专业应用方案和企业实践效果

最佳实践

最佳实践

华为云函数工作流FunctionGraph常见问题解答

华为云函数工作流FunctionGraph常见问题解答

使用FunctionGraph是否需要开通计算、存储、网络等服务?

用户使用FunctionGraph时,不需要开通或者预配置计算、存储、网络等服务,由FunctionGraph提供和管理底层计算资源,包括服务器CPU、内存、网络和其他配置/资源维护、代码部署、弹性伸缩、负载均衡、安全升级、资源运行情况监控等,用户只需要按照FunctionGraph支持的编程语言提供程序包,上传即可运行。

使用FunctionGraph开发程序之后是否需要部署?

用户在本地开发程序之后打包,必须是ZIP包(Java、Node.js、Python、Go)或者JAR包(Java),上传至FunctionGraph即可运行,无需其它的部署操作。

制作ZIP包的时候,单函数入口文件必须在根目录,保证解压后,直接出现函数执行入口文件,才能正常运行。

对于Go runtime,必须在编译之后打zip包,编译后的动态库文件名称必须与函数执行入口的插件名称保持一致,例如:动态库名称为testplugin.so,则“函数执行入口”命名为testplugin.Handler。

是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求?

目前函数暂不支持这种方式。函数的理念是无服务器计算,计算资源只会在运行期分配,这种自定义监听端口的场景并不适合。

FunctionGraph的函数是否支持功能扩展?

FunctionGraph目前已经集成了一些非标准库如:redis、http、obs_client等,开发函数时可以直接使用,详情请参考开发指南

用户可以通过维护属于自己的依赖代码库,供所有函数使用,请参考依赖包管理

FunctionGraph函数支持哪些编程语言?

FunctionGraph目前支持的编程语言,如表1所示。

函数常规信息中的“应用”如何理解?

“应用”实际作用就是文件夹功能。当前创建的新函数所属应用均为“default”应用,且无法更改,新版本里会逐步弱化并下线老界面的“应用"概念,未来会通过标签分组的方式来管理函数的分类等。

华为云函数工作流FunctionGraph精选文章推荐

华为云函数工作流FunctionGraph精选文章推荐

华为云函数工作流FunctionGraph,海量企业的共同选择

华为云函数工作流FunctionGraph,海量企业的共同选择