Serverless,引领云计算下一个阶段
摘要:Serverless将是微服务的“封顶之作”,也是推动应用现代化的基石。
本文分享自华为云社区《【深入浅出,Paas之路】华为云.云享专家曹宗南: Serverless,引领云计算下一个阶段》,作者: 我们都是云专家 。
2009 年,伯克利以其独特的视角发布了一篇文献,正式定义了云计算。自此,千行百业的 IT 基础设施开启上云之路。
2019年,伯克利在《Cloud Programming Simplified》预言:
“Serverless计算将会成为云时代默认的计算范式,并取代Serverful(传统云)计算模式。”
2009-2019年,互联网技术飞速发展。在这期间,出于对计算机技术的兴趣,曹宗南大学期间选择了计算机专业,之后便开启了他的技术开发生涯。
只要对开发有所了解,都知道程序员和开源是密不可分的,曹宗南亦是如此。毕业之后的一次项目中遇到数据库开发相关的瓶颈,他在经过一番查询,发现开源项目分布式数据库中间件Mycat能够完美的解决遇到的问题。他表示,Mycat在使用的过程中,后端可以挂接N个普通的MySQL数据库,数据可以按照多种规则进行分布,对外表现的却像一个MySQL实例一样来使用,业务代码不需要做大的改动。

自此,曹宗南便对MySQL产生了极大的兴趣,逐渐的也从使用者到开源的贡献者。陆续给Mycat贡献了多数据库后端支持、动态平滑扩容、分片算法、压缩协议等多个核心特性,还参与Mycat线下技术峰会的演讲。“对Mycat源码也熟悉的像自己的掌纹一样清楚。”曹宗南说道。
触摸新技术时代的网红Serverless
在谈及现在的工作内容中,曹宗南提到了Serverless技术。正如开篇所提到伯克利在《Cloud Programming Simplified》中的预言,Serverless将成为云计算的下一代默认计算范式。
曹宗南解释道,Serverless架构是在微服务架构基础上的进一步延伸,按照业界通常的定义,Serverless = FaaS(Function as a Service) + BaaS(Backend as a Service)。相比微服务,FaaS将资源调度的粒度缩小到函数,针对无状态、短时处理任务,通过函数式编程方式,进一步降低了应用开发门槛,缩短了应用上线周期。
为了更好的便于理解,曹宗南从三个典型场景,解读了Serverless架构所具有的IT资源可根据需求弹性伸缩的特点。

场景一:Web类应用。典型的应用有小程序后端、Web后端、三方服务商对接、前端BFF等。这类应用使用函数编程可以极大简化开发流程,能够做到小时级交付;
场景二:IoT、媒体处理类应用,如实时的图片处理、实时的数据流处理、IoT的事件处理等。这是Serverless最典型的一类应用,特点是事件驱动+计算胶水层,计算胶水层的逻辑通过函数来实现,以事件驱动的方式执行服务,按需供给,开发者无需关注业务波峰波谷,节省闲时成本,最终降低运维的成本;
场景三:AI处理应用,如视频直播、AI推理、人脸识别、车辆识别等,这类应用的特征是基于各行各业的业务智能化,通常无法预知流量大小,需要基础设施能够做到底层资源无感,自动的快速弹缩而不影响业务层的处理。
随着在Serverless技术的研究和实践过程中发现,Serverless作为云计算下半场的计算范式,需要解决通用应用开发、原有应用系统无缝对接、支持异构硬件等问题,并且有完备的工具链、云服务,才能让更多的开发者享受Serverless带来的红利。
华为云FunctionGraph开启Serverless新时代
在华为全联接2021上,华为公司高级副总裁、华为云CEO、消费者云服务总裁张平安重磅发布了华为云FunctionGraph函数计算服务。
FunctionGraph是一款带编排能力的函数计算服务,提供了界面化管理、一站式的函数开发上线功能,支持6大类语言、支持10+类的函数触发器类型;拥有丰富的触发器类型,通过事件触发集成多种云服务,满足不同场景需求;根据请求的并发数量自动调度资源运行函数,实现按需极速弹性;函数运行实例出现异常,系统会启动新的实例处理后续的请求,实现秒级故障自愈。
曹宗南作为华为云FunctionGraph首席架构师,全程参与了FunctionGraph 2.0全新架构的设计和研发。针对FunctionGraph 2.0全新架构,他从5个特性做了诠释。
• 特性1:丰富的函数开发语言及触发方式让设计更灵活

支持Python、Java、Node.js、Go等常见的编程语言,也支持容器镜像和自定义运行时。函数调用支持同步和异步两种方式,最长支持12小时,可满足长时间任务的需求,大大突破传统Serverless的适用场景。
• 特性2:可视化拖拽式函数流支持编排复杂业务场景

支持通过图形化拖拽方式进行函数编排,支持并行分支、条件分支、子流程、循环、异常处理等,可以满足多函数场景下的快速编排需求。
• 特性3:统一插件支持云上和云下的开发与调试

如何对函数进行调试作为Serverless场景的一个难点,华为云针对云上和云下两个场景都提供了解决方案,而且作为业界首家支持多函数调试能力。
• 特性4:Http函数让WEB服务近乎0成本改造,享受Serverless优势能力

微服务和函数在未来几年会是一个共存的形态,当前存在着大量微服务应用,如何高效的支撑其Serverless化,让现有微服务快速享用到Serverless的优势能力,是一个待解决的问题。
针对Web服务,华为云推出API网关加FunctionGraph的Http函数方案,用户只需把原有的Web Server代码打包为一个Http 函数,即可完成Serverless化改造。该方案价值体现在多语言WEB框架支持方面,例如:Java - Spring Boot,Nodejs - Express等框架,这样对于开发的应用通过极小修改就是能完成Serverless 函数化改造。开发人员可以继续使用熟悉的开发框架和测试工具,降低开发人员学习负担。而且,改造后也无需额外的运维,简单配置即可实现100ms级自动弹性和灰度升级。
• 特性5:函数支持在运行时动态指定资源,灵活调度节省成本

图片压缩、水印处理、文档转换、视频转码是典型的事件触发,波峰波谷明显的场景,越来越多地使用Serverless 函数来开发业务。以视频转码为例,典型的处理流程如下:

视频文件的大小从MB到GB,不同编码格式和分辨率对转码需要的计算资源要求差别很大,为保证转码函数的性能,通常配置一个很大的资源规格,但是在低分辨率的(例如短视频)场景下,会造成资源浪费。Functiongraph提供了一种方案支持函数执行时可根据业务需要动态指定资源规格,最小化资源占用,可以给用户带来更精细的资源控制,更低的成本开销。
目前,在华为云Serverless场景落地方面,已全面实现了在移动端的应用实践。曹宗南举例道,2020年新型肺炎疫情牵动着全球人民的心,基于Serverless服务,华为负一屏快速上线“新型肺炎疫情实时播报”,实现了一天上线,资源利用率提升50%。
在视频处理应用场景中,华为视频前端基于函数开发,实现前端开发和后端开发解耦,前端界面逻辑变化不需要后端参与,开发上线效率提升100%以上,大幅减少前后端团队沟通协同,效率提升50%以上。
在海外的合作伙伴应用中,阿联酋海关基于Functiongraph的弹性收缩轻松应对业务波峰波谷,TCO成本较传统方案降低30%以上,较传统开发模式上线周期减少50%(6个月->3个月)
最后
事实上,目前的Serverless发展已经远远超出了预期。对于云计算应用架构来说,“无服务器”时代的Serverless技术必将引领云计算下一个阶段。正如华为2012实验室分布式与并行软件Lab主任谭焜博士所说,Serverless将是微服务的“封顶之作”,也是推动应用现代化的基石。
Serverless,引领云计算下一个阶段的更多相关文章
- 告别C#,进入了下一个阶段的学习啦
嘿嘿,今天我们结束了C#的基础的学习,开始啦第二个阶段的学习,就是对SQL Server的学习.今天又是一个周一,又是一个新的开始,感觉我们都是一周一周的计算,而不是每天到这个点就是告别了今天的生活啦 ...
- 为什么下一个十年的主战场在 Serverless?
作者 | 不瞋 阿里云 Serverless 负责人 "唯有超越,才能让我们走下去." 这是不瞋在阿里的第十年.从 2010 年加入阿里云,不瞋参与了阿里云飞天分布式系统的研发,历 ...
- ZOHO的下一个25年:用心为企业服务
来源:中国软件网 作者:海策 在25周年会上,ZOHO大中华区总裁侯康宁先生豪情壮志,"25岁的ZOHO,已经成长为非典型一线大厂." 1996年,ZOHO成立.截止2021年,Z ...
- 下一个时代的发展架构竟然是它!FaaaaaaaaS到底是个啥?
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云serverless团队发表于云+社区专栏 导读:2018年7月6 - 7日,一年一度的技术圈盛会ArchSummit全球架构师 ...
- 云计算下PAAS的解析一
云计算下PAAS的解析一 PaaS是Platform-as-a-Service的缩写,意思是平台即服务. 把服务器平台作为一种服务提供的商业模式.通过网络进行程序提供的服务称之为SaaS( ...
- VR就是下一个浪潮_2016 (GMGC) 全球移动游戏大会观后感
"VR就是下一个浪潮" --2016 (GMGC) 全球移动游戏大会观后感 早在2014年参会Unity举办的一年一度的金立方盛典大会,就初次体验了VR头盔设备,于是印象深刻 ...
- 引爆公式让你的APP游戏成为下一个“爆款”
在2014年的移动互联网领域,“魔漫相机”是一款值得关注的产品.虽然没有腾讯.百度或阿里巴巴等大资源的支持,但是这款应用一上线就在中国市场发展迅猛,日下载量超过80万次,最高一日达300万次.类似的成 ...
- 分析RAC下一个SPFILE整合的三篇文章的文件更改
大约RAC下一个spfile分析_整理在_2014.4.17 说明:文章来源于网络 第一篇:RAC下SPFILE文件改动 在RAC下spfile位置的改动与单节点环境不全然一致,有些地方须要特别注意, ...
- Token:共识的下一个100年,区块链技术是无可阻挡的文明进程
Token:共识的下一个100年,区块链技术是无可阻挡的文明进程.很少有人意识到,区块链的应用——Token可能是近100年来最伟大的制度创新,超越股份制,并将是『债券』之后最重要最主流的交易品种,没 ...
- ReactiveCocoa 迎接下一个更加美好的世界
什么是ReactiveCocoa 如果你有看Github的Trending Objective-C榜单,那你肯定是见过ReactiveCocoa了.如果你在weibo上关注唐巧.onevcat等国内一 ...
随机推荐
- java——1.变量和数据类型
变量和数据类型 字符.字节.位之间的关系 1.字符:人类可以阅读的文本内容最小单位 字符编码:utf-8,gbk 2.字节:1字符=2字节:1字符=4字节 3.位:1字节=8位 位指的是二进制位, ...
- STL unordered类容器浅谈
一个代码: #include<cstdio> #include<vector> #include<functional> #include<algorithm ...
- 微信开放平台微信公众平台微信小程序openid合法性验证
我们获得了微信用户的openid,往往要把openid保存到服务器中的数据库里.有些场景需要检验openid的合法性,官方给了相应的验证接口如下: https://api.weixin.qq.com/ ...
- 【uniapp】【外包杯】学习笔记day08 | 初具雏形+后期任务
总的来说就是BBQ了,基本上前后端都有了阶段性成果,但是问题在于是否符合我们题目的要求,所以也需要进行很详细的改动,其次就是小程序的支付功能以及登录功能1还有具体配置还是不太行. 然后下载的sprin ...
- GOF23--23种设计模式(一)
一.什么是设计模式 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决一系列特定问题的套路. 它不是语法规定,而是一套用来提高代码复用性,可读性,可维护性,稳健性,安全性的 ...
- lua完整学习笔记
lua注释 -- 单行注释 --[[ 多行注释 ]]-- lua数据结构 nil 无效值与Java的Null类似,但是在条件表示中是false boolean 布尔值,tu ...
- [AGC030D] Inversion Sum
Problem Statement You are given an integer sequence of length $N$: $A_1,A_2,...,A_N$. Let us perform ...
- 【YOLOv5】实现扑克牌的点数识别
前言 其实年初的时候,我也跟着别人的源码,用 Tensoflow 实现过扑克牌的目标检测.虽然也通过博文的方式记录了,但是那个项目使用的 TF 版本比较旧,自身对 TF 并不熟.后期如果说要升级或修改 ...
- 13 HTTP传输大文件的方法
目录 如何在有限的带宽下高效快捷传输大文件? 数据压缩 分块传输 范围请求 多段数据 如何在有限的带宽下高效快捷传输大文件? 数据压缩 分块传输 范围请求 多段数据 数据压缩 思路:把大文件整体变小 ...
- .NET微信网页开发之通过UnionID机制解决多应用用户帐号统一问题
背景 随着公司微信相关业务场景的不断拓展,从最初的一个微信移动应用.然后发展成微信公众号应用.然后又有了微信小程序应用.但是随着应用的拓展,如何保证相同用户的微信用户在不同应用中登录的同一个账号呢?今 ...