-->

超级访谈:对话毕玄_03_方向技术演进到底该怎么思考未来

你好,我是叶谦,终于来到了技术事业的探讨主题,我们已经期待了太久。

毕竟在当年阿里技术牛人辈出的时候,玉泉都是公认的技术,方向感非常好,做四个方向,最少能命中三个的那种。

其实呢他自己也非常清楚,这是他的个人优势。

后来写离职复盘的时候,他说我认为程序员的价值关键是体现在作品上。

作品里面呢很重要的一点是对业务对技术趋势的判断。

所以他也希望作为程序员的大伙,都能有机会去打造一款世界级的作品,去为技术圈的发展做出贡献。

那他到底是怎么培养技术敏锐度的呢?话不多说,我们开始今天的对谈,前面我们聊做决策的时候啊,你有提到leader需要去读未来,然后带团队的时候呢,你也会去跟成员讲清楚。

比如说未来的方向是什么?然后规划大概是什么样的,这个是怎么形成的,或者说有没有什么嗯也是方法论吗?对对,因为大家都期待嘛,也都也都非常喜欢这些东西哦。

但真的没有方法论或者说技术敏感度这种啊,我们觉得就真的很难培养。

其实以前我们就想过怎么去培养了大家对一个事情的判断。

嗯,但这是个走势的问题,未来可难说了,就谁也判断不了。

我们后来总结呢,就最重要的呢可能就是你要去想很多人其实说呃从来没有想过未来走向,就像技术未来走向是什么啊,一般人就一般觉得就是什么最火就是了。

比如说从SOA到服务化,到微服务到service meash啊是一个历程。

那我们以前经常问很多人,你对这个历程怎么看啊?每个阶段有什么样的区别啊?我问过很多人自己也被问的很尬,因为回答不了啊。

比如说请问我们零七年到零九年做的服务化,跟你们现在讲的微服务到底区别在哪?没有人能够回答的出来。

那说明这根本就是个瞎扯的词,不就是概念嘛,就是为了卖一个概念去忽悠人,包括service mesh啊,很多人各有各的看法啊,我觉得是什么看法不重要,我们最怕的就是没有看法的人。

但是你追问他为什么好啊?如果说回答因为很火啊,就简直是瞎扯啊。

所以呃如果你去判断你掐扯跟不瞎扯,你的理由是什么?关键依旧是那一点,就是你觉得这个新东西的价值到底是什么?相比以前带来什么样的变化,就是那个背后的推动力是不是一致的对以前在中间件的时候,大家聊过这个话题啊,纯粹的技术演进到底是怎么思考未来啊,以史为鉴是最重要的。

但是每个都不一样,是每个公司不一样,还是说每个技术的演进不一样,跟公司的关系不大,主要还是看这个技术怎么去往前走。

我们经常是举例大数据啊,因为大数据特别明显,从hadoop到spark到flink,嗯,基本可以认为是三代。

对啊,最关键的是你去看为什么大数据会有这三代眼镜,那是因为他们都解决了用户对这玩意儿的核心诉求。

那如果这个诉求归拢到一起还是一样的,那就好办了。

那用户对这几个大数据软件的核心诉求是啊最核心的诉求是算的更快。

那做一个大数据分析,想越快拿到结果是越好,这就是我们诉求啊,hadoop解决什么问题? Hahaoop是解决了从零到一的问题,以以没有一个个数据的东西啊,顾客发了一篇论文,然后hadoop做了一个开源版的实现了啊,从零到一啊,所以他一定会很成功啊,当然那个时候也不只有它,但是它成功了啊,这就有很多的因素。

比如说最重要的就是大厂的支持啊,因为hadoop是facebook等等大力去推的啊,这是不一样的。

所以hadoop能够算出来啊,但是有点慢。

Spark呢解决的是我通过架构改造啊,让你整个具备了算更快的能力。

Flink就更快了,因为已经实时化了。

嗯,啊你看它的技术演进啊,其实就是围绕了怎么解决掉用户的痛点。

然后通过技术层面的架构改造来完成这个事情。

啊,当然这其中也有技术下面的基础设施成熟化的背景。

啊,所以说这个贯穿的痛点或者说用户的那个核心诉求是要去思考的。

啊,包括中间件啊,回顾一下今年中间件的发展,就是过去为什么会有这几次迭代啊,几次迭代解决都是什么问题。

那么肯定我们认为肯定都是解决了一个痛点啊,那痛点是要挖出来的,你要去围绕那个痛点去想啊,技术现在有没有可能把这个痛点往前推进一代产生很大的改变啊,你的新东西要解的更好,而不是小修小补。

如果有,那我认啊这就是技术真正的变革,而不是只是造了个概念。

很多人啊觉得自己做的是新一代啊,我们就问了相比商一代啊,用户在这一代里遇到的什么问题,你帮他去彻底解决掉了。

嗯,因为其实想清楚这个问题是什么,本来就很难。

然后具体你到下面怎么去解,也其实很难想啊,技术的演进本来就是需要很多年,因为技术的下一代是很难想出来的,可能需要时机。

你说啊这个数据库从关系到分布式走了多少年,理论上方向是提了无数年,但直到现在才算是逐渐有个东西加数据库。

要说从OLTPOLLP走向HITAP啊,这就是更新一代啊,因为这也是用户的诉求啊,他们才不断的向前去推进。

那以前很多的团队总是要纠结,但不为营造一个概念,说我们现在做的是新一代啊,但如果不到时机呢,其实没关系啊,你就维护着。

只是说很多人觉得维护没有什么价值,但是你们造概念啊公司更不会认外面,有可能会被你忽悠。

但是因为很多公司他会强调说技术人员要具备一定的影响力,千万不要说去为了做影响力而做影响力啊,正在在多评判判。

这个我绝对不会认的。

我先只看你对公司业务的影响,然后如果你的方案确实是在这个技术领域具备领先性,我才认为你有影响力。

因为影响力是很容易培养的。

你有了贡献,有了结果啊,做的方式方法也具备了引领性。

那说实话剩下的只要去炒作包装一下就好了。

那如果你的公司影响力足够的大,你想成为什么都可以啊,但前提是你自己得有足够的实力啊,等你做到了影响力什么的,都是一个很自然的过程。

那说到我们刚开始的那个微服务呃,服务化的这个话题啊,他们他们那个核心诉求到底是什么?就是说你们开始做微服务,呃,做那个服务化是为了解释什么问题。

以前做服务化核心要讲要解的问题呢是有两个啊,第一呢要解决这个系统的水平,伸缩能力的问题。

因为服务化完了之后呢,说白了你的每个应用每个系统要承担的责任变少了,所以这个伸缩性呢就能变得很强。

嗯嗯,啊第二个的服务化的核心问题,其实是研发协作的问题。

以前一百个人开发一个系统,大家都没有分工啊,那我接了一个需求要改哪儿?我就从头到尾全改,这个时候呢可能就会出现冲突。

因为每个人都在改同一个地方啊,大家合并代码的时候就非常痛苦,效率很低。

那服务化有分工了,你就改这儿啊,他就改那块啊。

当然这也是增加了协作作本,但是他毕竟能够让亚百人甚至是上千人的研发团队可以并行的做下去。

啊,这一点也跟亚马逊说的model l offt where啊有关,就是这个现代的软件变得更复杂了。

那做任何软件啊上来就是一帮人,所以必须要考虑到一帮人写作的问题。

但是写作这一点感觉大家还挺少讲的。

呃,我们当年其实也是没有想到是用来解这个问题的。

就是jeff电影在呃斯坦福讲google的技术演进的时候说的呃,google做服务化的核心呢是为了具备千人以上的研发协作能力。

那这看问题的角度就比我们强太多啊,就是说你们当时主要想的是前一个,哎,对,我们是被逼的,因为不做服务化就加不了机器业务就崩盘了。

那虽然当时一百多人研发同一个系统啊,就已经很痛苦了。

但是我们没有想到服务化其实是用来解协作的,是做完之后才发现协掉了啊。

后来看到google说自己做服务化的核心目标是协作啊,我们觉得哇你想的很有道理啊,我们也加上了这一句。

所以你看啊就是呃服务化当年最重要的就是为了解决这些问题。

那微服务请问跟服务化相比,到底解了什么问题呢?啊,服务化现在留下的核心问题是力度,那一个服务的力度是主观的架构,想切成多大的力度就有多大力度,那这是有问题的。

啊,还有服务里面呢,比如说一个应用背后依赖的一百个服务,那到底哪些服务的核心路径是必须依赖的?啊,现在都是靠人来控制的那除非你说服务化的新一代可以解决这两个问题,那才是革命性的。

嗯,但现在做不到嘛,说什微微服务啊,他们就编吧,就是可能觉得啊服务化这么多年也没发展不大好,总得编个性的啊。

因为啊现在有人吐槽吧,就是说作为微服务,一般就是因为公司人有点儿冗余的对,所以以前很多小公司问要不要做,我说你们都做个啥,一个系统多爽啊。

开发效率最高啊,分布社会带来不大问题,包括对研发能力都是巨大挑战。

只是说看起来呃这个技术不值得吹啊,觉得技术很烂什么的,当然这不重要,对业务来讲这都不重要。

那有些人就会这样想挑战技术难度,觉得这种才叫复杂度啊,其实不是。

但是这个认知啊就是说嗯技术复杂度的这个认知,在技术团队里应该很普遍很正常。

因为技术的人都是有梦想的那有的用一个很先进的技术去做一件事情。

嗯,但关键是在现在的阶段,对公司来讲是没有任何意义。

所有的公司不是不关注技术创新,只是说出发点都是我到底面临什么问题。

所以这个问题除非你有一个创新的解法,可以把以前提的更好。

啊,那可以的啊,不能说你纯粹在外面看到一个很创新的玩意儿,那就一定要在公司用上啊。

这就像拿着锤子在找钉子,而且多多想用新语言新框架架为理论论来来讲,这对他的这个职业路径可能更友好。

否则他出去吧,好找工作嘛。

我们前面聊的是那个服务化,那云也是一个现在比较火的话题。

那云的下一步你觉得是什么? Cloud native其实是个分布式啊,那就,无非是原来搭建分布式的方法。

现在现在基于云去搭建啊,这是颠覆。

我是认的啊,像新公司不需要投入的,都是云去帮你搞定的那之前从单体到分布式的架构是个必然的。

但是现在分布式在走向哪里就说不清楚了啊,那容器呢容器从虚拟化到容器化是个革命性的进步。

呃,这解决什么问题呢?就虚拟化无非解的问题,就是怎么让一台机器能够跑更多的东西。

嗯,啊容器化解的就是我会跑更多啊,就是说后后其实都是对资源的利用。

对,所以我们认为说容器就是个运行单位啊,这个运行单位呢不一定叫容器,可能有一个更小的运行单位。

所以阿里后来在做轻量级容器等等方向,它所包括ciillus啊,一定程度上你可以认为就是一个更小力度的预定单位啊,这叫未来啊是一个技术趋势。

其实它一直都在解同一个问题,只是说比前一代啊解的更好一点啊。

Ciillus就是那个小厂完全不用买,设备,肯定不用买了。

而且ciillus是真正的是只有用了才要付钱。

那比如说啊我现在的这个业务没有请求量,那就不用付费。

那请求量来了就只付那一点啊。

但现在我们是按买的机器付钱,那我可能现在根本没用,但是还是要去付钱啊。

如果说哪家云厂商敢说能够按请求量付钱,那背后是不是servolus我们都不在乎了,能够这么牛的话,成本会是非常多。

那所有都垫付嗯,那ciillus他现在还不太能用的这个核心是什么问题啊?主要是弹性的速度,比如说ciillus,我要拉起一个系统啊,这不是几秒就能够拉起来了。

但是对于在线业务来讲,你不可能点一下,几秒都出不来。

嗯,大家能够接受都是几毫秒。

嗯,所以说saplus只是拿来做一些像计算这种后期的事情啊,以前可能是一些离线的事情,嗯,啊都是对响应时间可以忍受的。

Surplus也许是未来,但是还比较长远,现在非常不成熟,只是个补充方案啊,就很尴尬啊。

那什么程度才叫比较成熟呢?所有的技术如果想颠覆啊,必须进入核心的业务。

那现在完全没有说基于saplus这种新理念来构造的在线业务的技术框架啊,因为在线业务对稳定性是最高的需求啊,而且它是完全不可以预测的那尽管是AWS是推了无数年啊,一直希望能够推进到一个全新的技术框架。

阿里以前也想推,因为civilus对于云厂商来讲并不是坏事。

如果真的能做到,大家肯定就都来用了。

嗯,但是很难从技术上来讲,目前真的做不到,这是最极致的弹性。

嗯,但是就是那现在除了ciillus这个方案以外,还有别的方案吗?嗯,就是混部,那现在混不到CPU层面了。

那大数据和在线其实都是CPU层面的嘛。

所以在离线的统一调度这个阶段,我们是可以做的,就能够把利用率提高的一个很落地的方案。

嗯,那调度的难题之后是什么之后,最关键的就是看GPUFPGA啊这些能不能够做好。

那调度这个事儿呢,其实阿里最早很多有高管都有这个梦想。

那博士成立阿里云的时候呢,提出云的实际表现呢是统一存储和统一调度。

那他认为啊云的核心是可以把所有的机器像一台机器来用,那这就是统一调度。

那这个思想啊最早提出带来的应该是google.嗯,那google很早啊有一篇文章叫the dta center as a computer.那那一个数据中心的下一台机器啊,那这个效率肯定是最高的那事实上呢现在也还做不到的思路呢是把googc PU尽可能的当成一台机器来用。

但是内存还不行。

比如说a机器现在空了一个g啊,b机器有两个g但是你不能说用户现在有三个g可以用,那这个是真的做不到。

因为内存有时延的问题,在单机的时候时间非常低。

那一旦跨了网络啊,但网络已经是光速,这是物理决定的就很难。

那据说呢google想探索这个方向,因为google近两年把这篇文章是改了一下,叫data a cenatres as a computer.啊,这简直是颠覆了我们的想象。

就是因为加了一个s就是跨地的那种对这个跨地的数据中心啊,下一台机器,我们连一个都没实现,你已经开始提下一个概念了哈,我们就没法跟你玩。

嗯,其实呃我们想清楚技术演进的趋势之后,很多同学更关心的是自己能够去做什么。

比方说因为现在所有人都知道云是趋势了嘛,有了云,大家会觉得基础设施呢会更加集中在一批人的手里。

对对,肯定是这样的那很多人在小厂啊就会其实会担心自己之后的职业发展啊,甚至说岗位都会受到影响。

嗯,纯基础技术,像计算、存储、网络这些等等las方面的啊,那基本的都会受用到几大云厂商手里。

如果你要做这种技术呢,没有别的选择了,那就加入这些厂商。

好了啊,你看创业啊很少有人说我要做呃lass,那叫做计算,不可能的这是需要更大规模效应的生意。

那为什么说小的云厂商是越来越难?因为只有你服务器规模到了多少万台的时候啊,才能够实现盈利。

嗯,啊前线投入真的太大了。

但是呢在las之上应该会诞生很多垂直的pass,那也是做技术的。

但是这些反而是不在大厂的手上,全都在一些创业公司的手上。

啊,这其实就是美国的现状,然后pass更更面的是做业务的啊,所以就看你是怎么想走,应该相应的公司就好了。

那真正喜欢做计算啊,存储啊,网络的同学应该其实是很少的。

为什么?是因为那些方面太底层了吗?嗯,是因为计算存储网络是一个非常常常专业的领领,都是做虚拟化呀、计算资源这些东西。

多数人根本就没有注意到这个领域做的最多的就是pass,比如说中间件啊、框架这些,而且未来外面会有好多家的pass,空间是会越来越大的,不会越来越小。

那像现在嗯基础技术都逐步商业化了嘛,很多人创业去做pass,包括阿里很多也都拿出来卖了。

这个改变你觉得是行业的进步吗?比如说对其他同学或者其他公司也可以去参考。

嗯,对于团队同学来说的话,我觉得很难说,为什么这样不是能够更好的去搞研究了吗?因为毕竟要不断的追求自己产品的技术竞争力啊,嗯我知道,但是说对于研发线的人来讲,很难说这是一件好事还是坏事。

那好事呢确实是说你做的东西啊,不仅仅是这家公司用了,还被全社会更多的公司去用啊,那你成就感肯定更强。

但是在技术层面来讲的话,商业化之后很难。

大家会觉得说我技术上有多大的更进一步的空间,因为外部更多的是复杂性,而不是纯粹的技术难度的问题啊,是你要支持的业务类型越来越多了,不是说要技术更先进这种吗?呃,复杂性也算一种先进,只是说大家怎么看待而已。

很多人会觉得我支撑更高的并发量,用了更低的成本啊,这叫这才叫追求的技术。

所以很多公司做晋升的时候,业务技术的人会觉得自己没办法去跟基础技术人PK啊,大家会觉得啊基础技术都在解基础问题,复杂度很高。

那我们后来说还是得区分一下业务复杂度也是难度啊。

作为业务技术的人,他不是没有技术难度,他的技术难度在于业务的复杂度,能不能抽象成一个非常简单的东西去支撑非常复杂的业务。

哦,那你看就像阿里阿里的营销够复杂了吧。

那嗯嗯每年双十一被吐槽最多的就是营销。

嗯,啊但你想写营销系统代码的人是不是更痛苦?对哦,做这套系统的人,他能能不能一个很很好的抽象啊,去支撑业营复杂营营销玩法啊,这也不是一般人能够做到的这也叫技术难度。

所以技术难度不能够去光定义成纯技术侧的东西,其实还有很多是复杂性问题、抽象问题。

当然每一个技术人的爱好不一样,有些会觉得啊我不喜欢面对这种他喜欢去解决技术问题。

而业务呢是抽象啊,抽象是很复杂的东西。

好,到这里呢,今天我们关于技术眼睛方向的主题讨论啊就结束了。

其实说实话,在跟碧璇聊之前呢,我非常期待能不能够收获一个类似灵丹妙药的方法论。

虽然说都没有淫弹,但是人嘛总是会有幻想。

今天聊完之后呢,失望多少会有一点,但是惊喜呢也意外很大。

失望是因为他说对一个事情走势的判断,最重要的可能是你要去想。

说实话这句话非常正确,但是完全没有用。

但意外的惊喜是在追问的过程中啊,他也举例详细分享了自己的思路。

所有的技术演进呢,其实都是围绕着用户对这个产品的核心诉求展开的。

通过技术层面的架构改造来解决用户当下的痛点。

这个痛点是你要挖出来的。

你要去想现在技术有没有可能把这个痛点往前推进一代,给用户提供新的价值,这样才能够产生更大的改变。

这个出发点很朴素,但是呢也很值得参考。

你可以借鉴他的这个思路啊,找一个领域的技术演进过程去分析一下,看看对自己是否有启发。

欢迎在评论区留言,也欢迎分享你自己去做技术方向判断的过程和思路。

下一讲我们会聊一聊带团队城市的话题。

下一讲再见,拜拜。