应用架构步入“无服务器”时代 Serverless技术迎来新发展
摘要:以“原生蓄力,云领未来”为主题的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技术迎来新发展的更多相关文章
- 5G 时代,云计算迎来新风口
云计算是对传统IT模式从底层硬件到业务模式的颠覆,传统IT市场具备万亿级市场空间,目前云计算收入占IT支出占比尚小,渗透率较低,未来空间较大. 短期受到宏观经济等因素影响,云巨头资本开支增速有所波动, ...
- 5分钟Serverless实践:构建无服务器的图片分类系统
前言 在过去“5分钟Serverless实践”系列文章中,我们介绍了如何构建无服务器API和Web应用,从本质上来说,它们都属于基于APIG触发器对外提供一个无服务器API的场景.现在本文将介绍一种新 ...
- 开放下载 | 《Knative 云原生应用开发指南》开启云原生时代 Serverless 之门
点击下载<Knative 云原生应用开发指南> 自 2018 年 Knative 项目开源后,就得到了广大开发者的密切关注.Knative 在 Kubernetes 之上提供了一套完整的应 ...
- 由浅入深SCF无服务器云函数实践
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:陈杰,腾讯云架构平台部技术专家 近年来,互联网服务从一开始的物理服务器托管,虚拟机,容器,发展到现在的云函数,逐步无服务器化,如下表所示. ...
- 无服务器架构(Faas/Serverless)
摘要无服务器架构(Faas/Serverless),是软件架构领域的热门话题. AWS,Google Cloud和Azure - 在无服务器上投入了大量资金,已经在看到了大量专门针对Faas/Serv ...
- Serverless无服务器架构详解
本文对Serverless架构的基础概念.具体产品.应用场景.工作原理进行详细解析. 基础概念 Serverless: 无服务器架构,即在无需管理服务器等底层资源的情况下完成应用的开发和运行,是云原生 ...
- 你有了解过无服务器架构(Serverless)数据库吗?
你有了解过无服务器架构(Serverless)数据库吗? 什么是Serverless呢?简单理解,Serverless 分为 FaaS 和 BaaS 两个部分,其中 FaaS 指的是函数即服务,Ba ...
- 专访阿里云 Serverless 负责人:无服务器不会让后端失业
2012 年,云基础设施服务提供商 Iron.io 的副总裁 Ken 谈到软件开发行业的未来,首次提出了 Serverless 的概念,为云中运行的应用程序描述了一种全新的系统体系架构.此后,以 AW ...
- 5分钟Serverless实践 | 构建无服务器的敏感词过滤后端系统
前言 在上一篇“5分钟Serverless实践”系列文章中,我们介绍了什么是Serverless,以及如何构建一个无服务器的图片鉴黄Web应用,本文将延续这个话题,以敏感词过滤为例,介绍如何构建一个无 ...
- 5分钟Serverless实践 | 构建无服务器图片鉴黄Web应用
Serverless是什么 Serverless中文译为“无服务器”,最早可以追溯到2012年Ken Fromm发表的<Why The Future Of Software And Apps I ...
随机推荐
- C# ref, in, out关键字
写在前面:大内老A的这篇"老生常谈:值类型VS引用类型"放在微信收藏里好几个月了,终于趁着要讲JAVA传参机制的时候仔细地按照这篇博客,自己写代码跑一下,对C#的传参,ref,in ...
- Java 中 field 和 variable 区别及相关术语解释(转)
https://www.jianshu.com/p/08e2d85d3ce9 这是一个以前从没仔细想过的问题--最近在阅读Java Puzzlers,发现其大量使用了"域"这个词, ...
- Ansible自动化部署工具-role模式安装filebeat实际案例分析
大家好,我是蓝胖子,前面一节我简单的讲了讲Ansible的架构和编排任务的语法,可以发现,通过playbook方式编排任务时,能够将任务文档化,但是在面对比较复杂且不同业务的任务编排时,维护playb ...
- CTA策略介绍
CTA策略更多的时候是一种投资方法,更准确的说,主要投资于衍生品的.比较系统化规则化的投资方法都可以称作CTA投资,它并不拘泥于量化或是主动,其具有相当的生命力,会长期存在. CTA策略的收入来源是多 ...
- WinForm遍历控件
1 foreach (Control c in this.Controls) 2 { 3 if (c is TextBox) 4 ((TextBox)c).Text = "1111" ...
- lua面向对象(类)和lua协同线程与协同函数、Lua文件I/O
-- create a class Animal={name = "no_name" , age=0 } function Animal:bark(voice) print(sel ...
- vertx的学习总结2
一.什么是verticle verticle是vertx的基本单元,其作用就是封装用于处理事件的技术功能单元 (如果不能理解,到后面的实战就可以理解了) 二.写一个verticle 1. 引入依赖( ...
- 【案例教程】LoadRunner订票系统WebTours部署
题目: 使用LoadRunner自带的测试项目--航班订票管理系统WebTours,网站地址为:http://127.0.0.1:1080/WebTours/ (用户名为jojo,密码为bean),完 ...
- springBoot——整合junit
spring整合junit复习 springBoot整合junit package com.example.springboot_04; import com.example.springboot_0 ...
- Scrapy-settings.py常规配置
# Scrapy settings for scrapy_demo project # # For simplicity, this file contains only settings consi ...