课时3:函数粘合云服务提供端到端解决方案

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 课时3:函数粘合云服务提供端到端解决方案

玩转AIGC训练营:课时3:函数粘合云服务提供端到端解决方案

课程地址:https://developer.aliyun.com/trainingcamp/1893257e5f7a442c988fd52c818309b3?spm=a2cwt.28237621.J_9603273760.8.31b2b726xTbsZG

课时3:函数粘合云服务提供端到端解决方案

 

内容介绍

一、单体架构

二、事件驱动和编排

三、Serverless

 

大家好,我是来自阿里云原生团队的西流,欢迎来到 Serverless 技术公开课。

前面两节课给大家分别介绍了函数计算是什么以及函数计算是如何工作的,这节课我们来讲一讲函数计算是如何粘合云服务提供端到端的解决方案。

 

一、单体架构

 

image.png

 

首先,我们看一下单体应用中最常见的两种编程模型,第一种是 UI 驱动,第二种是消息驱动。

在 UI 驱动中,可能客户端不那么智能,主要是因为一些业务逻辑,比如认证服务,搜索服务,交易等都需要实现在服务端的应用程序中,随着业务的复杂度不断增加,服务端的应用会越发的膨胀和难以维护。

而在消息驱动中,需要用户实现一个常做的消费者服务,然后去消费消息。

同时,这个消费者的可用性也需要用户去保证。从上面两个例子我们可以看出,假设这个单体应用不断的膨胀,对一个庞大的单体应用进行拆解,充分利用云服务的体系结构是一个非常好的解决方案。

在这里最大的关键是如何为应用程序的每个组件,选择和使用正确的云服务,而通过函数作为黏合剂将云服务串联起来。

 

二、事件驱动和编排

image.png

 

目前很多人将 fast 等同于 Serverless 。所谓的 fast 就是function as a service ,即函数器服务,比如阿里云的函数计算和 AWS Lambda 。

实际上有许多其他的服务也是 Serverless ,它们和函数聚算一起构成完整的 Serverless 应用。

比如使用 API 网关可以让用户从 API 网关的限流等繁琐的配置中解放出来;使用表格存储和对象存储来持久化数据,可以取代用户去管理数据库实例;使用日志服务或者 data HTTP 这种 web 数据源收集数据;使用 MS 去管理自己的消息。

用户可以使用一个函数将这些服务给串联起来,从而能达到构建具体的应用和复杂业务逻辑的目标。

 

image.png

 

同时,用户也可以使用 Serverless 工作流来编排函数和其他云服务,让用户更加聚焦于具体业务逻辑的开发和流程的编排。当然,用户也可以使用阿里云提供的开发工具链来简化自动化部署和持续集成,使用这些开箱即用的工具可以帮助用户快速达到想要的目标和效果。

如果一个庞大的单体应用或者是一个面向服务的体系结构,开发者需要负责所有的事情,包括代码的编写、管理和部署数据库以及其他后端相关服务等。

切换到 Serverless 架构以后,我们可以看到,特定的模块交由特定的云服务处理,在使用具体的业务逻辑之后,实现了具体业务代码的函数,将它们串联起来,也就实现了解偶。

为了使这种架构运转的更有效率,事件驱动是一个不可缺少的特性。比如用户尝试往 OSS 上传一个文件,这个上传事件可以自动触发一个函数对这个文件进行处理。比如用户更变一个表格存储的数据,也会自动触发一个函数,触发一个我编写的逻辑,这就可以引出一个非常有趣的例子。

 

三、Serverless

 

 image.png

 

用户上传一张图片到对象存储 OSS 触发一个函数,这个函数对这张图片生成缩略图并把缩略图保存回 OSS ,之后这个 OSS 触发了另外一个函数,这个函数会把刚刚生成的缩略图的信息写入 Serverless 数据库,表格存储。

之后,表格存储又触发另外一个函数,将这个缩列图的信息更新到搜索模块。这样我们可以看到,数据的上传、存储、原信息的入库以及搜索模块的更新,对这三个函数联合成了一个具体的业务逻辑。

 

image.png

 

再回到我们最开始提出的单体应用的实例。

UI 驱动就可以转化成这种 Serverless 架构,比如第三方 Serverless 认证服务可以取代服务端中的认证逻辑,一些页面显示的内容可以直接读取 Serverless 数据库。这样的话,它会导致用户端的很多业务逻辑可以慢慢移到客户端。

同时,对于一些搜索的 CPU 密集型,或者需要大量数据的,我们可以放在服务端实现,并在前面配合上 API 网关。而对于涉及到支付的安全方面的,比如购买函数也可以放在服务端。这样的话,我们就充分利用了一些云服务,保证了一些逻辑的高可用,使自己更专注于具体的业务逻辑。

在这个例子中,我的具体业务逻辑就是购买方向和搜索方向。对于消息驱动这种模式,我们可以看到,之前的一个常驻的消费者服务交由 fast 去实现,同时这个消费的比如并行、高可用等等都交给了云平台。

今天的分享就是以上内容,简单剖析了函数计算可以作为黏合剂,串联其他云服务,提供端到端的解决方案,后续的课程会涉及到函数计算的开发方式、应用场景。

 

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
8月前
|
Serverless API 持续交付
课时3:函数粘合云服务提供端到端解决方案
函数粘合云服务提供端到端解决方案
232 0
|
6天前
|
运维 监控 Serverless
【专栏】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器(Serverless)
【4月更文挑战第28天】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器。它基于事件驱动,自动扩展资源并按需计费。优势包括缩短开发周期、优化资源利用、降低成本、提高可用性及简化维护。然而,冷启动延迟、调试困难、性能监控、安全性和学习曲线等挑战仍需解决。随着技术进步,无服务器架构将在科技发展中发挥更大作用。
|
6天前
|
安全 云计算 数据安全/隐私保护
作为开发者在云上会建设怎样的世界?
随着技术圈新技术的“层出不穷”,尤其是云计算的兴起为技术开发者们创造了前所未有的机遇,让大家能够通过云服务建设出一个个令人惊叹的应用,而且随着技术的不断发展,云服务已经深入到了我们工作和生活的各个角落,从简单的数据存储到复杂的机器学习任务,云服务提供了一个强大且易于扩展的平台,让我们可以实现那些曾经只能幻想的创意。那么本文就来分享一下聚焦于开发者在阿里云云上建设世界的经历,探讨在云服务中遇到的挑战以及如何克服这些挑战。
31 6
作为开发者在云上会建设怎样的世界?
|
6天前
|
自然语言处理 Cloud Native 开发者
【2023年度技术盘点】「年终盘点后端系列」探索服务架构体系的技术风向,构建微服务核心能力(升级版)
回顾过去的几年,我们目睹了科技界的快速发展,其势头如同一列驶向前方的高速列车。作为后端开发者,我们见证了每一次技术革新所带来的广阔前景。这些创新不仅深刻影响着我们的工作方式,而且不断引领我们走向未来。
76 1
|
7月前
|
存储 网络协议 调度
淘宝移动端统一网络库的架构演进和弱网优化技术实践
本文将介绍淘宝 APP 统一网络库演进的过程,讲述如何围绕体验持续构建南北向从监测到加速一体化的终端网络架构,通过构建 NPM 弱网诊断感知能力,落地原生多通道技术/多协议择优调度手段,贴合厂商附能网络请求加速,实现去 SPDY 及规模化 IPv6/H3 协议簇的平滑过渡,为用户提供弱网更好、好网更优的 APP 加载浏览体验,支撑业务创造更多的可能性。
259 0
|
自然语言处理 Kubernetes Cloud Native
Nana 探技术,围绕云原生的诊断、弹性、网关技术探讨 —— (第10期)产品要点分析
企业级分布式应用服务 EDAS(Enterprise Distributed Application Service)是一个应用PaaS平台,一站式集成微服务、可观测、任务调度等技术;以专业易用的应用全生命周期管理、流量及容量治理等功能,配合业务视角的验收、资源管控与成本优化能力,助力企业应用架构云原生化升级。
502 0
|
容器 Serverless 运维
为什么它有典型FaaS能力,却是非典型FaaS架构?
阿里妹导读:FaaS—Function as a service,函数即服务。它是2014年由于亚马逊的AWS Lambda的兴起,而被大家广泛认知。FaaS能力是NBF中的一项非常重要的能力,NBF是一个非典型的FaaS架构,但是具备了典型的FaaS能力。
10311 2
|
存储 消息中间件 监控
函数粘合云服务提供端到端解决方案|学习笔记
快速学习 函数粘合云服务提供端到端解决方案
104 0
函数粘合云服务提供端到端解决方案|学习笔记
|
数据采集 编解码 监控
函数计算助力语雀构建稳定且安全的业务架构
语雀是一个专业的云端知识库,用于团队的文档协作。现在已是阿里员工进行文档编写和知识沉淀的标配,并于 2018 年开始对外提供服务。
4419 0
函数计算助力语雀构建稳定且安全的业务架构
|
消息中间件 弹性计算 Kubernetes
开放下载 | 支撑全球最大规模云原生实践的云产品,究竟有哪些独特之处?
本电子书聚焦云原生12款核心产品,覆盖容器产品、微服务产品、消息中间件产品、Serverless产品等。
5551 2
开放下载 | 支撑全球最大规模云原生实践的云产品,究竟有哪些独特之处?