00:00
嗨,各位小伙伴们,在各种云服务产品镜像面试的今天,想必你一定听过,简单来说,S是一种架构,一种云计算发展的产物。最近对于serveless的讨论越来越多,有人说它是最有潜力的云计算技术发展方向,也有人说他的走红全靠炒作。今天我们请到左耳朵耗子麦克is创始人腾讯云TP陈浩,听听他是怎样理解和实践的。长期大概我今年45岁。二十二十多年来一直在做这种分布式大规模的这种架构啊。所以我我现在在创业啊,那个意思主要是给呃企业提供一整套的这个呃,云原生的那么一个架构啊,今天给大家带来的这个service service的一个服务治理,听着好像一下子把这个service变重了啊,但是呃。我们我们先看一看啊,这是我的今天的那么一个一个简介,还有他有哪些问题,然后我们怎么去做啊,配套设施有哪些啊,这是一个简单的东西,背后一定是不简单的啊。
01:11
就像咱们家里面,呃,拧开一个自来水,或者呃,插上一个插座有电,但是后面的那坨那坨东西啊,其实极其极其复杂的啊。好的,那个我们先看看斯的历史啊。斯维莱斯历史首先先是从2006年开始,有一个叫你们可能都没听说过啊,这个叫Z的一个公司啊,这是伦敦的,今天找都找不到了啊,我想找他的一些,他他当时那个。呃,Slogan就叫配you go啊,花钱你就弄啊,但是商业上极其失败,2017年关闭了,今天基本上已经在互联网上找不到踪迹了,只有维基百科上有那么一句话,连链接都没有。然后2008年的时候谷歌的APP。仅限于Python,包括具有60秒的这个HTP函数啊。
02:04
以及。呃,这些东西,但是最终也是被谷歌cloud platform给取代了,其实也不成功啊。然后还有个叫Palo,还有多cloud,多克公司的前身啊,最终失败告终,但是把多克开源了,又火了一把。国内的各种APP,英俊营我也不说了啊,Ta SAE、新浪的,还有那时候反正都在做这种东西,其实全都是惨淡经营,全部全部以失败告终。然后2014年。AWS release a lada。很舒适化的这么一个。服务化啊,函数是服务化的一个计算模型。然后一五年再加上了一个API gateway,然后一下子就又点燃了一把,又卷卷土重来了。啊,然后再加上那个Co,因为多克啊多克呃触发了另外一个就是他他上那个环境,他把环境问题,环境隔离问题解决,然后轻量级的那个虚拟化的这个问题解决了,所以他就有了那么一个可以可以做调度那么一个框架,就是谷歌就把它内部那个呃,Broke系统拿出来变成Co啊,Co今天是相相当相当火的啊,然后一六年时候谷歌做了一个cloud function式,IBM的cloud function式。
03:23
还有a zoo的cloud方式啊,然后一七年cloud fly cloud c dn啊往前面的。然后k open fast。Hopeless Fn open、拉姆达啊,一堆一堆这样的开源软件,一下子就又把这个东西给弄火了啊。那么今天我们就会来想,是不是就是fast啊?Function service好像好像已经完全等同于这个东西了啊。那么。其实这是这个东西是有它的道理的,就说是。呃,首先第一个事情是我们的基础设施开始变得越来越完善了啊,就像我们今天的编程。
04:06
不像在我我那个年代,我什么都要关心啊,今天的人,今天的程序员已经不关心CPU的那些什么catchline了,也不关心内存怎么分配了,对吧。你们也不关心TCP的里面那些网络包怎么弄了,管他呢。我只关心的是。我也不关心那些内存,反正我就有,有什么我就弄啊,呃,我就尽可能的分配我的东西啊。呃,消耗这些资源,所以当这些配套设施开始越来越强大的时候,包括一些呃,基础资源上面一些,比如说是我想在S3上。注入一些业务逻辑。那么势必会有一种业务逻辑要侵入你的云,云设施的云服务的那么一种情况,对吧,因为定制化的程度是很高的,所以为了应对这个东西,哎,那我就给你一个小function。这种场景,这种场景其实我们是可以见得到的啊,我觉得是非常合理的,就是我们的基础设施越来越完善,我们不再关心这种系统管理。
05:04
也不关心这种服务器的运转啊,容量还有自动扩缩啊,我们也不关心代码的部署。还有监控日志,啥都不管啊,我们只关心一件事情,怎么样以最快的速度把代码变成service。而社会类是等于fast的。呃,刚才的那个初衷,大家可以举一个例子,我我举一个例子大家就明白了。呃,Oracle数据库的存储过程和触发器数据库上。是不是有些时候我们不单单只是想存储数据,我们其实希望他能有一点点业务逻辑。所以数据库的存储过程还有触发器。就是为了用户的这种定制化需求想入侵。这种标准化的这种基础设施而生的,所以今天这个这个情况跟今天的。
06:00
这个fast啊,是非常非常类似啊,这种需求是有的,你想在网关层面,你想在最前端入侵一点你的,你想在技术资源前面去泛一点你的业务逻辑啊,但是我一拿这个数据库的存储过程一举例子,大家马上。是不是就会很警觉是吧,这个东西我一旦把我的代码写进去了。我怎么跑这个事儿。我怎么韵味这个事儿?你们对吧,我怎么去治理这个事啊。所以这个事情就,呃,其实是很类似,如果说是我们从云厂商的角度来想啊,这里面有好几个维度啊,如果我们从厂商不好意思啊,这是腾讯的大会了,不管了。他一定是希望你们跑不掉的。对吧,用户上来以后一定是别跑,就跟数据库一样,你把存储过程写的越多,我就越开心啊。因为你明年肯定还会给我续费,因为你跑不掉。
07:01
然后如果从技术的角度上来说呢,其实。基础设施的完全的完善。而且你需要注入一点一点自己的业务逻辑,这是非常非常的合乎逻辑的。也是非常非常好用的啊。所以这两个东西,其实我觉得就是造成今天的。啊,还有第三个啊,还有第三个维度,第三个维度是咱们的业务逻辑,就是基础设施也好,技术逻辑也好,是永远不可能降低业务逻辑的。复杂度的业务逻辑复杂度不可能通过技术来降低,业务逻辑复杂度只能通过业务逻辑来降低啊。所以。那么还有第三个维度是我们的业务逻辑,那么一小点这个东西,我们怎么把厚重的业务逻辑放进去,但我们也想把一些,如果说是他只是一些简单的东西,我觉得没问题,如果他是一些,但是这个世界上。简单完了以后,我就想变复杂知道吧,需求总是一点一点会加起来的啊,你复杂东西总是会有的,一旦这个事情一复杂了以后,我们怎么玩呢?试想一下,如果我们生产环境下,我们全部是玩这种微服或者service的话,你今天的这个实力啊,资源数这些东西可能要资源数可能不变,但是你的实例数可能要增加一到两个数量级,可能从今天十个要变成100个,可能要变成1000个,那你怎么管理这些东西,嗯。
08:24
好。所以我们有没有想过这些问题啊,So的一些服务发现so来怎么进行这个健康检查?灰度发布有没有想过?AB测试。有没有想过我们需要监控它哪些指标啊?健康检查,我们今天做的是生死检查,健康检查我们怎么监控啊?还有so,它有两种,一种是要以工作流编排的方式,另外一种是以消息驱动的方式啊,Event追问。甚至有可能这个service这个这个这个小,So这个小service来会掉,直接就调RPC库,另外一个调用链跟踪怎么玩啊,或者这个业务流业务流程,呃,跟踪怎么,他们之间的依赖关系怎么管理。
09:13
容错处理怎么玩啊?从事限流熔断啊SLA如何保障基础设施的SLA永远不等同于业务的SLA啊?好的,这些问题一来,一下子你会觉得这个事情就很麻烦了。很麻烦,我想我我其实我想说的就是我们其实如果说想做个hello word啊,想做个玩具,很简单的事情,怎么做都行。但是如果说是我们要做个生产线的,能够扩展的,能够能够进行。工业化的这么一个玩法的啊,那这些东西就很复杂了啊好,我们在。看一下这是2019年的AWS的,呃,一个principle s de也是在国外的一个service的一个论坛上的一个PPT,我就截了一页啊,大家可以上那个select shell上面去查,他的这个PPT就要s is dead,但是这个东西是纯纯标题档啊,Service并没有死,但是他想他想用这个东西来吸引大家,不要关心S这个这个这个这个名字啊,而是要关心S到底能干哪些东西啊。
10:24
Service本质上是干什么东西,首先service它里面提了这么几点啊,就service其实降低你这个运维的这个难度的,嗯,然后它是非常的tight啊,Alignment with cost with usage,意思就是性价比啊,你的成本和你的使用量,他是要非常密切的关注这个事情,他希望以一种非常低的成本可以让你,呃。得到,呃,你不需要买服务,你需要跑个方向或者跑个server啊,它的成本应该会是你直接买个服务器的成本的一到两个数量级之下的那么一个东西啊,然后呢,开发人员,开发人员可以做任何事情啊,就是其实他可以做,他可以变成OS,变成运维人员,变成s re啊我这就是S的精髓啊,这是亚马逊SS不是。
11:17
把devve oops给融合了,而是把devve变成oops。然后后面的呃,就是一些他可以处理很多这种user case啊,还有呃,一些安全啊,Best practice啊都可以在这个里面,呃。发生啊,就说其实你就不用关心这些东西啊。所以呃,如果说是,呃,Service如果是这个样子,另外我们再讲一下,那么我们这么一个技术的一个发展啊,这是我我我个人觉得这没有没有没有哪个说这个样子啊,但是我个人觉得是这个样子,过去的云计算基本上是资源型的运维,就是我是卖资源的,我把我把软件也当一种资源来卖啊。
12:05
今天的云计算其实已经变成了一种应用服务的。所以C是这么出来的,为什么我前面又画了个谷歌呢?谷歌是个,谷歌是个,你想想他们是个很高阶的玩家啊,极其高阶的玩家啊。我我举两个例子啊,我先不说这个,我先说谷歌的那个移动互联网时代,他差点他就被灭掉了,他跟百度一样啊,但是他做了个安卓系统啊,安卓移动互联网手机的,他没有去做谷歌外卖啊,他做了个安卓操作系统,如果他不开源安卓操作系统,大家试想一下,今天的手机操作系统会被那些公司保障,肯定是苹果和微软,因为这两家都是做长期在这个操作系统上耕耘。而且他们也有这种移动设备上的操作系统。谷歌是落后的。所以他必须要把安卓系统。开源伙同一大堆这种,我二家去打这个,呃,第一名和第二名啊,所以很成功啊,这个套路其实还在做啊。
13:08
他在做了一个,他把Co native弄出来做开,谷歌不是一个开源公司,绝对不是啊,他死了两两三百个产品,他都不会开源的,他的开源就是为了阻击他的第一名,控制住它的市场啊,它另外一个呢是cloud是谷歌提出来的,但是。呃,谷歌的cloud做的并不成功,被亚马逊抢了先手,甚至连微软都没做过。嗯,所以。他有。把这个Co拿出来,然后成立一个叫云原生CNFCSF,里面全部都是开源的,一样的,跟安卓的套路一模一样啊。然后他想,但你要游戏规则必须变啊,你如果是走open stack那条资源型那条路,肯定是玩不转了,所以他把这个游戏规则呢,从以前资源型的这个东西呢,变成了服务型的,也就是C目前在做的很多的这样一些开源的,还是以开源的形生态来做这个事情啊,然后去。
14:05
跟那个竞争啊,如果说是在资源层面上有一层Co作为缓冲,其实你在哪家云厂商,其实已经意没没什么意义了,就是说你你可以到所有的云厂商,而谷歌家的cloud天生集权的这个Co啊,类似于样的S啊,所以呃,我是很相信这个东西一定是从资源新闻往那个服务型走的,所以今天我在去跟很多的公司去讲运维同学去讲你们那个CMDB还在做这种。资源型的你们已经落后了,CMDB一定要做服务型的啊。就说是里面,里面你要管的是service,而不是resource啊,好的,讲清这个道理的话,我们想我想说就是服务器并不是没有服务啊,无服务器表示应用,应用程序的开发人员其实不不关心基础设施啊啊。
15:00
基础设施有很多东西啊,配置、管理、维护操作的时候我都不关心这些东西,我只关心我的怎么样把我的代码以最快的速度变成service啊。好的,要做好这些东西,呃,这里面有三个东西啊,这是我觉得应用服务是一等公民。资源再也不是了。对外的API是重中之重啊。然后整体的SLA是头等大事啊,意思就是API服务API,还有我们的SLA。所有东西都应该围绕这些这三个事情来来干的,所有事情都应该围绕对外的API啊,所有事情都应该围绕着我的核心的back这些service啊。当你把这些东西都就是这个东西,如果你干完了,你自然而然的就能做出soul这样的东西来,自然而然的啊。呃,是不是service其实无所谓啊,我们关心的是service service,而不是resource,有没有提升我们的开发效率,可以更快的,呃,是开发和上线啊,是不是可以更容易的,更高效的这个,呃,性能还有更好的这种稳定性,扩展性和安全性啊,有没有降低的这个成本啊,有没有降低运维成本,有没有很好的管理。
16:21
你的成本和使用量啊,开发人员是不是很自然的融合到这个W或者s re这个里面来啊,我们都知道运维一个一个运维故障,呃,好多好多好多时候其实都是要开发人员来参与的。好了,以上就是本期视频的所有内容了,你是否看好civilize未来的发展呢?欢迎评论区或弹幕讨论,下期我们将分享civilize的服务治理常见解决方案。最后不要忘了关注点赞和转发哦。
我来说两句