叶亚明 ( Eric Ye) 于 2011-2017 年在携程网担任 CTO 和 Chief Scientist 一职,帮助携程网完成从 call center 到移动互联网模式转型,同时为公司建立了领先技术系统和开放技术文化,驱动业务 10x 增长。2014 年,叶亚明荣获最具战略价值 CTO 奖项。近两年里,叶亚明作为资深技术顾问服务了多家 100+ 人技术团队的创业公司,结合 Ebay/Paypal 和携程大型互联网公司的技术体系的建设经历,针对创始公司的成长过程的经典问题,给予了解决问题的思路框架。在技术的顶层设计、战略规划领域有着独到的见解,以下内容根据 GTLC 峰会现场对话整理。

叶亚明:初创企业面临的一个比较典型的困境是,发展到一定阶段后,随着业务的发展和复杂度提高,研发问题会越来越多。起因于早期研发是解决各个需要,习惯于底层设计,开始时交付上线很快。经过几年的发展,随着模块及模块之间复杂度变大,以前缺乏系统性的设计,出现的问题也越多。必须投入更多资源救火,这样可用资源投入研发新的产品功能变少,症状之一:研发速度变慢,症状之二:宕机多。其他症状为组织协调变得困难,团队之间的矛盾和沟通成本逐渐增多、老的组织架构不适合当前业务发展等等。
叶亚明:当时公司只有 5 个业务,后来扩充到了 20 多个业务,它们都需要在 Unified architecture 架构下工作。同时,业务总量快速增长,各业务研发急需工程师,所以技术团队从 600+ 到 3000+ 工程师快速扩充。另外,外部竞争激烈竞争格局发生巨变。挑战在于如何选择可以满足不同业务需求的架构,建立人才招聘培训锻炼体系,全力引入世界领先的开源技术,同时支持业务硏发的快速交付。在源头上做好一系列的技术体系的顶层设计,满足各方需求同时,有前瞻性地建设技术体系。比如,高品质的八大技术中间件建设,输出到各业务应用研发,起到了研发一次用多次效果(避免重复造轮子),促进团队协作。
叶亚明:小公司主要面临的问题是产品研发。当携程有 3000+ 人的研发团队时,每个礼拜要交付 1000+ 多个项目,业务成长十倍的情况下,就必须要有体系性的顶层设计。
叶亚明:我对开源还是蛮有感触的。我认为,开源是很好的对内对外技术交流的手段之一。
1991 年 从 Linux 开源,Browser, Jdk, Python,kvm, openstack, 后来很多有价值、大家使用得比较多的、很核心的技术也都陆陆续续被开源出来了,Kafka Hadoop, Android, Kubernets, Tensorflow. 开源不仅在技术层面上很成功,在生态建设上也很成功,大家都感受到技术社区对开源的热情。可以说,过去二十多年开源是推动技术进步的强大动能。
开源对技术体系搭建非常重要,它是站在巨人的肩膀上,推进技术向前发展,跟强大的技术社区交流,同世界技术接轨。可以这么说,如果突然停止使用开源技术,绝大多数的互联网业务就不能继续运行,就像停电一样,根本做不到。可见开源技术已经影响到工作生活的方方面面,只是人们没有感知而已。
伍涛:问一个非常敏感的问题,2015 年时,携程出过一次严重的宕机事故——528 事件,希望叶老师能给我们分享一下当时的情况。
叶亚明:我是主导这次事件恢复的总指挥,所以对情况前因后果非常了解。回头反思,虽然我们已经做了一系列顶层设计的措施,但有些地方仍然做得不够。第一是理念,理念说起来很简单,但真正要想清楚并落实不容易。不光要关注交互的数量和质量,还要关注网站的高可用性 High Availability。理念是网站的问题影响到顾客的工作和生活,当时的我在这个高度上重视不够。比如,HA 高可用性的顶层设计是什么? 同时,它会影响到所有业务应用,如何合理分配研发资源,尽量少地影响业务研发? 更让人头大的,是梳理现有的应用 (极其复杂的工作),全面使用新的架构。
叶亚明:从技术角度看,过去 30 年,技术演变的推进速度非常快,技术对社会也带来了很大的影响,在中国,消费互联网、移动支付、社交、游戏广告、出行用携程等等,都对生活带来了巨大影响。
对技术人员来说,开源是融入技术主流很重要的手段。虽然贸易战我们做不了太多的事情,但是技术开源这件事情,我们应该大力推进,从使用成熟的开源技术,到贡献开源的项目。宗旨就是融入世界技术主流,让技术更好服务于工作和生活,让技术处众所周知。
Q&A
参会者:我想问一下您管理这么大的团队,从人员的团队管理、架构设计、开发标准、运维方面技术体系的顶层设计有一整套体系管理吗?体系是什么?叶亚明:不限在这里讲到的,重要的有 Unified Architecture, 快速产品研发及项目管理的体系、组织架构及管理、开源软件 program 等都是技术体系里的范畴,还有中间层、大数据,高可用 HA 都需要进行顶层设计、集中规划。还有技术品牌,人才体系建设等等。
重要的是技术体系的顶层设计是成长型公司必备技能,并且试之落地。
叶亚明:CTO 做这样的事情还可以,不是 CTO 做这件事还蛮难的。当然这件事情还涉及业务的关系,我两年前写的《CTO 六要素》文章可以参考。
叶亚明:第一,今天的顶层设计算一个。你做的事情有没有顶层设计? 是思路的改变与技能的提高。
第三,利用好每一次机会,包括像“528 事件”,它让你变得更强大。
转自:TGO 鲲鹏会