前携程CTO谈技术体系的顶层设计
极客时间编辑部
讲述:丁婵大小:2.27M时长:04:58
日前,前携程网 CTO、靖亚资本创始合伙人叶亚明 (Eric Ye),在 GTLC 全球技术领导力峰会上就“技术系统的顶层设计”这个主题进行了分享,以下为关键内容。
叶亚明表示,初创企业在面对技术系统设计和战略规划的问题时,通常都会遇到这样的困境,即当企业发展到一定阶段时,由于业务的发展和系统复杂度提高,研发问题会越来越多。
究其原因,是因为在企业早期,缺乏系统性的设计,研发只是解决当下的需求,习惯于底层设计。而经过几年发展,随着模块及模块之间复杂度变大,诸多问题便会显现出来。企业必须投入更多的资源“救火”,因此可用于投入研发新产品、新功能的资源变少。在这样的企业发展中,系统面临两个症状,一是研发速度变慢,二是宕机多。其他症状为组织协调变得困难、团队沟通成本增加、组织架构不适用当前业务发展等等。
因此,公司到了一定规模后,必须做技术体系的顶层设计,否则每天“低头拉车”,不看方向或者不会看方向(缺乏顶层设计),公司必然会出问题。
携程成功从最初电话订酒店、订机票的模式转变为移动互联网的过程中,就做了技术体系的顶层设计。
彼时,携程内部从 5 个业务扩充到了 20 多个业务,它们都需要在 Unified architecture 架构下工作。而伴随着业务总量的快速增长,技术团队也从 600+ 快速扩充到了 3000+ 工程师。另外,携程外部还面临着激烈的竞争格局。
携程的挑战在于如何选择可以满足不同业务需求的架构、如何建立人才招聘培训锻炼体系、如何全力引入世界领先的开源技术,支持业务硏发的快速交付。对此,携程的应对办法是从源头上做好技术体系的顶层设计,技术在满足各方需求的同时,有前瞻性地建设技术体系。产品硏发项目管理体系也很重要,从产品的概念、研发交付再到顾客体验的生产线都要建好。此外,及时调整技术组织,如果组织设计不合理,问题就会反映在技术架构中。
所谓顶层设计,架构、框架、基础设施、大数据建设是一方面,产品研发的生产线建设是另一方面,提升产品的交付能力和基础设施的可扩展能力。还有一系列软性的模块,比如:招聘培训体系化、开放工程师文化、技术品牌提升、注入世界级已验证过的架构、引进开源技术等等。
携程在顶层设计的体系下,逐步建设,积极使用,前后用了三年多时间迭代,从顶层设计到使用,全面形成了一整套技术体系。
最后叶亚明还分享了携程曾经出现的一次严重宕机事故,即 528 事件,来说明顶层设计的重要性。
当宕机事故发生时,很多服务器都停止了工作,如果不工作的服务面继续扩大,问题将非常严重。大约 15 分钟后,技术团队找到了问题所在,原因是某个程序正在删除服务器里的执行代码,所以导致服务器停止工作。原本计划发布系统上传激活新版本后再把老版本删掉,但是有一位工程师写错了代码,将整个生产代码的根目录都删掉了。
彼时,大部分服务器已经停止工作,Build repository 中的历史代码也被删除了,发布工具本身也受到了损伤,这直接会影响从打包、测试到上线的生产线。但好在客户数据无损,经过十个小时的紧急抢救,携程网基本全面恢复,但仍有一些问题,只能一边发现一边修复。
从此次事故中,叶亚明总结了 4 点经验:
一个完备的研发、测试、发布的生产系统顶层设计非常重要。
在生产线工作的员工一定要经过培训、考试,对生产怀揣着敬畏心。
事故发生后复盘,亡羊补牢是非常值得的。
衡量一个团队强不强,就看掉到低谷后,反弹得有多快、多高。
此外,经过这件事,叶亚明也深刻体会到,客户的日常工作和生活依赖企业,这要求企业不仅要做到交付的东西速度快、质量高,还要重视用户使用的稳定性,给以用户服务保障。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 加菲猫当一项技术,一个系统,一个业态发展到一定时期,需要从上往下看,进行顶层设计,站的越高看得越远,如果站在宇宙角度看地球,是不是不好的事就会减少很多
收起评论