05 HBase_T4:Leader最重要的,说白了是要赌未来

你好,我是叶芊。-  - 上一讲我们聊到毕玄的淘宝消防队经历,在这个民间组织里,他发现了自己喜欢做英雄式的人,也隐约对个人的相对优势有了一些判断,认为自己不适合做专,更适合做广,更有兴趣从公司的低分领域做起,这也是为什么之后他会在阿里各个部门间横跳转岗。-  - 但转岗说起来轻松,能像他这样跨大领域,还做一个成一个的,可不多见。他到底是怎么找新方向的?又是怎么把事情做成的?-  - 今天我们先揭秘他的第一段经历:从分布式的服务框架HSF,到数据库HBase,到容器化T4。

 - 极客时间:HSF是中间件,之后你又去做HBase,从中间件跳到数据库这个转变还挺大的。

毕玄:对,我去了数据平台。但其实我一开始没有想好做什么。

当时是2010年NoSQL比较火,阿里内部用什么的都有,MongoDB、Cassandra、HBase,这就又出现了淘宝消防队的问题,没有一个专业的团队维护,所以一出问题,业务就挂。我们就觉得必须成立一个专业团队专门维护一个,我刚好也没有别的事干,就决定把HBase落地。

但HBase做了一年之后,对我的吸引力比较少,把这个东西做得更好的动力我确实不太强,我就觉得应该干点别的,开始想到底该干啥。还好我的老板一直挺支持我的,不管我换哪个老板,基本都觉得反正你想干啥就去干。

极客时间:可能你老板觉得也管不住你(笑)?

毕玄:也有可能,反正我在想该做点什么的时候,看了一本讲Web容量规划的书(《Web容量规划的艺术》),所以我跟他们说看书还是有点帮助的(笑)。

那本书到现在我印象都很深刻,核心观点就是一家公司如果不在乎成本的话,迟早有一天成本会超过收入,如果你不控制好成本增速和业务增速,那一定会失速,最后你业务就不能健康发展

图片

我觉得讲得很有道理,阿里也应该干一下这个,所以我就去干了,就是T4。这也一样,开始是个非官方组织。

T4,2011 年启动,阿里早期基于 LXC(Linux Container) 和 Linux Kernel 定制的容器调度器,T4 的技术理念与现在云原生领域的核心技术容器一致,2017年开源了名为Pouch Container。

极客时间:非官方,就是虚拟团队?

毕玄:非常虚拟。因为我当时在带HBase也不确定要不要做,就去找了多隆,还有运维线的一个人、中间件的一个人,我们四个人聊了一下觉得挺有意思的,因为我们很清楚做的目标,也找运维拉了公司机器的利用率数据,觉得有戏。

极客时间:最开始这几个人你是怎么拉的?

毕玄:都熟人。后来阿里很多人想做创新觉得很难,我就讲要相信一家公司到了这样的规模,你想做的事情,肯定也会有另外的人感兴趣,就看你能不能找一帮这样的人,然后私下把这个事情做到一定的阶段。

之后,你有可能做成,也有可能做不成,都很正常。但是在没有做到一定阶段前,要高层支持你很难,因为通常跨了很多团队,所以只能靠你自己。从下到上是很难,确实很难。

极客时间:项目刚开始是拉的熟人,后来呢,T4怎么进展的?因为看岗位,你们四个也不是容器这方面专业的。

毕玄:所以我们确实做错了很多,比如说第一版方案有很多问题,我们在第二版的时候才发现原来世界上就有类似的方案。

极客时间:Linux Container?

毕玄:是,我们走了大概有半年的弯路,而且那半年很悲惨,因为是弯路,有很多返工,这要不是有人支持,肯定挂了。

极客时间:支持的人是谁?因为有多隆这个有影响力的大佬在?

毕玄:有个运维的人。我们逼他不断返工,其实他们也很想投诉,受不了了(笑),我们不断折腾,有段时间让运维那个团队每周末连续加班,接近两个月,但我们都顶住了,正常情况下,说实话这个项目八成要黄。加上多隆也在,还是有帮助的。

所以大家还是要尊重专业,每个专业其实有壁垒、有门槛的,都觉得自己能做也是有点问题的,你当然也能做,但肯定跟我们差不多,来回不断折腾。

极客时间:这样折腾都没黄,是不是也有信任的因素?运维团队,包括你们项目里这几个人,相信这事能干成。

毕玄:对,其实任何公司都是刷脸。

为什么你能干成事?为什么大家觉得你说的可以干?是因为相信你,这个信任感只能靠时间,关键看你做了什么事情对这家公司好,都是看结果

你过往的光环,顶多让你一开始很爽,因为大家都或多或少会让你刷下脸,但过了一年就没有人记得你的过去了,都只看你这一年在公司做过什么。如果还是没干啥,大家就会开始怀疑你,而且你以前背景越好,越受怀疑。

极客时间:怀疑你的能力,因为别人会对你的期待太高?

毕玄:对,这是高级别的人最大的风险。像我这样的,如果去另外一家大公司,多数给的职位能比现在更高,大家对你的期待是完全不一样的,比如同样的事,我在阿里做要三年,别人就可能希望你在一年内带来很革命性的变化。

但事实上这个难度是很大的,技术的思想、方法都没问题,但工程就是工程,工程落地的节奏是很难压缩的,加速肯定会有风险。

极客时间:那你觉得新人应该怎么做成事呢?

毕玄:很多新招来的人,都想一上来就铺天盖地做一件很大的事,真的想多了。

你先从一件很小的事证明你就是比别人做得好,然后慢慢的别人对你有了信任,那你机会多了去。技术人员就是这样,有信任,并且他也相信这个事情是有价值的,其实大家是愿意用业余时间去干的。当时我们几个人全是业余时间,但到了一定阶段,大家就都能看到成果。

极客时间:看你的经历,总感觉你做的项目都挺成功的,很好奇你有没有做失败的?

毕玄:当然有,后来做完T4我还去拉了一个业务项目。因为我一直做基础技术,很多人就觉得基础技术没有前途,然后我就听他们忽悠,找了几个人私下攒了个业务项目,淘宝首页链接转化率的优化的一个工具。

极客时间:这种工具需要报备吗?

毕玄:不用,因为我们拉的是负责这条线的产品,所以产品是认可的。但上线了觉得效果不大行,看来做偏商业的业务不是我的长板,后来我觉得不擅长就不尝试了,还是继续做我自己相对擅长。

图片


 

极客时间:好,我们继续聊回T4,你们虚拟团队私下搞了多久?

毕玄:因为都不是我们的主业,干了可能有半年多,应该是到了2011年我们确实觉得这个事情可以干了,我就去跟当时的老板正明(章文嵩)聊了一下,决定不带HBase团队专职做T4。T4应该是最早的容器,跟百度同年开始的,但是阿里高层的支持原因,进展速度慢很多。

极客时间:什么支持原因,可以多讲下吗?

毕玄:因为当时阿里已经有阿里云了,理论上讲云是阿里集团战略,肯定是重点发展的,公司希望大家用云的技术,整个阿里都跑在虚拟化上,而不是你们自己又搞一套容器化。

虚拟化,通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。- 容器化,把软件代码和所需的所有组件例如库、框架和其他依赖项打包在一起,隔离在自己的容器中。

但这就是技术之争,我们认为虚拟化不是未来,容器化才是,不是说我们不支持集团战略,是我们认为这个技术方向如果抹杀掉了,对阿里未来在技术领先上会有一些影响,所以我们希望两条路都保持。当时有很大冲突,但反正我们还是顶住了压力,就一直没用。

极客时间:感觉你们团队的价值当时不是很受认可啊,会不会因为公司当年正飞速发展,大家对成本的关注都很少?

毕玄:对,他们觉得你们搞这?搞啥呢?但正明还是很支持我,他是个偏技术化的人。

说实话如果站在公司整个业务层面看,我也会认为没有太大意义,但我站在公司几年后看又觉得还是得干。反正我很坚持。他们尽管有些也反对,但他们觉得你要干,好像也拦不住你,加上又有人支持,算了你干吧。

所以就干了好多年,准确来讲我一直带着,尽管后来还带了其他团队,但这件事都在我手上。

极客时间:当时又是前期走弯路,又是集团的压力,你为什么会那么坚定要把这个项目做下去?

毕玄:就是技术走向的判断问题。对于云来讲,它确实要走虚拟化,而不是走容器化,否则它没办法对外提供,但是我们认为虚拟化的未来是走向容器化。

因为淘系我们最早就是虚拟化,之前也试过一虚三但是利用率还很低,继续试发现内存超卖不好弄,才到容器化T4。所以我们相当于从虚拟化推进到了容器化,然后你们说要支持云,只做虚拟化,那我们技术的人当然不同意。

除非行政命令,集团说必须不允许搞,那我们只能认。但内部一定会引发非常大的反弹,因为技术的人最反对行政命令,我们讲的你没有认可,举着一个战略就说要站在战略的角度,虽然我们也能理解,但技术一定会去争取,我们说,我们会在内网掀起讨论。

其实内网之前专门有过讨论,简直火爆到吵架了,因为对技术走向的判断本来就很主观,我说是这样,他觉得不是这样,这是没法聊的。当时斗得确实比较厉害,很多人认为我是最反对阿里云的代表,因为阻止了他们把技术体系推进到淘系,而淘系又是最大的规模。其实不是,但反正也就这么过去了。

极客时间:你们能这么坚决,有没有部分原因是你跟多隆搞了小半年,确实有成果能拿出来?

毕玄:效果非常好,所以我们觉得这一定是未来。

极客时间:你判断这是未来,除了有些成果,还有没有别的?比如说外界参考?

毕玄:外界没有,Google都很保密,纯属我们觉得就是这样子。

极客时间:既然有成果,当时你们没有拿成果去跟淘宝总裁说,T4这个技术方向很有效果而且一定是未来?

毕玄:但没用的,我也承认这个决定很难做的,因为一站在集团角度支持云是正确,可能更值得,二站在技术角度他没有办法判断,这就很难决策,所以最后他就不决策了,不决策相当于是保护了我们。

因为他们也确实害怕技术人员的反弹,技术人员会觉得信仰被冲击了,是很可怕的。就像为什么语言之争有些时候会上升得很夸张,对他来讲这是信仰,你不能突破我的信仰。技术方向趋势这种东西本来就很主观,不到那一天你怎么知道,所以两个人聊是不可能聊到一起的。

极客时间:总的来看,你们的团队方向和集团大力倡导的方向不一致,能做起来确实是够幸运的。因为对大厂来说,比如一个方向很好,它业务特别庞大,用了是不是就会变成大方向?

毕玄:对。但后来因为Docker起来了,也不需要再说什么,自然能得到大力支持。

图片


 

极客时间:后来Docker起来了,我记得你们把T4和Docker的技术做融合了,那个时候有波折吗?

毕玄:那不会,都是我带的团队,我们坚信这两个东西应该合掉,因为Docker还是有做得很好的地方。

极客时间:是T4去融合Docker还是反过来?

毕玄:最早是T4融合Docker,做了阿里Docker,然后包括开源的Pouch。但这也是我自己当时的判断,我觉得阿里需要坚定地把容器相关的技术多掌握一些,不要过度依赖Docker。

原因是我当时从整体看,觉得Docker未来可能比较危险。从竞争角度上讲,Google在不断地让Docker剥离化,想把Docker变成一个标准实现,这是Google的诉求,如果按这个趋势发展,Docker这家公司能不能活下去可能会成为一个问题,如果他活不下去,我觉得这个世界会需要另外一个标准,阿里是有机会的。

所以我当时让团队一直保留这个可能性,现在应该还是有可能性。但这是很主观的,因为团队很多人希望不要自己搞,全部基于Docker算了,包括高层也有很多声音。但我觉得对阿里来讲,还是值得保留在这方面的能力,因为你是一家做云计算厂商的公司,你不是一家单纯用的公司。

极客时间:你的这种判断力,不管是前面对T4方向的坚信,还是对Docker可能被Google边缘化的分析,后来都印证是对的,是不是大家说的技术方向感?

毕玄:对技术Leader来讲,其实判断是对是错不重要,因为对方向的判断是很主观的,没到那个时候很难说谁对谁错。但最怕你没有判断,外面怎么样,你觉得就是怎么样,那这就不要干了。

有想法,没问题,你可以说你为什么这么觉得,我可以说我为什么这么觉得,两个人至少都可以抛出来讨论,实在达不成一致也没关系,这很正常,反正最后没有办法达成决定,说白了就是看谁地位高,谁是团队的大Leader,因为我背了这个职责,那我做这个决定自然也会承担这个责任,但反正大家都说清楚了,也没有什么。

极客时间:那做判断做决策这事,你有什么心得吗?可以多聊一下。

毕玄:还是看你怎么思考,就是之前七公跟我聊的你的出发点很重要,为什么要做这件事。首先你一定要想清楚,你的出发点是为公司更好的发展,如果很多人想明白了就会知道,公司好了你自然会好。

所以站在公司的角度,越高的层级,要考虑的就会越贴近公司的核心,像阿里,我们说越高的层级,越应该去看阿里集团面临了什么挑战?

当然阿里内部有时候也被我们带歪了,后来很多低层级的人上来也讲阿里集团面临了什么挑战,这跟他一毛钱关系都没有。要想好每个位置它的要求是什么,大家不能把位置给搞乱了,因为搞乱了那个位置就没人了,最可怕的是公司组织结构是这样设计的,结果发现所有人都去做别的了,没有人干活,就乱套了。

极客时间:所以是要结合团队和自己的位置,往上看。

毕玄:对,但越高的人他肯定看的就越大,比方说你在云板块,首先你要想做什么能帮助云更好发展,去解决它的问题,然后你觉得跟你团队最相关的可能会是什么。

如果你有了这样的出发点,再就可以讲你自己想做的可能是什么,基于各种判断,比如商业竞争上的,云可能涉及技术趋势上的,业务涉及业务趋势上的,其实都一样。

Leader最重要的说白了确实在赌未来,赌未来一定会走向哪里,这是很重要的,所以我觉得只要自己能逻辑闭环就可以,但闭环其实很难。双方逻辑都闭环,但方向判断不一样的两个人,确实很难达成一致,但这个我们是可以接受的。

极客时间:因为一旦逻辑闭环,会不断地给自己讲这个故事,他就很难插进来新想法?

毕玄:越高级别的人,越大的Leader,肯定是越难被影响,你会觉得他很偏执,建立在自己很强的相信上,否则他很难走到这个位置。这其实没错,如果他太容易被影响,这样的Leader也太可怕了,你今天汇报一下是这样,明天你汇报一下又变了,那完蛋了,这家公司估计也干不下去。所以当Leader最好不要太急做决定。

图片


 

极客时间:现在你再回看当年自己T4这种虚拟团队做项目的方式,你会比较推荐吗?自己先看好方向,再私下拉人一起做。

毕玄:其实后来我也不鼓励大家这么做,T4让我觉得纯靠拉虚拟团队去做事是不好的,最好还是组建一个正规团队去做。

极客时间:你说的“不好”是指的哪一点?不好做成事?

毕玄:拉虚拟团队最大的问题是会被认为有个灵魂人物,外面看到的就是一个人,背后的人全部被隐藏掉了

我们用的都是业余时间,但他在主管那侧没有任何加分,甚至搞不好还减分,因为主管只看主业。所以最后你就会看到,你拉了一个虚拟团队做这个事,最后获得所有东西的人都是你一个人,这就很不好。

但是正规团队就不一样了,对不对?这是团队获得的。以前我也不想带团队,因为以前在阿里,想干什么基本都能用虚拟组织干,没有正规团队其实很爽的,因为你想,你对大家又不负管理责任,大家纯凭梦想,梦想驱动然后去做一件事情,那你做着不是很爽?如果组建团队就不一样了,你必须背上团队责任。

但我后来觉得还是得带团队,你才有可能做对这家公司更大改变的事情,因为纯靠虚拟团队规模也不可能很大。

极客时间:T4的团队规模是多少人?

毕玄:人一直很少,七八个左右,后来到2016年左右才变成一个三四十人的大团队,但那已经是公司层面上大家公认这条技术路线非常重要了。

极客时间:但你前面说一个新项目刚起来的时候,需要先看到一定成绩,这个风险是正规团队能接受的吗?

毕玄:我觉得取决于Leader,比如团队Leader如果能接受把10%的人投入在一个想尝试的或者团队大家觉得很值得尝试的方向。

后来我带600人的团队(系统软件事业/研发效能事业部/中间件)就搞了两个我们认为未来对技术侧很有影响的方向,我们内部叫X方向,然后我跟全员说,愿意的就可以去,但要求是加入的时候也意味着要从原来的团队脱离。这对很多人是很大的挑战。

我也会说清楚,你做这件事情,一年之内想得到很高的绩效评价,说实话可能性基本是零,因为未知方向挑战非常大,问题简直太多了。但作为Leader,我愿意投这样的方向,所以我可以保障你们不会是最后的一档。

极客时间:脱离原团队,不能兼职?

毕玄:我绝对不允许兼职,因为兼职就有退路,这其实相当于考核试探,就看你愿不愿意为梦想买单。否则如果是业余,所有团队都会说有兴趣,反正无所谓嘛,做失败了也没关系,做成功了还白捡一个加分。

极客时间:那风险很大啊,有多少人愿意去?

毕玄:我们发现很成功,有很多同学很满意新方向,也愿意离开自己的位置,甚至有个带着几十人团队的P9,他都愿意放弃原来的团队,加入新项目,七八人去做一个很未知的方向。

极客时间:这挺厉害的,确实能把一些人筛出来。

毕玄:但这个形式后来我发现了很大问题。

极客时间:项目很容易死?

毕玄:很容易死倒不重要,重要的是如果我不带这个团队了会发生什么。因为这是Leader的主动行为,我一不带,大家就会认为这两方向不要搞了,那这帮人一年不就白干了。

所以这种也建议不要随意尝试,除非是组织性的行为,或者是创始人,创始人反正不会走,那没有问题,最怕的是个体的Leader行为。后来我就基本不做这种了,这样的话不管我在不在,都还能持续。

极客时间:有点好奇,X方向现在呢?

毕玄:后来就挂了,有一个应该还在做,但就不会像当时那么多的资源。如果我在,我肯定会保持它,因为他们做到一定成果了,我会加大投入去赌这个全新方向能不能做起来。但这就是Leader的判断,新的Leader可能认为这个方向不是未来,就不做了,都是很主观的。

但从组织激发角度上来讲,我自己觉得这是个很好的方式,我们能看到在这个团队,有些人是非常愿意为梦想承担风险的。

 

水友讨论区

到这里,今天的对谈就暂时结束了,主要聊的是毕玄的第一段转岗成事经历。

做完中间件HSF后他发现自己作为Leader不知道该干什么了,跑去数据平台做了HBase的落地,但做了一阵发现自己没有足够动力,又开始迷茫自己到底该干点啥,结果从书中找到灵感,去做了最早的容器T4。

作为一名技术人员,毕玄从2011年就开始关注业务增速和成本增速了,虽然在现在的大环境下,降本增效成了普遍口号,但当时各公司正处在高速发展期,很多人可能会觉得关注成本没必要,格局不够大,但居安思危,毕竟不影响业务发展的成本控制手段,从设计到落地可能需要好几年才能看到效果。

不知道你对今天对谈的哪个部分更感兴趣,我还是简单列了三条:

自由发言环节,期待你的想法,我们留言区见。下一讲我们将聊到毕玄作为总架构师做淘宝异地多活的故事。

拓展阅读

1. 这是一扇传送门,今天简单聊到对技术方向的判断力,如果你想了解更多可以去这一讲,我们将专题讨论如何思考技术演进方向。

2. 对HBase感兴趣,可以看这篇阿里技术星球的文章:阿里HBase超详实践总结 | 一文读懂大数据时代的结构化存储

3. 物理机 -> 虚拟化 -> 容器化的演进,毕玄之前写了这篇:回顾过去看IaaS的Next