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将会成为未来云时代默认的计算范式。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
4月前
|
人工智能 Serverless API
MCP Server 之旅第 4 站: 长连接闲置计费最高降低87%成本的技术内幕
阿里云函数计算(FC)提供事件驱动的全托管计算服务,支持 MCP Server 场景优化。通过 [MCP Runtime](https://mp.weixin.qq.com/s/_DSMRovpr12kkiQUYDtAPA),实现 Stdio MCP Server 一键托管,并借助亲和性调度解决 Session 保持问题。针对 MCP Server 的稀疏调用特性,函数计算引入长连接闲置计费机制,在毫秒级计费基础上,显著降低资源闲置成本(最高可达87%)。用户可通过控制台或 API 开启该功能,Websocket 长请求场景亦默认支持。此方案有效提升资源利用率,为用户提供灵活、经济的计算服务。
|
9月前
|
运维 Cloud Native Serverless
Serverless Argo Workflows大规模计算工作流平台荣获信通院“云原生技术创新标杆案例”
2024年12月24日,阿里云Serverless Argo Workflows大规模计算工作流平台荣获由中国信息通信研究院颁发的「云原生技术创新案例」奖。
|
9月前
|
存储 运维 监控
Elasticsearch Serverless高性价比智能时序分析关键技术解读
本篇演讲由阿里云1s团队的贾新寓讲解,主题为高性价比、智能日志更新关键技术。内容分为四部分:回顾日志场景痛点、介绍四大关键能力(开箱即用、高性能低成本、按量付费、智能调度免运维)、解读关键技术(如读写分离架构、ES内核优化等),并演示如何快速接入Serverless产品。通过这些技术,显著提升性能、降低成本,帮助用户实现高效日志管理。
|
11月前
|
存储 运维 监控
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
本文解析了Elasticsearch Serverless在智能日志分析领域的关键技术、优势及应用价值。
566 8
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
|
10月前
|
关系型数据库 Serverless 分布式数据库
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益。用户无需预配高固定资源,仅需为实际使用付费,有效应对流量突变,降低总体成本。示例代码展示了基本数据库操作,强调了合理规划、监控评估及结合其他云服务的重要性,助力企业数字化转型。
252 6
|
10月前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
383 1
|
11月前
|
缓存 前端开发 Serverless
前端技术新趋势:从PWA到Serverless架构
【10月更文挑战第1天】前端技术新趋势:从PWA到Serverless架构
147 3
|
运维 Cloud Native 开发者
云原生技术演进:从微服务到无服务器的旅程
【8月更文挑战第20天】在数字化时代的浪潮中,云原生技术如同一艘航船,承载着企业转型的梦想与挑战。本文将深入探讨云原生技术的发展路径,从微服务的兴起到无服务器架构的革新,揭示这一技术演进背后的逻辑与动力。通过分析云原生技术的优势、面临的挑战以及未来的发展趋势,我们将描绘出一幅云原生技术演进的宏伟蓝图。
|
人工智能 运维 Cloud Native
云原生技术实践营 · 深圳站——Serverless + AI 专场邀您参会!
云原生技术实践营深圳站聚焦Serverless+AI,6月21日探索技术结合新思路,助力降低GPU成本,简化开发运维。限额80人,报名审核制,活动涵盖Serverless趋势、AIGC应用、AI算力优化等议题,还有实操体验与现场抽奖。
云原生技术实践营 · 深圳站——Serverless + AI 专场邀您参会!
|
Cloud Native Serverless 云计算
云原生时代的技术演进:从微服务到Serverless
在数字化转型的浪潮中,云原生技术正成为推动企业IT架构现代化的重要力量。本文将探讨云原生技术的关键组成部分—微服务与Serverless架构—如何助力企业实现敏捷开发和高效运维。通过深入分析这两种架构模式的优势与挑战,我们旨在为读者揭示云原生环境下的最佳实践和未来发展趋势。

相关产品

  • 函数计算