请选择 进入手机版 | 继续访问电脑版
 
百度史南胜:百度Serverless架构揭秘与应用实践
VIEW CONTENTS
SOSSEO博客 网站首页 行业新闻 查看内容

百度史南胜:百度Serverless架构揭秘与应用实践

2021-9-23 17:38| 发布者: admin| 查看: 166| 评论: 0
摘要: 备受关注的Distributed Cloud|2021环球分布式云大会·北京站于4月7日谨慎召开,分布式云是2021年环球十大紧张战略科技趋势,使用分布式架构技术创新,毗连边缘节点、私有云和公有云的IT资源构成分布式混合云。环球分 ...

备受关注的Distributed Cloud|2021环球分布式云大会·北京站于4月7日谨慎召开,分布式云是2021年环球十大紧张战略科技趋势,使用分布式架构技术创新,毗连边缘节点、私有云和公有云的IT资源构成分布式混合云。

环球分布式云同盟力图打造分布式云计算旗舰级技术盛会,本次大会共设有分布式云报告会、边缘计算论坛、Serverless云原生论坛、分布式数据库论坛、分布式存储论坛,跨境SD-WAN咨询会等六大论坛,围绕分布式云、分布式算力、Serverless、云原生、HTAP、IPFS等技术与实践睁开。团结阿里云、腾讯云、百度云、金山云等全栈技术引领者与环球分布式云同盟携手打造这场技术饕餮盛宴。

在4月7日下战书举行的分布式云报告会上,百度函数计算平台业务负责人 史南胜发表了题为《百度Serverless架构揭秘与应用实践》的主题演讲。

01 为什么引入SERVERLESS

为什么要做Serverless?Serverless能给我们带来什么?为什么要引入Serverless?我们现在服务化不是做的挺好吗?PAAS平台不是也做得挺好吗?为什么要用Serverless呢?对于全部的场景都实用降本增效一说吗?史南胜起首站在客户的角度发出了一连串的提问。

金融范畴、国有企业如许的范畴,对于资源的使用率上不拘末节,没有像中小型客户那样应用资源非常的谨小慎微,以是对于金融范畴,或者说一些对资源使用率要求不至于严苛的场景,紧张提供人效开发,让开发成本降低。对于中小型客户,尤其是两三个人创业的场景,比如小程序的开发者,必要思量到他们推向产品的市场的时间,以及业务布局的快速率,保举他走Serverless的场景,如许的场景可以快速的进步他的开发速率,以及降低运维的成本。

哪些场景合适,哪些场景不合适呢?史南胜表示,Serverless并不是解决方案,并不能短期内替换掉服务化,或者微服务化的技术,它也是在服务化或微服务化发展到肯定程度以后,基于容器计算的新技术。常常有客户问,我们怎么从一个单边应用,或者从一个微服务架构应用迁移到Serverless场景呢?并不是每个场景都可以或许迁移的。以是说必要区分一些场景,将一些合适的场景我们去探索。

史南胜分成三个部分解析这一标题:第一,变乱的触发处理。第二,数据处理计算。第三,应用后端服务。

在探索和应用的场景内里紧张包含像及时文件处理、图片裁剪添加水印,这种场景为什么得当呢?不是时时刻刻都有用户在上传图片,或者不是时时刻刻都有如许的变乱在处理,如许的场景是否通过函数计算和Serverless场景去解决?还有数据计算场景,比如说像物联网网关和P2P内里的计算等,应用后端服务现在大规模使用的是智能小程序的开发,让他们通过Serverless的场景快速将本身的技能通过函数计算平台可以或许快速的开发、上线,将产品推向市场,产生收益。如许的技能又可以在小度音箱上面去产生售卖和调用,在调用付出的时间会给创业者带来肯定的收益。

哪些场景不太得当呢?像耽误敏感高,对于稳固性级别很高的像交易场景、付出场景,还有检索场景,不太保举现在在现有的发展技术下去使用Serverless和函数计算的场景。

那么对于隐私如许的场景得当用Serverless的架构方案去解决吗?在这里通过相应的实践和证实,隐私不是考量Serverless架构合适和不合适的一个很紧张的因素,由于在任何的场景下都会去确保客户的隐私和数据(安全)标题。对于隐私高的场景,比如像金融范畴我们都会去做私有化的部署。

现在看Serverless从广义角度来讲,按功能分为FAAS和BAAS上面,常见的可以看到大家老生常谈的相对来说是比较狭义的概念,如许狭义的概念指的是FAAS上面,就是关注于业务场景的逻辑处理。而对于底层的存储、缓存和对象级别的存储来说,会依托于云上面的资源,或者本身本身的一些传统在微服务化下面的存储来行止理。

假如要做到真正的Serverless的架构方案,必要将FAAS和BAAS同时支持,如许支持以后才能真正做到高弹性、高可扩容/可伸缩的上风,才能真正做到降本增效,不然的话FAAS流量上来以后,后台的BAAS技术假如跟不上,如许的弹性扩缩容是必要受到寻衅的。但是今天史南胜紧张从狭义的场景来介绍FAAS的基础,通常讲Serverless场景的时间指的是函数计算。


02 百度的Serverless场景解决方案

百度提供了四个终端产品级的计算,为了满足客户和开发者,或者以及百度内部集团所使用的一些场景,包含CFC,在公有云上面面向中小客户,包括大型客户的部分场景;CFC-Stack紧张在私有化范畴专有云版同一的技术栈解决方案;CFC边缘计算的场景,紧张面向的是用户在加载比较快,对地域要求比较高的一些场景;EasyFaaS是百度的开源产品,这个开源产品是昨天(4月6日)夜里12点钟的时间恰恰百度审批通过,在百度上有开源源代码,包含了百度在函数计算范畴内里的核心引擎的代码部分,欢迎大家也可以跟我们一起共建。第五个解决方案是CBD,这是基于小程序,或者一站式的产品解决方案,可以支持开发者在小程序上面进行云开发、云调用和云存储。

百度颠末数年的打磨,在私有化和公有化范畴内里,将开源和公有、私有,以及面向百度其他内部云支持的产品打磨成同一的公共的底层函数服务支持,这个可以或许满足整个函数计算的编写、上线、开发和运营,在大部分场景下可以或许提供相应的技术支持,并且百度还开发相应的工作链,提供了相应的SDK和插件,以及运行时可以或许供定制化的业务团队做二次开发。

史南胜对百度函数计算的团体架构进行了介绍,基于整个云端实践进行触发,整个函数计算的触发场景包含很多种,此处枚举了6种,包括CDN、BOS、消息关照的触发,以及小度技能的触发,这些技能触发器都可以以同步或者异步的方式调用函数计算,如许的函数计算遵照CFC的租赁格式,而且跟AWS进行对标没有停滞。假如有客户在AWS上面去做的函数计算,也可以很方便的去做迁移和使用。右侧部分的设置服务,设置服务是离线管控模块,这组模块用来可以支持代码的管控、包的上传,以及包括相应的原数据的管理。

函数的触发服务是我们的一个关键任命模块,用来监听变乱的哀求、权限的管理、资源的调度申请、路由等等,资源的调度服务用来管控整个函数的运行资源池,函数的整个运行资源池是我们第二大核心部分,函数运行引擎就是刚才的开源紧张的代码模块,函数计算引擎提供了我们在运行代码生命周期的管理。用户的空间会按照我们在函数代码功能的实验和空间的大小会动态的调配相应的内存CPU占用空间。

左侧是做资源的开释,资源池的维护会通过相应的服务模块架构对资源进行管控。资源的调度服务就是用往复相应变乱触发服务,对整个资源池的管理。函数计算的核心就是基于变乱的处理调度,将用户的代码和函数的核心功能进办法态的加载空间容器,并且进办法态烧毁的过程。

史南胜就百度准备开源的一个函数引擎——EasyFaaS分三部分进行了介绍,这是一个轻量级运行相对来说比较快的函数计算服务引擎。

第一部分是产品功能,提供了核心的函数信息管理、代码包管理、版本管理、灰度发布,通过如许的本领满足了大部分场景下函数计算的核心诉求,用户拿到EasyFaaS就可以快速的去搭建一个基于百度函数计算引擎的计算平台,可以或许满足他在部分的业务场景下定制化的开发。如许的开发通过开源的方式可以或许让大家提交相应的功能,将这些功能可以或许共建起来;第二部分是哀求控制与容器调度;第三部分是容器与网络技术,进一步将容器的使用资源最大化,并且提供多元的运行池。

EasyFaaS开源的核心哀求模式中,函数在哀求的时间,冷启动是必要时间的,黄色的图标标识了整个变乱哀求以后过来的相应过程,可以支持用户本身自动的哀求,以及通过云端变乱触发的方式,原数据的管理对数据的代码包和信息权限验证进行管控,通过funclet模块进行二次容器初始化和管控。一个pod内里有三个容器,有container和runtime,此中runtime是用来加载多语言运行时的一些镜像环境,这些镜像和环境初始化以后它便退出了,以是核心部分是通过funclet管控资源,合理的调配函数计算本领。绿色的部分是热启动的,为了思量在高并发场景下可以或许支持业务场景的哀求,以是支持热加载的模式,热加载的模式现在可以做到1毫秒以内。

03 百度函数计算应用实践与履历介绍

我们基于如许的核心引擎,可以在哪些地方去落地?又产生了哪些履历和教训呢?史南胜紧张举了三个紧张的案例场景。

单体应用,或者微服务应用怎么迁入到Serverless?对于一些场景,比如说小程序场景通过API网关的模式,然后调度到百度智能云函数计算处理业务,并且发起相应的业务逻辑去调度相应的后端服务,可以将部分的业务代码迁移到函数计算平台。将原来核心的部分业务逻辑代码仍然以微服务如许的方式放在后端服务内里。假如面临中小型企业客户,本来在云上产生了相应的存储和计算资源,可以继续使用云数据库云缓存的方式使用,百度云上的资源可以一站式打通。

在微服务架构范畴,服务与服务之间除了IDC方式调用以外,函数计算方式可以通过黄色的箭头去发消息,可以支持和集成,可以提前加载到函数计算平台,以镜像的方式进行加载,这个可以让包降低很多。以是说消息队列可以监听完以后,百度函数计算的另一个板块可以进行相应。大家可以将百度函数计算的方式以微服务化的理念往复开发和运作,并且还可以将如许的处理方式上传到云存储上面去。

业务方行止理什么呢?他们只必要聚焦在业务逻辑处理,编写相应的代码,百度的代码和插件层面提供了很好的工具开发,业务方可以在web id,或者相应的代码id上面去开发,开发完了以后通过打包的方式,或者一站式插件集成的方式提交。对于复杂的场景,百度提供了编排方式,只必要编写Serverless的压缩文件就可以处理更复杂的分布式的业务处理逻辑。

这是一个比较典型的提供给一些相应的私有客户部署的本领,这个本领是用来做什么呢?是用来做整个大数据的处理,客户聚焦在中心这两部分,就是变乱触发器定义和函数计算逻辑的编写。百度支持通过流失数据和批量数据镜像挂载的方式,可以支持afs,并且可以支持消息队列流式数据的监听,通过如许的方式触发调起函数计算,实验业务,支持业务的逻辑计算,将相应的数据分发到其他的业务部门内里去。

用户基于百度的Serverless平台提交代码就可以定义变乱、设置信息了,如许带来的好处架构上面的变乱交给了平台方去做,业务平台上面的变乱交给了业务方去做。

第三个案例,可以通过百度云的函数计算案例体验,这个体验可以给大家包括一些技能的开发者带来很多的一些像公积金的计算,或者天气的查询,史南胜表示本身也通过小程序和OS方式同时开发了两个技能,以小程序的方式和OS方式发布出来给别人使用,如许的技能可以直接调用天气的方式,比如调用开放接口的墨迹天气本身使用,并且可以将业务逻辑算法集成。这个产生什么收益呢?可以按技能付费,做成三步:云函数创建与自定义、技能创建与绑定技能、运行时哀求路由,哀求调度的资源统计,以及账号的挂靠。通过这三步可以敏捷的将一个新的家庭小度音箱的智能场景可以或许快速的毗连起来,PPT内里红色的字样是核心部分。

除了这些场景,还可以在哪些场景去使用呢?包括应用分发的场景范畴,像游戏包,分渠道的打包和运作过程,小程序的开发,以及在集团内部持续的CICD和搜索图谱,包括百度的搜索阿拉丁卡片,以及在金融范畴私有化部署,还有汽车、教育等范畴的新技术联动,以及大数据处理,都可以去用函数计算的方式行止理。

04 将来猜测与延伸

百度函数计算今后还会围绕哪几个方面去运作呢?Serverless场景从前大家都处于观望状态,现在开始在小规模场景使用,之后大规模场景使用。

百度函数计算重点是帮助客户转型,还是围绕降本增效的理念为大家节省资源,并且提供更稳固的服务。在公有化、私有化和开源生态范畴,百度会去形成一个组合拳,开源的部分也渴望大家与百度一起来来共建。

百度的云原生,除了Serverless函数计算,还有容器服务和微服务架构的管理,还有容器调度,以及服从云的DevOps的计算。百度在今年申请了一站式的技术栈,欢迎大家一起相识一下,不仅提供Serverless的解决方案,还提供容器、微服务架构管理的解决方案,包括服从上面的解决方案。

百度在近几年在云原生方面获得了一系列的奖项和认证,百度是K8S第一批认证厂商,也是在国内第一批和K8S建立起合作,可以或许提供服务的第一批公司,百度等待与更多伙伴参与进开源社区的建设。


鲜花

握手

雷人

路过

鸡蛋

最新评论

精彩资讯更多
策划更多
独家评论更多
家装视频更多
广告栏
logo
  • 反馈建议:service_media@36kr.com
  • 工作时间:周一到周五 10:00-19:00

关注我们

  • erweima
Copyright   ©2015-2016  SOSSEO博客  Powered by©Discuz!  技术支持:源码哥    |网站地图源码哥免费dz商业插件