函数计算是一种无服务器的(Serverless)、全托管式的、基于事件驱动的计算服务。它允许开发者无需运维和管理服务器,只聚焦于实现业务逻辑代码。在这种模式下,开发者只需要编写幷上传函数代码,剩下的资源管理、服务器运维与监控、可扩展性和高可用性等都由云服务提供商处理。此外,函数计算还采用按需付费的模式,根据实际业务流量的大小弹性使用计算资源(包括网络、内存、CPU、存储、中间件等),按需付费。函数计算适合事件驱动的应用场景,例如响应HTTP请求、执行定时任务、处理文件上传、处理音视频等。
函数计算与传统服务的核心差异
传统的Serverful服务如上图所示。要可靠地实现一个服务的功能,开发者不仅需要完成业务逻辑的开发,还要关心流量如何接入、流量如何调度、如何实现负载均衡、如何合理选型中间件及其在集群中的架构以实现高可用。总而言之,传统的Serverful服务,开发者要维护各种服务资源和复杂的架构,伴随着固定的投入成本,运维成本也很高,而开发效率比较低。
函数计算如上图所示。开发者无需关心现代分布式服务中的诸如流量接入、流量调度、负载均衡、可观测性、高可用和弹性伸缩等难题,这些都作为函数计算基础设施的一部分,可以从云服务提供商处获取,而开发者只需要聚焦实现自己的业务逻辑即可。
函数计算可以做什么
部署Web应用
Web应用是一种典型的事件驱动应用。函数计算搭配数据库、缓存、消息中间件等云产品,开发者只需要编写业务代码即可快速构建可靠的、可弹性伸缩的Web应用。这些程序可同时部署在多个数据中心实现高可用运行。
数据分析和处理
函数计算支持丰富的事件源。通过简单地配置事件触发条件,只需要很少的配置和代码,函数计算就可以对数据进行实时分析和处理。比如对日志数据进行清洗和处理、对上传对象存储的文件进行解压、校验和转换等。
机器学习和AI推理
部署机器学习模型,借助云上的弹性资源,进行实时预测或批量预测,处理图形、音频、视频等多媒体数据。
物联网(loT)应用
处理来自loT设备的数据,如城市智慧交通中采集的各类传感器读数、执行边缘计算任务等。
定时任务
设置定时触发器,执行定时任务,如报表生成、数据备份等。只有在定时任务运行期间才需要使用资源,大大提升了资源利用率。
如何使用
使用准备
为了流畅地使用函数计算进行应用部署和调试,您需要具备以下经验和知识:
- Serverless架构基础:理解Serverless架构的基本理念,包括其三种形态:函数即服务(FaaS)、平台即服务(PaaS)和后端即服务(BaaS)。
- 高级编程语言:熟悉至少一种如Python、Node.js、Java、Go、.NET Core等高级编程语言,并掌握相关运行环境和依赖管理的方法。
- 网络知识:了解云计算基础概念,包括公有云、私有云网络等网络相关知识。
工作流程
为了顺利使用函数计算服务,您需要按照以下步骤操作:
- 开通服务:首先,您需要注册天翼云账号并按照指引开通函数计算服务,具体步骤请参考快速入门中的开通函数计算服务。
- 编写应用:开发者使用合适的编程语言编写函数应用,天翼云函数计算支持的开发语言参考代码开发概述。
- 上传应用:将开发完成的应用上传至函数计算平台,以便进行部署和后续的执行。
- 触发执行:函数可以通过事件触发执行。函数计算能够根据请求量自动进行扩缩容,这一过程对用户完全透明。
- 计费结算:费用将根据函数的实际执行时长和资源使用量进行结算,更多计费信息请参考计费概述。
使用方式
您可以通过函数计算控制台提供的Web界面,通过控制台可以方便地访问和管理函数计算的各项功能。有关如何快速创建函数的详细步骤和指引,请参考快速入门章节。
多语言支持
当前支持Python、Java、Go、Node.JS、PHP、.NET等。
产品计费
关于函数计算的计费详情,请参见计费概述。