考拉上“云”的431天:经历了怎样的“脱胎换骨”?

admin 0

今年双11,是考拉海购加入“阿里动物园”的第二年,其成绩单备受外界关注。

加入阿里431天,考拉交出了一张漂亮的成绩单:会员规模增长104%,刷新过往双11纪录。

很多人不知道,增长来之不易——2019年9月,考拉被阿里正式收购后,经历了一场“脱胎换骨”:数据库应用架构重新设计、百万级节点的容器集群大规模迁移、数据中心从杭州机房迁移到上千公里之外的张北、从基础组件到中间件全面拥抱云原生……

2019年9月29日,阿里为考拉举办了入园仪式

在这一年里,黑卡会员们买买买的同时,考拉悄无声息完成了一场数字基础设施的彻底换血。

如今,全站业务全部平稳过渡到阿里云后,考拉已栖息在一棵长在“云端”的参天大树上。

一场大规模快速迁移

阿里收购史上,考拉体量不算最大,情况却很特殊。

网易只出售了考拉的业务,却没有出售原本支撑考拉的数字软硬件设施,比如物理机房、云端数据库等均不在其中。

因此,收购完成之后,考拉核心数据势必迎来一场大规模快速迁移。

根据阿里预定的计划,从2019年9月6日到2020年3月31日,为“考拉入园”后的半年整合期,考拉需要完成所有数据迁移,且业务不停服,一年之内,考拉需要完成云原生的战略升级。

焦灼的电商战中,业务发展等不起,但这样的速度,在阿里历史上前所未有。

“原本的历史数据和业务应用,就像是考拉的身体,现在我们需要给它换一个新的‘大脑’,重新连接起原本的数据,但不能影响它正常活动。”阿里云资深架构师吴明比喻道:“要以最快速度和最低成本完成这一任务,考拉上云是最佳方案。”

吴明(左三)和阿里工程师们

这是一场与时间赛跑的迁移,阿里和考拉都出动了最出色的工程师。

然而,第一个问题就成了难关。

考拉数据迁移的目的地远在河北省的张北数据中心,按照惯例,大规模数据迁移,都需要拉一根实体的网络专线传输数据,如果从杭州铺设专线到河北,施工成本以千万计,关键工程量还特别浩大,根本无法在半年里完成。

阿里工程师想到了一个好办法——过渡时期,可以先将阿里云杭州数据中心做接入口,然后在云上做内部链路,云端跳转之后,考拉只需从网易机房铺设一条通到阿里云杭州数据中心的专线,就可以把数据迁移去张北。

张北数据中心机房

“最后只拉了5公里专线光纤,工期一周,还把原本几千万的成本压缩到了几千元。”考拉上云架构师伏见说。

很快,工程师们又遇到了新问题。

数据迁移要求打通阿里与网易的内网,可是两家公司的防火墙都很结实,根本无法同时访问两家的内网账号。

阿里云为此孵化了一个新产品——为考拉量身定制了独立的虚拟私有云(VPC),既可以让两家公司的网络流畅互通,又能确保数据安全。

“这种全新的产品,原本开发周期需要一两个月,但是为了让考拉如期完成迁移,我们只花了一两周就完成了开发。”吴明说。

“如果是线下机房,涉及到两家公司的安全方案,很难实现这样的模式,解决这一问题,也是得益于阿里云可以快速灵活配置VPC的能力。”伏见说。

2019年11月12日,阿里巴巴集团董事局主席兼CEO张勇来到宁波保税区的考拉1号仓

网上协同挺过最关键时刻

今年1月底,考拉进入了紧张的数据迁移内测环节。

数据迁移一旦正式启动,顺利的话只需三四个小时,但要确保过程万无一失,前期需要花几个月测试和演练,从虚拟流量到真实流量,确保规避所有问题,才能正式启动。

紧要关头,疫情来了,600多位参与数据迁移的考拉工程师,春节之后被迫开始“云办公”。

“年初五就有同事打电话问我,年后大家不能去公司怎么办,要不要延迟数据迁移的时间?”伏见回忆。

伏见明白,一旦迁移推迟,考拉就会错过今年第一波的3.8女神节大促,还要延长与网易机房的合约期限,导致成本上升。

大家在“云办公”时,还不忘加油打气

“‘云上协同’有困难,但迁移不能延迟,无论如何也要顶着压力扛过去。”伏见说。

云办公的时间里,伏见成了最忙碌的“电话接线员”,有时候同时要开三个会议,手机开一个,电脑同时开两个。

其他工程师大抵如此,都是接入多个会议持续通话,以保持“云办公”时集体操作的协调统一。

数百名工程师在云上协同,哪怕一个环节没确认好或是信息理解不一致,就可能发生误操作,导致迁移后的应用功能出现差错。

2月29日晚,所有测试完毕,考拉全站迁移阿里数据中心进入最后的关键时刻。

当时尚未全面复工,原本灯火通明的阿里西溪园区,大楼内空无一人。

将近凌晨12点,伏见与数据库团队和阿里云的两位工程师来到园区,在漆黑的夜里点亮了大楼里唯一一间办公室。

他们负责在一线第一时间确认考拉数据迁移的执行进度,而考拉其他工程师们,则分散在全国各地,同时加入这场大规模迁移操作,每个人都凝神屏息,默默等待着关键时刻的到来。

大家制作了自己表情包,在群里相互打气

“当时非常紧张,迁移的操作列表,每一个都非常长,每一个操作步骤后的验证步骤也非常长,需要很多同学配合做出精细化操作。一旦切到阿里云时出现差池,会对用户体验产生直接影响,我们的目标就是零故障,因此必须非常谨慎。”考拉测试质量团队负责人林兮说。

办公室里,伏见盯着大屏上的进度条一点点向前挪动,就像瞭望着一艘夜航巨轮,正在航道灯的引导下驶过暗礁险滩。

“其实演练过很多次,基本上不会出现问题。”伏见相信。3月1日凌晨3点40多分,进度条顺利走完,数据迁移大功告成。

考拉团队从阿里滨江园区搬到西溪园区前的留念

全站切换至阿里云后,考拉立刻进入验证阶段,一有问题,工程师们迅速跟进解决,1日当天,成功闭环98%以上的问题。

“那天,这个数据在群里同步时,大家都很嗨,这可以算是一次‘零故障’迁移了。”林兮说。

数据搬完家后,考拉立刻开始备战3.8女神节大促,迎接考拉迁移上云后的首个流量洪峰。

考拉团队总结会后的留影

经过连续几天的压测和紧急扩容,3.8女神节当天,考拉的流量峰值,较2019年双12增长了72%,而运行在云上的考拉如磐石般稳稳地扛住了流量峰值,而且成本比之前大幅度降低。

考拉各业务线也在当天被证明已100%打通,形成闭环。

直到大促结束,吴明团队没有接到伏见的紧急电话,没有消息,就是最好的消息。

每年节省2000万元成本

3月31日,考拉如期从网易机房下线,铺设在网易和阿里之间的5公里光纤专线,在完成历史使命后也顺利拆除。

至此,考拉全面上云、快速入园的任务,获得了里程碑式的成功。

圆满完成第一阶段目标后,考拉开始了全面的云原生之路。

过去,每到大促前夕,考拉都要提前几个月打申请,临时购买服务器扩容。

如今,借助阿里云的弹性计算,考拉可实现单日内的弹性收缩。

还有同城双活数据中心,考拉过去一直想做。

在同个城市部署两个数据中心的好处在于,可以在一个数据中心发生故障或灾难的情况下,实现用户的“故障无感知”。

考拉曾在2019年做过一套方案,发现建设这个能力需要8个月,成本高达上千万元。

阿里早已尝试过“同城双活”、“异地双活”、甚至“异地多活”,在阿里云原生产品天然多AZ容灾能力下,考拉在一个月内就完成了“同城双活”的能力建设,具备了多AZ容灾能力。

“工作被‘抢’走了,我还挺高兴的。”这是考拉运维工程师李斌的肺腑之言。

3.8女神节后,考拉用户量大增,却苦了运维的同学。

一直以来,考拉使用自建的ZooKeeper(分布式协调服务),一旦负载增大,某台服务器宕机后,就会自动选举新的服务器,这个过程中无法对外提供服务。

宕机伴随的警报声,可能发生在任何时间节点,李彬不止一次在凌晨恢复数据,而且钉钉群里还有一线业务员“刷屏”式的催促。

伏见(左)

伏见发现阿里云有一套MSE(微服务引擎),相当一个全托管平台,找阿里云问了两句,对方工程师就拍着胸脯说,“没问题的,以后的运维工作我们都包了。”

阿里云的资源弹性能力和自动化运维技术,预计为考拉每年节省成本近2000万元,同时计算性能提升20%。考拉也不再设立专门的运维团队。

“开箱即用”的云上产品,更像是一种共享经济,而且阿里云这些云产品经过历年双11的打磨,解决过业界最难的问题场景和复杂度。

和阿里云一起吃第一个螃蟹

2019年9月到2020年3月31日,归功于阿里云的成熟产品,“考拉迁云”顺利完成,考拉基础产品负责人玄圈对这一过程的评价是“稳定”,但到了“考拉换树”全面拥抱云原生时,阿里云一些“半定制”产品,却带来了一些新的挑战。

吴明(左)和玄圈(右前)

在阿里云的PaaS层系统中,有一个名为ARMS(业务实时监控服务)的中间件,可以通过实时监控系统运行指标,评估系统健康状态。

AMRS最大的优点是改造成本低,一行代码就能接入,原本的多数业务也不需要修改。但是ARMS也是个“考拉定制版”的产品,支持全链路压测,上万级节点体量的考拉,是第一个吃螃蟹的“自己人”。

第一次为伏见做ARMS介绍的人,是阿里云架构师涯海,两人一见如故。

考拉第一次接入ARMS时,也没出任何问题。

考拉团队给涯海(左)送花以表感谢

然而,恰逢考拉“55大促”临近,考拉将100多个应用上线ARMS,没想到却发生意外,顾客购物时偶发无法下单,反复出现“请重试”的提示。

伏见紧急回滚了百余个应用的版本后恢复。

5月,考拉团队进行压测

发生故障后,涯海立刻从西溪园区赶往滨江园区,亲自给考拉团队道歉。没想到考拉技术负责人朱静波走过来安慰他,“这个主责算我们项目组的,归伏见。”

没想到,涯海后来赶去滨江的次数越来越多,尤其是“99大促”压测,小问题聚集爆发。

压测,就是把大促最高水位的压力,持续不断地在线上系统模拟。

好比一个人平时走200米没有感觉,突然暴走2万米,肾、肝、肺的问题都会在高压下暴露出来。

涯海(右二)和考拉样板间的同学们

在涯海和伏见看来,早点发现故障是好事。

双方制定了作战方案,例如从灰度环境再到线上环境,分多个批次上线等等。5个月,双方共同解决了200多个问题,ARMS迭代升级50多个版本,终于走到了“老夫老妻”的状态。

5月28日,考拉海购全面上云

10月,考拉在ARMS上的业务一切稳定,“边开飞机边造引擎”的日子终于告一段落。

考拉也经受了双11大考

很快,考拉又迎来了今年天猫双11的压测,玄圈专门带了几个组长,跑去西溪园区1号楼7层备战双11的“光明顶”,听着双11技术大队长霜波站在台上指挥,“第一轮压测的目标是什么,加多少流量……”


你身边的专业电商代运营专家-联系我们 (已有 9651条留言)

18257175696