摘要:以“原生蓄力,云领未来”为主题的2021年云原生产业大会上,华为云Serverless函数服务产品经理分享了“华为云Serverless函数服务,让开发上云极简高效”的主题演讲。

5月26日,以“原生蓄力,云领未来”为主题的2021年云原生产业大会在北京启幕,华为云Serverless函数工作流(FunctionGraph)通过了基础能力要求、平台可观测能力、服务性能、服务安全和服务计量准确性等五大类、20+项测试,以稳定、可靠、高效的服务能力荣获可信云函数即服务能力认证。同时,在云原生2.0分论坛环节,华为云Serverless函数服务产品经理分享了“华为云Serverless函数服务,让开发上云极简高效”的主题演讲。

华为云FunctionGraph 荣获可信云函数即服务能力认证

Serverless作为云原生技术发展重要力量之一,开启了应用架构的“无服务器”时代,为架构设计、开发者编程带来了全新的思路。Serverless技术的兴起,极大简化了云计算的编程模型,让开发人员无需关注服务器,聚焦应用创新。

应用架构不断演进 Serverless 2.0 全方位承载高效应用开发

应用复杂度的提升和云计算的发展不断推动应用架构、编程方式的持续演进。从最初的单体架构前期开发简单、快速,随着系统规模增大,因为架构耦合导致的无法独立升级、演进等问题持续放大。架构开始朝着微服务演进并逐渐成为主流,应用按照微服务粒度进行拆分,接口标准化,环境标准化,可以按天或周进行升级发布,帮助应用实现了快速迭代。服务架构给开发者带来了便利,但也带来了复杂度,用户依然需要关注服务器配置、后端服务管等运维工作,无法享受云带来的最大便利。

Serverless架构是在微服务架构基础上的进一步延伸,按照业界通常的定义,Serverless = FaaS(Function as a Service) + BaaS(Backend as a Service)。相比微服务,FaaS将资源调度的粒度缩小到函数,针对无状态、短时处理任务,通过函数式编程方式,进一步降低了应用开发门槛,缩短了应用上线周期。 但当前的FaaS,通常不适合用于长时任务、大数据处理等工作,函数间通信时延性能较低,被称之为Serverless 1.0阶段。

到了Serverless 2.0阶段,将在此基础上大大扩展其应用范围,全场景支持各种应用负载。其典型特征包括:可以支持长时运行的任务;内置数据系统,可以支持有状态函数,支持大数据处理;内置通信系统,函数间可以通过总线进行高性能通信。

华为云Serverless函数工作流FunctionGraph,让开发聚焦应用创新

华为云在Serverless技术的研究和实践过程中提出: Serverless作为云计算下半场的计算范式,需要解决通用应用开发、原有应用系统无缝对接、支持异构硬件等问题,并且有完备的工具链、云服务,才能让更多的开发者享受Serverless带来的红利。

华为云Serverless函数工作流FunctionGraph是一款带编排能力的函数计算服务,提供了界面化管理、一站式的函数开发上线功能,支持6大类语言、支持10+类的函数触发器类型;拥有丰富的触发器类型,通过事件触发集成多种云服务,满足不同场景需求;根据请求的并发数量自动调度资源运行函数,实现按需极速弹性;函数运行实例出现异常,系统会启动新的实例处理后续的请求,实现秒级故障自愈。

基于华为云Serverless的多场景应用与实践落地

Serverless架构所具有的IT资源可根据需求弹性伸缩的特点,从场景上大致可分为以下几类:

类型一:单用途无状态类,典型的应用有小程序后端、Web后端、三方服务商对接等。这类应用使用函数编程可以极大简化开发流程,做到小时级交付。

类型二:事件驱动类,如实时的图片处理、实时的数据流处理、IoT的事件处理等。这是Serverless最典型的一类应用,特点是事件驱动+计算胶水层,计算胶水层的逻辑通过函数来实现。

类型三:弹性伸缩类应用,如视频转码、视频直播、热点事件推送等,这类应用的特征是通常无法预知流量大小,需要基础设施能够做到底层资源无感,自动的快速弹缩而不影响业务层的处理。

在华为云Serverless场景落地方面,已全面实现了在移动端的应用实践。比如:在2020年疫情期间,华为负一屏基于Serverless架构实现了“新型肺炎疫情实时播报”应用一天上线,极大提升了应用开发的敏捷性。

另外一个典型应用场景是关于视频处理中的Serverless实践,此场景中同一个视频直播流里需要插入多个AI特效渲染函数,函数间需要传递大量数据,在现有函数架构下需要经过多次外部存储读写,而通用采用状态内置的函数技术,将一次读写的访问耗时从200ms降低到5ms,从而满足端到端业务时延要求。

在2019年伯克利发布的《Cloud Programming Simplified》展望中,提出Serverless将成为云计算的下一代默认计算范式。 对于云计算应用架构来说,“无服务器”时代的Serverless技术必将引领云计算下一个阶段,华为云亦将聚焦客户价值,聚力云原生2.0 Serverless解决方案,大幕开启,创造无限可能!

点击关注,第一时间了解华为云新鲜技术~

应用架构步入“无服务器”时代 Serverless技术迎来新发展的更多相关文章

  1. 5G 时代,云计算迎来新风口

    云计算是对传统IT模式从底层硬件到业务模式的颠覆,传统IT市场具备万亿级市场空间,目前云计算收入占IT支出占比尚小,渗透率较低,未来空间较大. 短期受到宏观经济等因素影响,云巨头资本开支增速有所波动, ...

  2. 5分钟Serverless实践:构建无服务器的图片分类系统

    前言 在过去“5分钟Serverless实践”系列文章中,我们介绍了如何构建无服务器API和Web应用,从本质上来说,它们都属于基于APIG触发器对外提供一个无服务器API的场景.现在本文将介绍一种新 ...

  3. 开放下载 | 《Knative 云原生应用开发指南》开启云原生时代 Serverless 之门

    点击下载<Knative 云原生应用开发指南> 自 2018 年 Knative 项目开源后,就得到了广大开发者的密切关注.Knative 在 Kubernetes 之上提供了一套完整的应 ...

  4. 由浅入深SCF无服务器云函数实践

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:陈杰,腾讯云架构平台部技术专家 近年来,互联网服务从一开始的物理服务器托管,虚拟机,容器,发展到现在的云函数,逐步无服务器化,如下表所示. ...

  5. 无服务器架构(Faas/Serverless)

    摘要无服务器架构(Faas/Serverless),是软件架构领域的热门话题. AWS,Google Cloud和Azure - 在无服务器上投入了大量资金,已经在看到了大量专门针对Faas/Serv ...

  6. Serverless无服务器架构详解

    本文对Serverless架构的基础概念.具体产品.应用场景.工作原理进行详细解析. 基础概念 Serverless: 无服务器架构,即在无需管理服务器等底层资源的情况下完成应用的开发和运行,是云原生 ...

  7. 你有了解过无服务器架构(Serverless)数据库吗?

    你有了解过无服务器架构(Serverless)数据库吗? 什么是Serverless呢?简单理解,Serverless 分为  FaaS 和 BaaS 两个部分,其中 FaaS 指的是函数即服务,Ba ...

  8. 专访阿里云 Serverless 负责人:无服务器不会让后端失业

    2012 年,云基础设施服务提供商 Iron.io 的副总裁 Ken 谈到软件开发行业的未来,首次提出了 Serverless 的概念,为云中运行的应用程序描述了一种全新的系统体系架构.此后,以 AW ...

  9. 5分钟Serverless实践 | 构建无服务器的敏感词过滤后端系统

    前言 在上一篇“5分钟Serverless实践”系列文章中,我们介绍了什么是Serverless,以及如何构建一个无服务器的图片鉴黄Web应用,本文将延续这个话题,以敏感词过滤为例,介绍如何构建一个无 ...

  10. 5分钟Serverless实践 | 构建无服务器图片鉴黄Web应用

    Serverless是什么 Serverless中文译为“无服务器”,最早可以追溯到2012年Ken Fromm发表的<Why The Future Of Software And Apps I ...

随机推荐

  1. Rustlings通关记录与题解

    2023年6月19日决定对rust做一个重新的梳理,整理今年4月份做完的rustlings,根据自己的理解来写一份题解,记录在此. 周折很久,因为中途经历了推免的各种麻烦事,以及选择数据库作为未来研究 ...

  2. 安装了less后仍然报错:Error: Cannot find module 'less'

    结果是命令有点问题,正常来说是用下面的: npm i less –save-dev-g 然后可以正常启动了: --------------------------------------------- ...

  3. Vue一些进阶知识-基于官网(笔记)

    前言 主要根据vue官网文档完成.对一些平时可能会用到的知识.组件进行收集,为的是对vue的可用性有一个大致的了解.博客中的组件介绍可能只涉及简单用法,完整用法还是以官网为准. 基础 启动过程: 主文 ...

  4. 手把手教你如何扩展(破解)mybatisplus的sql生成

    mybatisplus 的常用CRUD方法 众所周知,mybatisplus提供了强大的代码生成能力,他默认生成的常用的CRUD方法(例如插入.更新.删除.查询等)的定义,能够帮助我们节省很多体力劳动 ...

  5. [NOIP 考前备战] 线段树刷题

    备战线段树 T1 AcWing .1275. 最大数 查询最大值 + 单点修改 #include <bits/stdc++.h> #define int long long using n ...

  6. python进程状态

    思考 为啥我VS编辑器里一直在import中报错,但是写到笔记本里就可以直接用 之前俄罗斯方块也是同样问题 安装 pip install transitions 代码 from transitions ...

  7. MySQL-utf8 和 utf8mb4 区别?

    版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin 1.首先说明一下,版本问题.MySQL8.0之后默认:utf8mb4,而8.0之前默认:latin 2.utf8 和 ...

  8. linux防火墙使用及配置

    Linux防火墙使用及配置 介绍 防火墙是网络安全的重要组成部分,它帮助保护服务器和计算机免受未经授权访问.恶意攻击和各种网络威胁.在Linux系统中,有一些工具和技术可用于设置和配置防火墙,其中最常 ...

  9. 如何在 PyQt 中实现异步数据库请求

    需求 开发软件的时候不可避免要和数据库发生交互,但是有些 SQL 请求非常耗时,如果在主线程中发送请求,可能会造成界面卡顿.这篇博客将会介绍一种让数据库请求变得和前端的 ajax 请求一样简单,且不会 ...

  10. H5自适应

    一.设置html的font-size,使用rem作为单位 假设设计稿宽度750px,屏幕宽高750px, 1.1rem=屏幕宽度/设计稿宽度*100px,适合用px表示宽度 1rem=100px re ...