微服务和 Serverless 架构-函数计算 FC 简介及应用场景

简介: 微服务和 Serverless 架构-函数计算 FC 简介及应用场景

开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:微服务和 Serverless 架构-函数计算 FC 简介及应用场景】

课程地址:https://edu.aliyun.com/course/3112075/lesson/190230


微服务和 Serverless 架构-函数计算 FC 简介及应用场景


内容介绍:

一.函数计算FC功能简介

二.丰富的触发器功能

三.函数计算FC和微服务的区别

四.极速上线Web应用

五.事件源触发机制实现数据处理的计算存储分离

六.无上限计算资源助力AI推理计算

七.毫秒级弹性扩容轻松应对突发流量

八.Serverless理念已经深入阿里云产品体系中

 

一.函数计算 FC 功能简介

在2015年底亚马逊推出 AWS Lambda 并提出 Serverless概念后,阿里巴巴内部也对这一概念表现出了相当大的认可,在2016年阿里巴巴的云栖大会上特意设置了Serverless 专场,并在 Serverless 专场上推出了自己的Serverless 产品,函数计算(Function Compute),简称 FC。

image.png

FC的技术亮点主要体现在:

1.开发流程极其简单,用户只需要上传自己的开发代码,甚至可以选择在线编辑代码即可发布应用。同时,FC 产品支持 NodeJS ,Python, PHP ,Java, C#,Go,Ruby 等多个语言的开发平台,基于计算、存储分离的架构设计思想,FC 还可以无缝接入关系数据库 RDS、对象存储 OSS、表格存储 OTS等多个阿里云存储产品。

2.平台零配置,用户上传代码或在线编辑代码后,平台自动生成外部访问域名,同时分配计算资源,需要多实例时,平台可以实现毫秒级的自动弹性伸缩,这些功能不会另外收费,只会按照实际的计算资源进行收费,大大降低了用户的运维负担和资产管理难度。相对于 AWS Lambda 的函数计算,FC 支持更多的开发语言和功能,应用场景也更加的广泛。

 

二.丰富的触发器功能

函数计算 FC 产品的另一功能特点是支持丰富的触发器功能,通过触发器和事件源同其他产品进行关联,事件源会在事件产生时以同步或异步的方式触发FC应用的函数调用。也就是说,通过触发器功能,函数计算FC不仅仅可以提供 WEB 类服务,也可配合阿里云其他产品做更复杂和灵活的工作。
例如,可在用户上传文件之后对上传的文件进行处理或者修改对应的网页内容,也可在 SLS日志服务接收到新日志时对日志内容进行检查,一旦发现符合某些特殊关联条件的日志,则产生相应的动作或报警。
FC产品支持的常用触发器如下:

·对象存储(OSS)触发器
 Bucket 中文件变更时,自动触发函数执行。
·消息队列(MNS)触发器
编写函数对发布在主题上的消息进行实时处理。
·API网关触发器
当请求设置函数计算为后端服务的API时,API网关会触发相应的函数,函数计算会将执行结果返回给API网关。
·云监控触发器
提供了丰富的云产品系统事件监控,可以实现更多相关云资源的自动化式的自定义处理。

·表格存储(OTS)触发器
当表格中数据变更时,以变更信息作为参数触发函数执行。
·内容分发网络(CDN)触发器
编写函数对 CDN 事件(预热、刷新等)进行自定义处理。
·事件总线EventBridge触发器
通过事件规则过滤事件,将事件路由到函数计算。
·消息队列Kafka版Connector触发器
创建 FC Sink Connector 将数据从消息队列 Kafka 版实例的数据源 Topic 导出至函数计算的函数。

·日志服务(SLS)触发器
定时获取更新的日志并触发函数进行自定义日志加工。
·HTTP触发器
接收 HTTP Request,自定义处理后返回 HTTP Response.
·loT触发器

使用规则引擎数据流转,将数据转发至函数计算中,然后由函数计算运行函数脚本进行业务处理。

 

三.函数计算 FC 和微服务的区别

将函数计算 FC 和微服务架构的使用场景及技术特点分别进行比较。

1. 微服务应用架构,在微服务架构下,启动微服务应用首先需要准备微服务的应用环境,如 ECS 集群或K8S 集群,但上传应用后还需要配置公网 SLB 负载均衡才能对外提供服务。因为拥有注册中心和核心组件,微服务应用内部的调用的,相对容易。

2.FC应用,FC应用由平台实现了域名解析、布载均衡、权限检查等功能。目标用户配置较少,但FC的应用本质为单体应用,一旦程序规模太大,单体应用的各种问题都会体现出来。

image.png

综合来看,FC应用适合功能简单,迭代速度要求较快的应用场景,而微服务架构适合大型的分布式应用场景。

 

四.极速上线 Web 应用

第一个应用场景是利用 Serverless 平台在几分钟时间内快速搭建WEB 应用,函数计算 FC 产品的免维护性和在线编辑功能对前端开发平台常用的脚本框架如 Node JS, Python ,PHP 等是相当友好的,用户只需要在线编辑器,或本机编辑器内快速开发好脚本代码,然后一键部署即可启动WEB 应用。对于一些需要快速迭代的应用,如一些验证性功能APP的商品推荐、运营活动、小程序后台等,FC 的轻量级功能非常适合,只需要掌握前端技术的开发人员配合美术设计即可完成产品的开发,而运维工作则可以完全交给Serverless 平台。如图,对于比较简单的WEB应用,连数据库也不需要开通,只需要通过表格存储、对象存储等非Sql方式即可完成数据的存储功能。

image.png

 

五.事件源触发机制实现数据处理的计算存储分离

第二个场景是基于事件源搭建数据处理器。通过事件处理机制,FC 应用不但可用于对外提供服务,同样也可为内部组件添加丰富灵活的功能。例如,通过和 oss 对象存储的事件绑定,可以实现用户上传文件时对Zip包进行自动解压或者修改相对应的网页信息,也可以对 SLS日志或ots 表格存储中的数据保存事件进行绑定,实现数据的自动清洗,去掉其中冗余和不必要的部分,只保留最有价值的信息,同时可以对数据进行实时分析,实现复杂的报警逻辑。另外,FC 应用还可以和消息队列相结合,消费队列中的消息实现应用功能的灵活结合。例如某电商应用平台中,当用户物流信息发生变更时,需要发送短信、微信进行这一功能,此过程可以通过FC应用实现,将发送消息的逻辑写入FC应用中,通过监听消息队列中物流信息的变化,调用FC应用实现消息的发送。

image.png

 

六.无上限计算资源助力 AI 推理计算

第三个应用场景是利用无上限的计算资源助力 AI 的推理计算。AI推理计算的应用场景中,AI算法工程师训练好模型后,往往需要把模型变成服务,在通过几十甚至数百上千核的运算量验证服务的有效性。在这个过程中就需要调用大量的基本资源。如果自己建立计算资源,不但需要投入大量的采购经费,还需要对计算资源进行日常维护,这些工作都远超AI算法工程师的擅长领域。

而利用函数计算FC的弹性扩容功能,可调用阿里云几乎不上限的资源,迅速而廉价的验证AI模型。同时,函数计算FC的工具链支持第三方库的安装,通过工具链可以实现AI模型应用的一键部署到云端,真正实现一行命令一触即发。

image.png

 

七.毫秒级弹性扩容轻松应对突发流量

FC应用的第四个场景是轻松构建高并发、高可用的计算密集型系统,如视频处理系统。函数计算FC不单支持 Node JS,PHP ,Python 等脚本语言,也支持Java, Go ,C等高效、静态语言,可用于如音视频处理、密码计算、文件压缩等对计算效率有较高要求的场景。同时,在互联网场景下,往往存在流量不可预测的情况,例如,视频分享网站经常会遇到因为某些线下突发事件导致用户集中上传视频或集中观看视频的情况,而这种情况会对计算密集性应用造成巨大的性能压力,一旦计算量存储不足或调度不及时,很容易造成服务在高流量下不可用。而函数计算FC不但具有海量的计算资源,同时也支持毫秒级的弹性扩容,通过快速弹性扩容,可以轻松应对不可预测流量的情况。

image.png

以上四种典型场景分别对应了函数计算FC的四大主要能力,即零配置快速开发、丰富的事件源触发、无上限计算资源、毫秒级弹性扩容。

 

八.Serverless 理念已经深入阿里云产品体系中

Serverless理念在阿里云产品体系中的发展现状,经过大约四到五年的发展,Serverless理念,已经深入到阿里云整个的产品体系中,从单一的FC应用开始,逐步扩展到了包括微服务框架SAE,容器服务ASK,数据存储服务Lindorm,Date Worker,工作流及GPU计算等多个应用场景。
image.png

在未来任何复杂的技术,阿里云都在尝试对它进行化Serverless化改造,提供按量付费的新商业模式。
同时基于Serverless技术的平台透明化,阿里云底层的技术也在随之进行着更加有效率的演化和提升。

相关实践学习
函数计算部署PuLID for FLUX人像写真实现智能换颜效果
只需一张图片,生成程序员专属写真!本次实验在函数计算中内置PuLID for FLUX,您可以通过函数计算+Serverless应用中心一键部署Flux模型,快速体验超写实图像生成的魅力。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
8月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
1256 3
|
6月前
|
人工智能 JavaScript 前端开发
GenSX (不一样的AI应用框架)架构学习指南
GenSX 是一个基于 TypeScript 的函数式 AI 工作流框架,以“函数组合替代图编排”为核心理念。它通过纯函数组件、自动追踪与断点恢复等特性,让开发者用自然代码构建可追溯、易测试的 LLM 应用。支持多模型集成与插件化扩展,兼具灵活性与工程化优势。
508 6
|
7月前
|
人工智能 Cloud Native 中间件
划重点|云栖大会「AI 原生应用架构论坛」看点梳理
本场论坛将系统性阐述 AI 原生应用架构的新范式、演进趋势与技术突破,并分享来自真实生产环境下的一线实践经验与思考。
|
7月前
|
机器学习/深度学习 人工智能 vr&ar
H4H:面向AR/VR应用的NPU-CIM异构系统混合卷积-Transformer架构搜索——论文阅读
H4H是一种面向AR/VR应用的混合卷积-Transformer架构,基于NPU-CIM异构系统,通过神经架构搜索实现高效模型设计。该架构结合卷积神经网络(CNN)的局部特征提取与视觉Transformer(ViT)的全局信息处理能力,提升模型性能与效率。通过两阶段增量训练策略,缓解混合模型训练中的梯度冲突问题,并利用异构计算资源优化推理延迟与能耗。实验表明,H4H在相同准确率下显著降低延迟和功耗,为AR/VR设备上的边缘AI推理提供了高效解决方案。
1253 0
|
6月前
|
机器学习/深度学习 自然语言处理 算法
48_动态架构模型:NAS在LLM中的应用
大型语言模型(LLM)在自然语言处理领域的突破性进展,很大程度上归功于其庞大的参数量和复杂的网络架构。然而,随着模型规模的不断增长,计算资源消耗、推理延迟和部署成本等问题日益凸显。如何在保持模型性能的同时,优化模型架构以提高效率,成为2025年大模型研究的核心方向之一。神经架构搜索(Neural Architecture Search, NAS)作为一种自动化的网络设计方法,正在为这一挑战提供创新性解决方案。本文将深入探讨NAS技术如何应用于LLM的架构优化,特别是在层数与维度调整方面的最新进展,并通过代码实现展示简单的NAS实验。
322 0
|
8月前
|
Web App开发 Linux 虚拟化
Omnissa Horizon 8 2506 (8.16) - 虚拟桌面基础架构 (VDI) 和应用软件
Omnissa Horizon 8 2506 (8.16) - 虚拟桌面基础架构 (VDI) 和应用软件
436 0
Omnissa Horizon 8 2506 (8.16) - 虚拟桌面基础架构 (VDI) 和应用软件
|
8月前
|
机器学习/深度学习 数据采集 存储
技术赋能下的能源智慧管理:MyEMS 开源系统的架构创新与应用深化
在全球能源转型与“双碳”战略推动下,MyEMS作为基于Python的开源能源管理系统,凭借模块化架构与AI技术,助力重点用能单位实现数字化、智能化能源管理。系统支持多源数据采集、智能分析、设备数字孪生与自适应优化控制,全面满足国家级能耗监测要求,并已在制造、数据中心、公共建筑等领域成功应用,助力节能降碳,推动绿色可持续发展。
241 0
|
9月前
|
人工智能 数据可视化 Java
什么是低代码(Low-Code)?低代码核心架构技术解析与应用展望
低代码开发正成为企业应对业务增长与IT人才短缺的重要解决方案。相比传统开发方式效率提升60%,预计2026年市场规模达580亿美元。它通过可视化界面与少量代码,让非专业开发者也能快速构建应用,推动企业数字化转型。随着AI技术发展,低代码与AIGC结合,正迈向智能化开发新时代。
|
9月前
|
存储 人工智能 缓存
AI应用爆发式增长,如何设计一个真正支撑业务的AI系统架构?——解析AI系统架构设计核心要点
本文AI专家三桥君系统阐述了AI系统架构设计的核心原则与关键技术,提出演进式、先进性、松耦合等五大架构法则,强调高并发、高可用等系统质量属性。通过垂直扩展与水平扩展策略实现弹性伸缩,采用多类型数据存储与索引优化提升性能。三桥君介绍了缓存、批处理等性能优化技术,以及熔断隔离等容灾机制,构建全链路监控体系保障系统稳定性。为构建支撑亿级业务的AI系统提供了方法论指导和技术实现路径。
1096 0

相关产品

  • 函数计算
  • 下一篇
    开通oss服务