入门篇:函数计算的基本概念和通用场景概述

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月15万CU 3个月
简介: 阿里云的函数计算(Function Compute)是基于Serverless这种理论框架下推出弹性海量计算平台,是Serverless的一种实现,函数计算主打的旋律是轻和快,从一定意义上来看也可以认为函数计算就是Serverless的一个Paas平台。

4月26日,阿里云正式推出了函数计算这个微服务产品,在此之前Serverless的概念被炒的极其火热,仿佛大家要欢天喜地进入了微服务的狂欢阶段,不过光有概念很容易晕,今天我带大家一起来细化一下Serverless的基本概念、Serverless跟传统IT架构的对比、Serverless和函数计算的区别,以及函数计算最典型场景都有哪些。

Serverless的基本概念

Serverless是一种基于互联网的技术架构理念,应用逻辑并非全部在服务端实现,而是采用FAAS(Function as a Service)架构,通过功能组合来实现应用程序逻辑。同时,Serverless架构能够让开发者在构建应用的过程中无需关注计算资源的获取和运维,由平台来按需分配计算资源并保证应用执行的SLA,按照调用次数进行计费,有效的节省应用成本。 

我画个简单对比图来对比传统IT架构和Serverless的真正区别在哪里:

7852bc729a21269b8982e3bc813df94590ac1184

在该架构中,我们在云服务器上是部署了web容器来解析web图片处理应用,用户通过手机上的APP上传图片,应用程序对图片进行定制,例如按用户属性分类、按区域分类,审核鉴黄图片、以及建立图片索引等个性化数据处理后,把图片存储到云存储中,用户通过最近节点CDN可以读取经过处理的图片,达到图片分享的功能。

当应用上线后,在营销推广后业务量达到高峰值就要考虑云服务器的负载均衡问题,架构就开始演变成集群模式,详见集群架构图:

67757e78c4ebd8040d609cf94a2ab768d2703dd2

在这个架构中,我们需要做如下事情:

1.管理云服务器。我们要关心CPU数量、内存大小、IP地址等等系统级的配置。

2.管理云服务器操作系统,为部署容器设置访问策略,操作系统版本以及容器安全补丁也不能忽视,否则竞争对手可能雇佣黑客来攻击我们的系统。

3.配置整套环境的弹性扩容的策略,应对高峰期突发访问量。

4.需要配置云存储、CDN

5.编写WEB图片处理应用。

Serverless(函数计算)架构图:

如果使用函数计算,用户可以设置云存储的触发器(PutObject事件),当用户上传图片到OSS会立即触发一个函数来处理图片,同样当业务访问量是峰值的时候,函数计算会自动扩容来支撑整个业务量的处理。处理后的数据回传到OSS中,其他用户通过CDN可以访问被处理后的图片。

其中架构图如下:

fc26cb1220934679bab948d59c85915b03562b44

我随手摘录网文上介绍的Serverless的优势:

1、节约使用成本

在业务突发性极高的场景下,系统为了应对业务高峰,必须构建能够应对峰值需求的系统,这个系统在大部分时间是空闲的,这就导致了严重的资源浪费和成本上升。在Serverless架构下,服务将根据用户的调用次数进行计费,节省了使用成本,同时,用户能够通过共享网络、硬盘、CPU等计算资源,在业务高峰期通过弹性扩容方式有效的应对业务峰值,在业务波谷期将资源分享给其他用户,有效的节约了成本

2、简化设备运维

在原有的IT体系中,开发团队即需要维护应用程序,同时还要维护硬件基础设施;Serverless架构中,开发人员面对的将是第三方开发或自定义的API 和URL,底层硬件对于开发人员透明化了,技术团队无需再关注运维工作,能够更加专注于应用系统开发

3、提升可维护性

Serverless架构中,应用程序将调用多种第三方功能服务,组成最终的应用逻辑。

例如登录鉴权服务,云数据库服务等第三方服务在安全性、可用性、性能方面都进行了大量优化,开发团队直接集成第三方的服务,能够有效的降低开发成本,同时使得应用的运维过程变得更加清晰,有效的提升了应用的可维护性。

Serverless和函数计算的区别

阿里云的函数计算(Function Compute)是基于Serverless这种理论框架下推出弹性海量计算平台,是Serverless的一种实现,函数计算主打的旋律是轻、快、有弹性,从一定意义上来看也可以认为函数计算就是Serverless的一个Paas平台。下面来大致看看函数计算的主要组成部分和基本概念:

包含关系:
b3f37a4fa8f203a63dbb46997867c18769f5cbea

函数概念解释:

1、Service有两层意义,一层可以按照业务属性来划分不同的服务专区,方便用户做分类识别,另外一层对执行单元的授权、配置专属日志等,都在service进行配置。

2、一个Service可以设置50组Function,一个Function可以设置10个Trigger,一个Trigger只能被一个Event定义。

3、Function是函数计算最小的执行单位,是核心代码的执行区域。

函数计算的典型用户场景

阿里云函数计算目前是通过事件来触发函数的执行,处理的函数符合执行无状态、执行幂等性等特点。一一来讲解这些典型用户场景:

基于事件触发:

1、IoT应用:设备端通过函数计算来订阅天气信息和空气质量,设备和设备之间无依赖,执行过程中无需记录状态,获取到第三方数据即可返回。

2、WEB应用:某WEB网站在用户注册成功后,会发一封欢迎邮件,通过函数计算把邮件内容定制成模板,每次触发,每次执行都是幂等无状态。

3、图片处理:基于OSS的事件触发,当用户上传的图片转入到某Bucket中后,自动触发函数岁图片进行可定制化处理

4、音频转换文字处理: 当用户通过语音来发出某些指令的时候,可以通过函数计算来触发阿里云的 ET 公开 API 获取到音频转换成文字的方式。

基于云产品场景的触发:

1、OSS(云存储)应用:

A、图片处理:监控Bucket、Object事件(Put、Delete、Get、Head等)触发用户对函数运行,比如图片的转码、水印或者鉴黄后的图片分发到多个区域的Bucket等。

B、日志处理:通过函数计算事件触发,把存放的不同区域的bucket下的日志文件进行汇总,分解,计算,并把计算结果通过回调函数通知Invoke程序。

2、APIGateway的应用:

A、API数据商,通过APIGateway连接函数计算,并从阿里云市场中获取到的数据,例如天气、股票、空气质量等进行数据分析和数据清洗后,通过回调函数返回运算过的数据,达到自由定制的功能。同时享受APIGateway高附加值,例如流控、鉴权、监控的功能。

详见下图架构:

10ca854e4f49c8e4e4adac0ce8efb2fda7235665

B、API代理商:通过APIGateway分发标准化的API接口,建立自己的生态系统,在APIGateway背后调用函数计算把后端对资源和跨产品的能力包装起来(对图片、AI、数据等),形成统一解决方案,例如对空气质量的定制,对多个来源,IOS,Android,WEB,物联网Hub都统一输出。

以上就是对函数计算产品的综述,拥有最新、最辣、最火爆的技术,永远是开发者的终极追求,套用广告词,谁用谁知道!


相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
2月前
|
机器学习/深度学习 机器人 Serverless
FaaS 的应用场景
FaaS 的应用场景
|
2月前
|
消息中间件 存储 监控
函数计算产品使用问题之“低频介质型”适用哪些场景
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
存储 缓存 监控
函数计算产品使用问题之调用sd生图时,怎么保证高并发场景正常运行
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
弹性计算 监控 Serverless
函数计算产品使用问题之如何处理银行转账场景遇到的高并发问题
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
运维 Serverless 云计算
Serverless概念
Serverless概念
|
2月前
|
前端开发 小程序 Serverless
异步任务处理系统问题之阿里云函数计算FC的应用场景有哪些
异步任务处理系统问题之阿里云函数计算FC的应用场景有哪些
|
2月前
|
人工智能 Serverless API
Serverless 架构实现弹幕场景问题之用SAT进行双主键的插入操作如何解决
Serverless 架构实现弹幕场景问题之用SAT进行双主键的插入操作如何解决
30 0
|
2月前
|
关系型数据库 MySQL Serverless
PolarDB MySQL Serverless:灵活弹性场景深度评测
本文深入评测了阿里云PolarDB MySQL Serverless的灵活弹性场景。作为阿里云专业运维工程师,笔者从多个角度对产品进行了全面分析: 产品特性:介绍了PolarDB MySQL Serverless的核心优势,包括动态弹性、高可用性和按量付费模式。 操作体验:详细描述了集群创建过程和控制台监控功能,突出了其简化运维的特点。 弹性能力:通过三个测试场景验证了产品在不同负载下的自动扩缩容能力,展示了其快速响应和性能稳定性。 API与文档:评估了API的易用性和文档的完整性,并提出了改进建议。 优劣分析:总结了产品的主要优势,如极致弹性和成本效益,同时指出了一些潜在的改进空间。 整体
|
2月前
|
运维 Kubernetes 大数据
Kubernetes 的架构问题之在Serverless Container场景下尚不支持资源超售如何解决
Kubernetes 的架构问题之在Serverless Container场景下尚不支持资源超售如何解决
58 0
|
2月前
|
机器学习/深度学习 机器人 Serverless
FaaS 的应用场景
FaaS 的应用场景

相关产品

  • 函数计算