再见锦江

大约2006年11月的时候,我加入了锦江德尔互动这家公司,这家公司还有个名字就是HUBS1,当时是锦江和美国德尔的合资公司,做的事情是为锦江搭建酒店中央预订系统(CRS)。我之所以加入这家公司,是我以前公司的上级Tiger在这里做技术总监,而我当时刚从掌上灵通出来,想创业但没太明确的方向,Tiger说反正你也没事,这个公司刚成立时间不长,而且技术相对薄弱,你过来做架构师,把技术好好整一下,当时我29岁,做互联网也已经有7年了,经历过1999-2000的第一波互联网浪潮,也经过了网易和掌上灵通的历练,技术正是纯熟的时候,虽然在掌上灵通我已经是研发经理,而到这边一个人也不管,但我觉得做技术还是比较纯粹,所以没太犹豫就加入了这家公司。

我之前的经历都是纯互联网公司,和传统行业离的比较远,而这家公司却是一个以传统酒店业务为核心的技术公司,进入这公司后我就开始学习业务,同时开始了解技术体系,说实话这家公司的技术也确实薄弱,很多事情都是从头开始。我刚进公司就发生一件事,当时负责IT运维的经理对在Linux下装Qmail头疼不已,可能是之前都是用Windows系统的缘故,而对我从2000年开始玩Linux的人来说没什么难度,1天时间就把Qmail搞定了,运维经理瞬间喜笑颜开。

HUBS1最早的系统是买的Genares(目前已被Sabre收购),基于这套系统开始运营,Genares系统给我们最大的作用就是标准,是国际上通行的酒店分销业务标准,当时Genares就跑在一台Linux服务器上,MySQL的数据库。我们的目标就是要参考这套标准,研发自己的CRS系统,我们选择J2EE技术体系和Oracle数据库,内部系统代号叫FOG,也就是Future Of GDS。2006年到2007年Java技术体系比现在简单,但Spring、Struts、Hibernate或iBATIS已经在被使用,而对于我,除了Spring、Struts、Hibernate/iBATIS,我要搭建的是一套SOA架构的系统,SOA在当时技术领域也是刚开始流行,而我也并非为用而用,是要做到真正意义的系统分层和前后分离,我们采用了SOAP协议的Web Service,逐渐将应用服务化。到2009年的时候,Restful的服务开始出现,我们将一些服务开始进行Restful化,用简单的HTTP协议和Json数据格式,服务慢慢轻量化。

酒店数据具有三维性,即除了价格库存之外,还有一个时间纬度,由此引发数据量的大量增长,为了应对数据挑战,我进行了数据库表分区,在应用层面引入MQ、Memcached等提高性能。底层应用方面,公司的所有Linux服务器基本都是我安装配置的,包括内核优化、防火墙、应用服务器、负载均衡、Oracle等等,有时候对着SecureCRT就是一整天,我基本上可以顶一个SA和半个DBA。服务器装好后,和运维的同事一起搬到机房,亲手放上机柜插上网线。

随着研发的深入,我对酒店业务也不断的学习与理解,从酒店、房型、计划,到AIR,再到RateCode规则、衍生价,潜移默化中业务思想逐步融入架构中。

从2007年到2009年,FOG经过了3个大版本的升级,终于完成了SOA的体系化建设,一张完整的架构图成型。FOG拥有完全的自主知识产权,成为锦江的CRS系统,命名为JREZ。我对这个系统太熟悉了,几乎没有解决不了的问题,有时针对故障,几分钟内就能判断出问题出在哪里。我在这3年多里几乎没有休过年假,半夜被电话叫醒,起来解决问题也时有发生,节假日出去也是带着笔记本电脑和上网卡,可以随时解决问题。

(2007年在HUBS1)

2008年汶川地震,Tiger以极强的社会责任感奔赴震区,抗震救灾,但回来后没多久就辞职了,团队还是要正常运转,很多时候大家遇到事情就来和我商量,等到2009年的时候,公司决定让我来做技术总监,我开始带着这个40多人的团队继续前行。

2009年下半年,FOG已经成型,接下来只要继续演进就行了,这时候我曾经在掌上灵通时的领导来找我,想让我和他一起创业,创业是我一直的愿望,所以在2010年初,我选择去创业。

2010-2013年,我经历了艰难的3年创业,这3年中,技术也发生了很多变化,一个是云计算,一个是移动化。在HUBS1时我还未对操作系统做虚拟化,但到了2012年已经基本上开始使用云服务了,不要再自己买服务器,也不要自己安装操作系统了。移动方面,我开始用Objective-C写iOS程序,并把应用上架到App Store。移动互联网时代已经势不可挡的到来了。

2010年的下半年,HUBS1的副总裁包总找我,说准备筹办锦江电商,他将出任CEO,问我愿不愿来负责技术团队,我当时创业刚刚开始,确实无法加入,但我对包总说,锦江成立电商,整合资源,面向在线,是个好事,有任何技术上的问题需要我的,我一定会帮忙。后来我参加了电商的选型评审会,电商将采用毕博+Oracle做咨询顾问,构建业务和技术体系。

2013年5月份的时候,我从创业公司离开,一方面反思创业,一方面在寻找新的方向,包总知道我创业结束,就和我说,还是希望大家能一起共事,我对锦江了解,而且电商当时的CIO超群要去创业,我可以来接手技术团队。出于对包总的信任,以及对锦江酒店这套体系的了解,我决定加入锦江电商,负责信息技术。

锦江电商的技术基础非常好,软件方面,采用了Oracle的整套应用体系,硬件方面,采用了刀片服务器、硬件负载均衡、独立存储等高性能设备,并基于虚拟化技术构建了私有云,在研发方面,由ThoughtWorks培训并搭建了整套Scrum敏捷研发体系,系统应用也都是面向服务的Restful架构,总的来说,整个技术的起点很高。

我2013年7月入职,整个下半年,我都在熟悉这个体系,了解每个开发人员,与超群做好衔接。电商的技术团队分四块,即网站平台、会员、移动和IT基础运维。网站平台团队一方面负责锦江官网开发,另一方面也是提供各业务的基础服务,会员团队负责Oracle Siebel CRM的开发运行和BI,移动团队负责“锦江旅行家”APP研发,IT基础运维团队负责服务器、网络、数据库的运维。网站平台、移动、IT运维对我都没太多难度,Scrum敏捷开发我在创业的时候也已经实践过,对我稍有挑战的是Siebel,Siebel是强大的CRM工具,我们也只用到了Siebel的部分模块,Siebel管理着上千万的会员数据,并基于各业务线的交易数据,为会员计算积分,Siebel的积分引擎非常强大,几乎可以满足各维度的积分规则。经过半年时间的熟悉,我已经对整套体系有了深入的了解和掌握。

2014年,除了进行各业务条线的开发,我着手建立大数据团队,其实在2013年底的时候,我和超群就开始调研大数据,14年春节过后超群离职,组建大数据团队的事情,只有我来执行了。会员团队本身就有BI的职能,他们也是大数据的积极推进者,所以我们的大数据团队就是基于会员团队来组建,技术上采用Hadoop+Spark的组合,在业务方面,我给大数据团队提出了三个方向,1、促进营销;2、提升用户体验;3、为管理提供工具,具体来说,促进营销是通过大数据让营销更精准,提升用户体验是通过大数据为用户画像,并把信息反馈回前端系统,为不同的用户提供不同的服务,为管理提供工具是通过大数据的分析,形成数据面板、预测和收益管理等类型的工具。到2014年底,大数据团队完成了第一版的智能推荐,做到了在锦江旅游网站上向用户智能推荐旅游产品,并为会员打上了100多个标签,后续还完成了EDM的智能推荐,即发给每个用户的EDM内容是不同的。

(2014年8月,上海市长杨雄考察调研锦江,电商会员团队准备大数据成果演示)

移动团队负责锦江旅行家APP的整体开发和运营,这个模式激发出了移动团队的活力,同时在移动互联网的大潮下,在2013年APP发展迅速,但锦江旅行家APP一直面临一个问题,就是锦江之星有独立的APP,并通过其自有渠道推广,锦江之星APP的体量要比锦江旅行家APP大很多,两个APP在市场上会有一种莫名的“竞争”关系,对用户也会有困扰,所以在2014年,锦江旅行家APP就改版为锦江礼享APP了(锦江礼享是锦江会员俱乐部的名称),突出会员的性质,在市场上与锦江之星APP有所差异化。改版之后的APP,产量仍然没有特别明显的提高,我深知移动的重要性,但移动之路还是很艰难。

2015年是最考验的一年,也是最辛苦的一年。电商虽然管理着锦江会员,但是由于历史的原因,锦江之星也有一套会员数据,为了保证会员数据的一致性,我们和锦江之星一直采用会员数据双向同步的方式,但数据同步会出现很多问题,大量的运维工作因此而生,在双方的推动下,决定将锦江之星的会员数据全部合并到电商的Siebel系统,以后由Siebel统一提供会员系统及服务,同时将锦江之星官网也合并进入锦江官网,并开发锦江都城品牌的APP,这三个项目都由我来牵头,并计划在年中时上线。这三个项目同时进行,并且互相关联,特别对于会员,要满足锦江之星原有所有业务的需求,而且就在这个时候,负责会员的研发经理怀孕休产假,我只能承担所有的事情。会员整合的难度要远远大于我们的想象,我只能面对一个个出现的问题去解决,不断的和锦江之星的各个相关部门沟通协调,整个团队也是不停的加班,我极度紧张,出现血压高,无法入睡,半夜去医院的情况。项目上线后,有部分系统仍然不稳定,出现故障后恢复时间长,影响锦江之星正常业务操作,我们的压力极大,但也只能坚持,排查问题,寻找原因。到下半年,整个系统逐步稳定起来,各种问题都在减少,锦江的会员数据终于统一,并在业务上实现了锦江统一的大会员体系,锦江官网也包含了高星级和经济型各酒店品牌的预订,以及锦江旅游、租车、会员等业务,锦江都城APP可以覆盖锦江之星APP的所有功能,为以后APP整和做好了准备。2015年整个团队得到了极大的锻炼,留下来的人都成为了团队的骨干,并且他们都会怀念这段时光,虽然辛苦,但每个人都感觉到了自身快速的提高。

(2015年整合项目时周末加班)

(庆祝项目上线的蛋糕–“同志们辛苦啦!”)

2016年的发生了太多变化,先是公司内部调整,把产品部门从业务部门划出来,形成一个比较独立的部门,这个改变起到了不错的效果,但为了平衡,大数据团队转到了业务部门。移动团队一直是我最重点培养的团队,上半年我和移动团队策划了一个活动,就是从PC端向移动端倒流,整个活动持续2个月,效果非常明显,移动端的产量逐渐超过PC端,但整个互联网的环境是PC逐渐萎缩的,移动虽然有潜力,但电商能发挥的太有限。

在2015年整合项目的时候,我逐渐感觉到Oracle的这套技术体系过“重”,非常不灵活,所以就开始寻找能让技术体系变“轻”而且能自动化的解决方案,非常巧遇到了一支从Google出来的创业团队,做基于Kubernetes的Docker集群,我们就选择了这个技术方向,并将超过95%的应用,都迁移到了Kubernetes的Docker集群上,整个开发及运维管理的效率得到了极大的提高,应用发布时间从之前的小时级提高到了分钟级,而且发布都是自动化的。就在最近的2018年3月,Kubernetes 1.10的官方发布稿里,我们锦江电商的Kubernetes应用实践与华为的内部IT应用一起被写为案例。

(Kubernetes 1.10版本2018年3月官方发布稿)

接下来,集团决定成立WeHotel,即先合并电商和HUBS1两个公司,之后是逐步和铂涛互联网合并,公司领导以及组织结构都发生了巨变。我们也接到一个任务,就是将原来锦江之星APP、锦江礼享APP、锦江都城APP整合成为一个锦江旅行APP,APP的开发就由我们的移动团队来完成,其实我们整个团队一直有这样的愿望,希望能做一款代表锦江品牌的APP,为此,我们已经积累了多年。在APP开发的同时,我安排基础架构组和酒店开发组,重写了酒店搜索引擎,着重性能优化,Kubernetes的使用,可以使后端服务伸缩部署,灵活对应流量的变化,我给IT运维的要求是APP服务端接口要达到500QPS以上的处理能力。经过4个月的不懈努力,一款覆盖锦江23个品牌,约5000家酒店,百余个旅游产品的全新APP–锦江旅行,在2016年12月10日正式上线,并在接下来的1年多时间里,稳定运行。这款APP汇集了我们整个团队所有人的心血、努力和这么多年来的梦想。

(集团报介绍锦江旅行APP上线的专版)

在2016年下半年,随着整合的深入,公司决定将锦江的会员和铂涛的会员合并,为此我带着会员团队,深入调研两个会员系统,基于2015年会员整合的经验,制定了完整的会员整合方案和实施步骤,但公司的决定是将锦江的会员合并入铂涛,这也就意味着电商的会员团队即将解散,Siebel系统将被停用,虽然大家都不情愿,但还是配合顺利将会员数据迁移到了铂涛,一个亿级数量的会员俱乐部形成。

2017年,公司安排我不再管理酒店、会员、移动的技术团队,让我负责旅游业务,我带着一个20人左右的团队,重新开始,构建全新的旅游自由行产品Saas平台,4月立项,6月上线,7月试运行,8月正式投入生产,到2017年底,已经可以使锦江旅游国内自由行部的日常事务与业务拓展的工作比例从7:3转变为3:7,系统的使用使他们极大的提高了工作效率,可以有更多的精力去拓展业务,锦江旅游还计划在2018年基于我们的系统促进他们更大的业务转型。

时间到了2018年,我突然感觉到心力的疲惫,几个公司整合带来的文化冲突,以及我们曾经推崇的价值观,在一点点的消失殆尽,我想我需要离开了。

回望在锦江系工作的前前后后8年时间,我在技术上主导或参与了CRS、网站、会员、移动、大数据、旅游的一些列系统建设,也看到了这个中国最大的酒店旅游集团的变化。但对于我,比系统建设更重要的,是对于人的培养,一批优秀的技术人员在磨练中成长,逐渐的成为了可以独当一面的栋梁之才。

(长乐路400号5楼的走廊)

很怀念和大家一起奋斗的日子,很怀念通宵加班后看到的上海的早晨,很怀念一直支持我的同事、兄弟、姐妹,大家后会有期。

2017年度总结

又是在不知不觉中到了年底,今年的总结我想用一些关键词来表达。

角色转换,新年伊始,我就从一个技术管理者转变成一个综合业务管理者,负责旅游业务中心,除了技术研发,需要管理产品和运营,从只需要思考技术问题,转变为除了要思考技术问题还需要思考商业问题,而且商业问题会更重要,我对于这种角色转变到没有什么不适应,这源于我曾经的创业经历,在做创业公司合伙人的时候,已经熟悉于从公司的角度来思考问题,所以我更愿意用创业公司的方式来运作这样一个团队,对此相对应的,是管理的团队人数从8、90人,降到了20人,但这20人的结构也更加接近一个创业公司的组织结构。到下半年,我已经完全理解了业务运作模式、资金流向、商业模式等等,同时看到了旅游行业中仍存在的机会。

产品,在团队的共同努力下,我们最重要的是初步构建了一套旅游自由行B2B Saas平台,通过这个平台将自由行产品的供应端与分销端联系在一起,为旅行社提供了互联网+的在线工具,使他们提高业务运作效率,减少人力投入,并可以将更多的精力放在业务拓展上。同时我们在APP上线了多个单项旅行产品,包括门票、机票以及度假精选等多个板块。

技术,由于角色的转变,今年在技术上没有太多的进步,虽然也在见缝插针的与研发团队一起写写代码,但并没有学习太多的新技术,在推进新技术运用方面也阻力重重。这一年来AI人工智能可以说是大红大紫,AI的核心技术机器学习与深度学习热度不减,相关专业人才在市场上被疯抢。一方面我也在学习和了解相关的技术,另一方面在思考AI在行业中的运用场景,但并没有想的太清晰,AI可以说是打开未来世界的金钥匙,如何掌握这把钥匙,让人越来越焦虑。

学习,今年4月份的时候被Seton Hall University的Stillman商学院录取,开始了为期2年的MBA学习,读MBA,一方面是学习充电,更深入的学习工商管理,另一方面是结识更多的朋友,了解更多的领域。

读书,今年读的书有《文明之光》第4册,《大学之路》、《智能时代:大数据与智能革命重新定义未来》、《互联网下半场》、《腾讯传1998-2016:中国互联网公司进化论》、《技术简史》、《分水岭:看清中国科技和互联网未来五年的趋势》、《颠覆者:周鸿祎自传》、《人工智能(李开复谈AI如何重塑个人、商业与社会的未来图谱)》、《激荡十年,水大鱼大:中国企业2008-2018》、《大败局》等,除了一直喜欢的吴军博士的著作,吴晓波的《腾讯传》里面讲述的很多故事让我回想起我曾经经历过的互联网年代。

英语,英语的学习仍然在持续,在扇贝网上的打卡记录已达到1494天,学习将仍然会持续下去。

旅行,今年全家有2次出国旅游的经历,一次是在年初时去了一趟冲绳,冲绳很小,可玩的地方不多,但日本人的整洁在本土之外也依旧保持。在年中暑假的时候,我们去了美国,度过了13天的美国西部自驾之旅,从旧金山到洛杉矶,去了一直向往的硅谷,美国之行印象深刻,我为此还专门写了一篇游记攻略–《2017美西自驾游》。

健康,今年的体质不太好,有好几次感冒,而且在9、10月份的时候还得了一次肺炎,健康还是最重要的事情,以后一定要注意饮食,更多的锻炼身体。

展望2018,希望能更深入的进入旅游行业,并在业务上有所突破。

2016年度总结

日子过得好快,一转眼到了年底,又到了该总结一下的时候了。

2016年是充满变化的一年,有些变化完全出乎意料,面对这样的变化,我也只能“拥抱”。

过完年到4月份,公司业务线的划分出现了变化,最大的变化是产品部门从业务部门划出,变成一个相对独立的部门,形成业务、产品、研发三格局的结构,这样的结构比较符合互联网运作的方式,所以这个改变还是起到了不错的效果。

2015年总结的时候我说过2016年要在移动产品上发力,在4、5月份的时候,我和移动团队策划了一个活动,就是从PC Web端转化用户到移动端,活动在6月上线,为期2个月,效果非常理想,2个月的时间,移动的订单数量就逐渐超过PC端,与去年同期订单数相比,出现了成几倍的增长,在活动的后期,随着进入行业的旺季,出现了移动和PC订单同增的势头,订单总量是逐步走高的,而且活动结束后移动端的产量也比之前高了很多,说明用户有所留存,由此看出,移动仍然有很大空间,但我们的平台实在太小了,能给我们的空间也太有限,我们移动产品的未来在哪里呢?

就在这个时候公司情况“风云突变”,集团决定我们公司要和集团内的另一家公司合并,新公司的CEO、组织结构都变了,这个变化来的实在太突然,完全没有准备,面对这样的改变,整个团队表现的还比较稳定,虽然我和团队都有很多纠结,但还是在逐步适应的过程中继续前行,其实我也想了很多,最后我告诉整个团队,选择做正确的事情,什么是正确的事,就是对用户有价值的事情,我们不会为了小团队利益做一些最终损害用户利益的事情。

随着公司的逐步整合,我们也接到了新任务,新公司决定将原来分散的多个移动应用整合成一个APP,这个APP的产品研发任务就落到了我们团队上,其实我们整个团队一直有这样的愿望,希望能做一款代表整个集团品牌的APP,为此,我们已经积累了多年。经过4个月左右的不懈努力,一款覆盖集团23个品牌,约5000家酒店,百余个旅游产品的全新APP在12月10日正式上线,这款APP汇集了我们整个团队所有人的心血、努力和这么多年来的梦想。

大浪淘沙,凤凰涅槃,这支团队与我3年多前刚刚接手时的发生了很大的变化,经过3年多我不厌其烦的叮嘱、不断的历练、大大小小的战役(特别是2015年的大仗),这支团队已经逐渐具有了不屈的精神和战胜困难的勇气,面对压力,更多的表现出一种从容和自信,虽然距离我理想中的“梦幻团队”还有很大的差距,但他们已经开始从平凡走向优秀了。

技术方面,今年也取得了很大的进展,2015年总结的时候提到的Docker尝试,在2016年取得了突破,在与合作伙伴–才云科技的共同努力下(才云是为数不多的几个靠谱的合作伙伴之一),我们将95%以上的应用Docker化,并迁移到了基于Kubernetes的Docker集群上,在国内使用Kubernetes的企业还较少,在旅游行业中,我们肯定是第一家,Kubernetes和Docker的运用,使整个开发及运维管理的效率得到了极大的提高,应用发布时间从之前的小时级提高到了分钟级,应用发布逐步下放到开发团队,大多数时候,开发人员只要在Jenkins里点一下,几分钟内应用就发布完成了。与此同时,我们在新的项目中逐步使用Git作为代码仓库,在前端应用中使用React,在Redis/Codis、Elasticsearch优化方面都取得不少进步,而且2016一整年,应用系统都非常稳定,没有出现过大的故障。

个人技能方面,由于公司使用Kubernetes的Docker集群,所以我也开始研究Docker,并迅速喜欢上了这项技术,以前我装一些软件都是自己在Linux下用源码编译,连yum或apt都不用,自从有了Docker,我要测试一些软件,就直接去Docker Hub上找相应的镜像,拉下来直接运行就好了,包括实际或测试用到的GitLab、Nexus、RabbitMQ、Kafka、Postgresql等等,后来我发现一些Docker镜像里面的软件版本较低或功能有局限,干脆把Dockerfile git出来改一下或重写一个Dockerfile,再Build成我需要的镜像。

在7、8月份的时候,我开始研究微服务架构,从而研究Spring Cloud,感觉Spring Cloud的资料还是相对零散,我就写了一个Spring Cloud微服务框架的Demo,放在了GitHub上,微服务架构与Docker是绝配,简直珠联壁合。我在团队中推行React,其实是希望将来能在移动应用里使用React Native,React Native在年初就开始跟踪了,10、11月的时候,我研究了一段时间的React Native,在模拟器里实现了一些应用场景,React Native发展太快,每两周就有一个新版本,整个社区也非常活跃,国内腾讯、阿里都已在移动应用里使用React Native,这是一项有前景的移动开发技术。今年我还干了一件很有意思的事情,在5月份的时候,魏则西事件爆发,一向鄙视百度的我,突然感觉到使用自由的互联网是多么重要,而且是要让家人朋友不能被百度之流蒙蔽,所以我开始研究如何让家人也能方便的使用自由互联网,最好的办法就是在家里的路由器上实现“科学上网”,但一般的路由器是不会有这样的功能的,我开始了解OpenWrt,OpenWrt也是Linux,很多智能路由器的操作系统都是用OpenWrt改的,测试了几款路由器并刷入OpenWrt,最开始我通过路由器VPN出去,但我发现VPN虽然连上了,但很多网站还是打不开,推测是DNS污染比较严重,后来我还是选择了Shadowsocks,在路由器上实现了“科学上网”,家人只要接入这个路由器,就可以访问自由的互联网了。

今年继续读书,读的书有《硅谷之谜》、《文明之光》3册、《分享经济:供给侧改革的新经济方案》、《硅谷钢铁侠:埃隆·马斯克的冒险人生》、《刘强东自述:我的经营模式》、《启示录:打造用户喜爱的产品》、《Google:未来之镜(全球创新巨头真正的工作、思索与规划)》,在这些书里,给我留下最深刻印象的是吴军博士的《硅谷之谜》里讲到的,在硅谷,哪怕是一个很小的公司,其研发的产品也是面向全球用户,所以在硅谷,诞生出了像Google、Facebook这样的伟大企业,而对比我们,我们何时才能有这样的眼界和气概呢?

英语的学习也在继续,在扇贝网上的打卡记录已超过1100天,在今年打卡1000天的时候,我还写过一篇《1000天的感悟》,我相信我仍然会继续坚持下去。

最后说说生活吧,年初的时候,一家人去了趟日本东京,东京之行给我老婆极大的触动,东京的蓝天,干净的街道,发达的商业,行色匆匆但极讲礼貌的行人,这与她在国内看到的情况形成了巨大的反差,我也在思考,但始终无法将彬彬有礼的日本人和南京大屠杀的刽子手联系在一起,也许是日本人太注重规则与秩序,一旦没有约束,人性的丑恶就展示无疑了。年中的时候一家人和我父母,一起坐了一趟邮轮–海洋量子号,邮轮确实适合一家人共同出游,不用费心思。

在充满变化的2016年,还是要感谢一直支持我的团队和爱我的家人,对于2017年,仍然会面对太多的变化,追寻内心、做好自我就行了。