serverless 入门与实践 | 学习笔记8: 华为 Serverless 核心技术与实践

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: serverless 入门与实践 | 学习笔记8: 华为 Serverless 核心技术与实践

serverless.jpeg

本文是 serverless 入门与实践 的第9篇, 是学习笔记的第8篇

从今天开始学习<华为 Serverless 核心技术与实践>, 计划: 1篇前言 + 10篇/章 + 1篇总结, 此为第2篇


Serverless的基础知识、关键技术和生态现状


微服务面临的挑战

  1. 微服务的粒度仍然比较大
  2. 微服务开发仍有较高门槛
  3. 微服务基础设施管理、高可用和弹性仍然很难保证
  4. 基础设施的成本依然较高


什么是Serverless

  • 2012年,时任Iron.io的副总裁Ken提出了Serverless的概念
  • 2014年,AWS推出Lambda函数计算服务
  • 2016年Google将其作为mBaaS(移动后端即服务)的Serverless解决方案推出,以及安卓应用开发的主流云服务

google_serverless.png

  • 2021年,华为云将云函数、云数据库等核心构建类服务已面向全球HMS生态的开发者开放

huawei_serverless.png


Serverless的定义 -- 维基百科

  • 云服务商按需分配计算机资源,开发者无须运维这些资源,不用关心容器、虚拟机或物理服务器的容量规划、配置、管理、维护、操作和扩展。
  • Serverless计算无状态,可在短时间内完成计算,其结果保存在外部存储中。
  • 当不使用某个应用时,不向其分配计算资源。
  • 计费基于应用消耗的实际资源来度量。


目前,Serverless服务主要分为FaaS和BaaS

  • 函数即服务(Function as a Service,FaaS)
  • 后端即服务(Backend as a Service,BaaS)


Serverless关键技术

  • 事件源(Event Sources)
  • 触发器(Trigger)
  • FaaS控制器(FaaS Controller)
  • 函数实例(Function Instance)
  • 函数编程模型(Programming Model)
  • BaaS平台
  • 函数编程模型
  • 快速扩容
  • 快速启动
  • 高效连接
  • 安全隔离


Serverless带来的核心变化

Serverless的技术创新

  • Serverless是事件驱动架构的延伸
  • Serverless是事件驱动架构的延伸
  • Serverless是不可变基础设施的最佳实践


Serverless的其他优点

  • 加快交付的速度
  • 全功能团队构建更加容易


Serverless和微服务的差异


Serverless生态现状

  • 平台
  • 框架
  • 事件总线
  • 函数工作流
  • 工具


平台

支持1∶1触发的AWS Lambda

aws_lambda.png

AWS在2020年re:Invent上发布的一些新特性会加速这一趋势

  • 计费单位改为1ms
  • 内存以1MB为步长计费
  • 最大支持6VCPU和10GB内存配置,并支持AVX2指令集
  • 自定义容器

通过以下三种方式加速开发者向Lambda迁移

  • 降低成本
  • 扩大应用场景
  • 降低容器应用迁移成本


Azure Function

支持数据绑定的Azure Function

azure_fn.png


Knative

Knative基于Kubernetes,主要由两大部分组成:Serving(应用容器运行,基于Istio能力实现负载均衡、流量管理及自动扩容)和Eventing(支持事件驱动的应用,对接云服务商或其他事件源)

knative.png

OpenWhisk

支持多平台部署的OpenWhisk

OpenWhisk是IBM发起的开源Serverless平台,现已被捐献给Apache基金会


  • 框架
  • 跨平台开发框架Spring Cloud Function
  • 跨平台部署工具Serverless Framework
  • 2015年,个人开发者Austen Collins使用Node.js独立开发了Serverless Framework。
  • 事件总线
  • 云服务事件总线EventBridge
  • 事件规范CloudEvents
  • 函数工作流
  • 基于JSON的函数工作流Step Function
  • 基于事件溯源编排的Azure Durable Function
  • 基于函数编排的OpenWhisk Composer: OpenWhisk抽象了一套编排的DSL接口

工作流(Workflow)是对工作流程及其各操作步骤之间业务规则的抽象及概括描述。在微服务架构下,通常会使用基于BPMN或更轻量化的工作流引擎来编排微服务


Serverless的挑战与机遇

云计算6大优点

  1. 无限计算资源按需呈现。
  2. 用户无须承担对服务器的运维工作。
  3. 按照使用的计算资源付费。
  4. 借助超大型数据中心的规模效益大幅降低成本。
  5. 通过资源虚拟化简化运维,提高资源利用率。
  6. 通过复用来自不同组织的工作负载,提高硬件利用率


挑战

  • 函数生命周期有限,已加载的状态无法复用
  • 数据迁移成本高,影响运行效率
  • 启动性能不佳
  • 函数不可寻址,无法直接通信
  • 缺少异构硬件(如GPU/ARM等)支持


需要支持有状态的Serverless实现,使其更高效地应用于以下场景: CloudState Dapr

  • 机器学习训练和推理:模型需要在内存中动态替换,推理要保证低时延。
  • 实时分布式流处理:如实时预测和推荐,以及异常检测。
  • 用户会话、购物车、缓存:如管理跨请求、可缓存并可持久化的会话状态。
  • 分布式事务工作流:如Saga模式、工作流编排、回滚和补偿等。
  • 共享协作的工作空间:如文档协作编辑、聊天室等。
  • 分布式系统选举:其他标准的分布式系统的协议协调的场景。


总结

Serverless出现的时间不算晚,近年来随着移动应用、小程序、IoT等领域的发展,呈现飞速增长的态势。从这些应用场景来看,Serverless体现出相对微服务的一些独特优势。但受限于Serverless本身面临的一些挑战,在较长的一段时间内,微服务和Serverless两种开发方式将会共存,并且互相组合、渗透。例如,一些云服务商推出了Serverless容器服务的概念和产品形态,Azure Function也可以基于Kubernetes运行。无论发展过程如何,Serverless将会成为未来云时代默认的计算范式。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
22天前
|
运维 监控 Serverless
揭秘云计算中的Serverless架构:优势、挑战与实践
揭秘云计算中的Serverless架构:优势、挑战与实践
|
2天前
|
Serverless 开发工具 开发者
活动实践 | 西游再现,函数计算一键部署 Flux 超写实文生图模型部署
这些图片展示了阿里巴巴云开发者生态的多个方面,包括开发工具、技术文档、社区交流、培训认证等内容,旨在为开发者提供全方位的支持和服务。
|
2天前
|
存储 弹性计算 关系型数据库
活动实践 | 告别资源瓶颈,函数计算驱动多媒体文件处理测评
本方案介绍了一种高效处理文件的方法,适用于企业办公和社交媒体应用。通过阿里云的函数计算、对象存储OSS和轻量消息队列,实现文件的异步处理,如格式转换和水印添加,有效减轻了核心应用的负担,提高了业务稳定性和资源利用率。方案包括云服务器ECS、云数据库RDS、OSS存储等组件,支持快速部署和资源清理。
|
13天前
|
监控 Serverless 云计算
探索Serverless架构:开发实践与优化策略
本文深入探讨了Serverless架构的核心概念、开发实践及优化策略。Serverless让开发者无需管理服务器即可运行代码,具有成本效益、高可扩展性和提升开发效率等优势。文章还详细介绍了函数设计、安全性、监控及性能和成本优化的最佳实践。
|
18天前
|
弹性计算 算法 搜索推荐
活动实践 | 通过函数计算部署ComfyUI以实现一个AIGC图像生成系统
ComfyUI是基于节点工作流稳定扩散算法的新一代WebUI,支持高质量图像生成。用户可通过阿里云函数计算快速部署ComfyUI应用模板,实现个性化定制与高效服务。首次生成图像因冷启动需稍长时间,之后将显著加速。此外,ComfyUI允许自定义模型和插件,满足多样化创作需求。
|
17天前
|
关系型数据库 Serverless 分布式数据库
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益。用户无需预配高固定资源,仅需为实际使用付费,有效应对流量突变,降低总体成本。示例代码展示了基本数据库操作,强调了合理规划、监控评估及结合其他云服务的重要性,助力企业数字化转型。
25 6
|
18天前
|
弹性计算 自然语言处理 搜索推荐
活动实践 | 基于函数计算部署GPT-Sovits模型实现语音生成
通过阿里云函数计算部署GPT-Sovits模型,可快速实现个性化声音的文本转语音服务。仅需少量声音样本,即可生成高度仿真的语音。用户无需关注服务器维护与环境配置,享受按量付费及弹性伸缩的优势,轻松部署并体验高质量的语音合成服务。
|
2月前
|
存储 运维 监控
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
本文解析了Elasticsearch Serverless在智能日志分析领域的关键技术、优势及应用价值。
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
|
1月前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
63 1
|
2月前
|
缓存 前端开发 Serverless
前端技术新趋势:从PWA到Serverless架构
【10月更文挑战第1天】前端技术新趋势:从PWA到Serverless架构
53 3

热门文章

最新文章

相关产品

  • 函数计算