小结:
1、
所谓的中台技术,就是从 IDC,网络,机房,操作系统,中间件,数据库,算法平台,数据平台,计算平台,到业务平台,每一层都有清晰的定义和技术产品。
具体来看,首先,集团技术的分层和每层的产品化输出起了关键作用。
陈思淼:阿里6个月重写Lazada,再造“淘宝”的技术总结-云栖社区-阿里云 https://yq.aliyun.com/articles/696697
2018 年 3 月,一则消息在朋友圈刷屏:阿里巴巴元老彭蕾卸任蚂蚁金服董事长,转而担任东南亚电商网站 Lazada 的 CEO,一时之间舆论纷纷。而在此之前,早在 2017 年 9 月,阿里集团管理层决定,启动 Voyager 项目,开始对 Lazada 的全系统改造,并且要在 2018 年 3 月底之前上线。时间如此紧急,在 6 个月内重造“淘宝”可能吗?
第一次改造 Lazada 的尝试
Lazada 在 2012 年创立于新加坡,业务很快扩展到马来西亚,越南,印度尼西亚,菲律宾,泰国,新加坡六国,阿里巴巴在 2016 年第一次投资 10 亿美元,2017 年第二次追加投资,完成对 Lazada 的系列收购。
在阿里接手之前,Lazada 一直是东南亚六国第一大电商,但是同时也面对非常激烈的市场竞争。包括京东、腾讯都把目光投向了这里,而亚马逊也试图在东南亚扩张。
从业务模式来看,过去 Lazada 更偏自营,更像亚马逊,是一家零售公司而不是互联网公司。Lazada 自建和仓储,同时提供 FBL(Fulfilement By Lazada)服务给商家。Lazada CTO、Voyager 项目的负责人陈思淼告诉 InfoQ 记者,阿里集团为了更好的支持 Lazada 业务,同时将阿里在电商丰富经验和运营方法论赋能到 Lazada,首先要做的事情是将 Lazada 的技术平台全面升级成阿里的技术引擎。
说起来容易,做起来可是一点儿都不轻松。首当其冲的问题就是 Lazada 的原始系统存在的一系列问题。
根据陈思淼的介绍,Lazada 的初创期只有两个系统:Alice- 负责前台展示,BOB- 负责商品,交易,优惠等后台逻辑。业务发展过程中,将交易和履约拆出来 OMS。BOB,Alice 和 OMS 是 PHP 写的,一些新系统以 GO 为主。
当时的系统有这样几个问题:
1)系统架构不合理,没有分布式和模块化分层的思想,模块和模块间的代码耦合很严重,改动牵一发动全身。
2)稳定性差,基本上每周都有 P1 故障。
3)大量的数据同步,系统间依赖不是通过接口依赖,而是通过数据拷贝同步的方式。
4)迭代慢,系统架构演进复杂,多地研发团队,稳定性差等问题,导致新需求的迭代速度很慢。
2016 年年中,阿里首次接触 Lazada 系统,陈思淼说:“当时以赋能为主,最初的方案,是将阿里的商品系统输出到 Lazada,也就是 ASC(Alibaba Seller Center)项目。”
但由于系统改造的基础过于薄弱,正在业务价值体现上并不十分明显,2017 年,阿里巴巴和 Lazada 的管理层,决定通过阿里的技术体系对 Lazada 的所有系统进行重构升级,由此 Voyager 项目正式启动。
陈思淼介绍了整个项目的计划:Voyager 项目一期,将无线端和搜索链路替换成阿里技术体系。Voyager 二期,将用户,商品详情,购物车,订单,退款,履约等系统,全部重构,将数据迁移到新系统。
Voyager 项目
Voyager 项目是 2017 年 9 月底开始的,项目初期,阿里巴巴集团 CTO 行癫下了三个决定,为 Voyager 项目定下基调,而这在陈思淼看来是成功的关键:
一是从淘宝,天猫, 业务平台,搜索等各个阿里集团内部 BU 抽调精兵强将,成立独立的团队来为 Delivery 负责;
二是割接方案一刀切,不考虑灰度发布方案;
三是整体项目必须在 3 月 31 日前完成。
独立团队有了组织保障,割接方案一刀切节约了很多工作量,明确的时间点,所有团队必须全力以赴,背水一战。
项目分为两期发布,Voyager 一期无线端 12 月 15 号发布,Voyager 二期全站重构,春节前割接一个国家,3 月 31 日前完成所有国家。从结果来看,项目执行得很完美,2018 年 3 月 24 号,最后一批国家:越南、印尼、菲律宾陆续割接到新系统。总用 Voyager 项目计划必须在六个月的时间完成。
困难:时间紧,任务重,强度大,很复杂
陈思淼坦言,在执行过程中,远不是一帆风顺,确实遇到了很多比较棘手的问题:
首先,Voyager 项目覆盖了客户端,搜索,导购,电商中台,履约,端到端链路,在阿里内部涉及到十几个技术 BU 的协同和技术选型工作。
其次,项目启动时间和天猫双十一重叠,开发资源非常紧张,为了项目的成功,BU 技术老大们派出了尽可能多的精兵强将到这个项目里,几乎是从牙缝里挤资源了。
除了 Voyager 的开发,还涉及到影响到的 Dependency 系统,包括支付(iPay)、安全、中间件、基础设施、Lazada 研发系统(LEL,财务,CS,供应商系统),前后参与技术同学超过 300 人。
第三,项目周期长和强度大。项目横跨国庆、新年和春节,100 多名工作人员,连续六个多月的 996 加班;其中有近 20 人需要连续三个多月在东南亚六国出差负责割接。
第四,项目上线过程复杂。每个国家单独上线,情况各有不同,新的支付渠道,多语言定制,数据迁移方案,UAT 测试,本地员工培训等过程复杂,开发过程花了三个月,上线过程也花了三个多月。
第五,停机发布过程复杂。首先步骤繁多,包含数据迁移,业务验证,流量割接在内有 100 多个步骤。另外涉及老系统 200 多张表的数据,需要在一个小时左右的时间内迁移到新系统,并且在运营、测试团队上百人、几千个用例验证通过后,才能决定是否将真实流量切换到新系统,复杂程度可见一斑。
磨合:Coding 是没有国界的语言
除了技术上的难度,Voyager 项目可以说是 Lazada 原技术团队与阿里技术团队合作的开创典范。面对着不同国籍、不同工作习惯以及生活习惯的外籍员工,如何快速磨合达成默契,以加快项目进展也是一个重要问题。
项目期间,先后超过 100 多名来自俄罗斯、泰国、越南等十几个国籍的 Lazada 的工程师出差到杭州闭关。陈思淼评价说,参加项目的 Lazada 海外技术同学都能理解 Voyager 项目对 Lazada 的重要性,参与度挺不错。
“首先要面对的问题就是交流语言问题。”陈思淼一开始认为,语言的障碍可能会造成一些沟通上的误解和矛盾,在业务交流上,会多付出许多精力。然而令人惊喜的是,在技术团队协作的时候并没有在语言层面遇到什么问题,对此,陈思淼这样说:“程序员之间,用代码说话,而 coding 是没有国界的。”
其次是两个电商设计体系的冲突。为了让 Lazada 技术团队对阿里更体系化分层、更清晰的设计理念和体系进行快速的学习和消化,阿里技术团队组织了许多培训课程,并且在实际的工作场景中进行分享和指点,帮助 Lazada 的同学一步步融入、理解,所幸大部分同学都比较好的理解和接受新的体系。
三是工作习惯和工作时长。陈思淼说,海外的同学,原本习惯于按照 Ticket 来做事情,写代码前,需要有明确的 Ticket 和设计文档的,Lazada 团队对于加班也不太适应,但在整体杭州联合开发基地的热火朝天创业氛围的激励下,原本不适应的许多同学也逐渐融入和大团队,为 Voyager 项目贡献力量。
成功:“中国速度”带来最终成功
陈思淼认为,项目能成功,一方面是由于阿里集团高层的重视和支持,有了组织和资源的保障;二是因为阿里技术同学的技术深度,领域专业度,连续作战能力、奉献精神起了很主要的作用。
他告诉 InfoQ:“项目刚开始,很多 Lazada 的同学认为,我们做了六年的系统,你们不可能六个月被全部重写掉的。但也令许多人觉得难以置信的是,技术方案阶段,开发阶段,测试阶段,UAT 阶段,割接上线阶段,每个阶段都很多同学连续奋战到 12 点甚至一两点才下班,三次割接,加上演练有七八次通宵,很多同学就干脆睡在公司。虽然累,但是大家都向着同一个目标,努力奋进的感觉太棒了。” Lazada 的同学都惊叹这是“中国速度”,态度由最初的怀疑,逐渐变成了相信。
陈思淼还补充了这样一个细节:“在新加坡割接过程中,一个 Lazada 同学来问我:你们阿里同学在杭州,是不是有两班倒呀?不然怎么我晚上下班前提的 BUG,第二天早上来,就神奇的修好了。正是由于这样的不怕苦,不怕累,坚决拿到结果的 Voyager 精神,才能将不可能变成可能,打赢这一仗。”
6 个月之后的“成绩单”
经过阿里技术团队的改造,Lazada 网站系统迎来了彻底的刷新与升级,和老系统相比,新系统的设计分为 17 个电商核心域,包括会员,商品,交易,营销等,29 个核心模块,包括无线,前端,后端三大部分。
系统后端模块包含在七个核心系统中,既降低系统复杂度,将来模块单独拆分也比较容易。此外,从 IDC、中间件、监控运维、业务系统都使用阿里巴巴中台技术事业群的解决方案,节约了很多的时间成本。阿里电商平台技术经过多年发展,业务复杂度、系统容量、开发效率上,可以说是全世界领先。这套技术体系结合海外电商市场,能很容易产生化学反应。
陈思淼认为,从结果来看,Voyager 项目还是相当成功的,新的 APP,包括新个性化首页和新搜索在 12 月份上线,新的电商平台,赶在新加坡春节前的 2 月 10 号成功割接,第二批泰国、马来西亚的平台在 3 月 4 号成功割接;最后一批的三个国家在 3 月 24 号成功割接。
“项目上线后稳定性和性能,有了很大的提升。”陈思淼说道,“同时 Lazada 的 Birthday 年度大促,也在四月份成功举行,DAU 和 GMV 都取得了 200% 增长的历史性的新高。”
三月中旬,Lucy 彭蕾就任 Lazada CEO,阿里巴巴进一步为 Lazada 带来了业务和技术的全面赋能。
新的 Lazada,一方面在自营,正品,物流等已有的优势上继续加强。另一方面,阿里将自己非常擅长的:淘宝的 C2C 模式、天猫的品牌直营的业务模式,引入到 Lazada,形成了全新的战略。
从技术角度来看,新的技术平台打下了坚实的地基,开发效率提升很大。陈思淼告诉 InfoQ,未来的三个月,每个月都有重大的发布和升级:在无线端,新 APP 性能达到秒开,个性化首页,新搜索算法;在卖家端,新的橱窗推荐,Voucher 优惠券,详情装修,客服 IM 工具,旺铺等卖家工具,让更多卖家参与运营;在平台端,强大的选品和活动搭建能力,A+ 的数据统计平台,智能化 Push 平台。陈思淼说,这些产品和工具,都是过去六个月的时间里,在 Voyager 项目中迭代开发出来的。
阿里巴巴中台战略是成败关键
2015 年,阿里集团董事局主席马云参观了芬兰的 SuperCell 后,在阿里集团提出大中台,小前台战略,也成立了集团 CTO 牵头的中台技术事业群。
陈思淼说:“从 Lazada 重构的案例来看,这么短的时间,几十个系统的的重写和数据迁移,如果没有中台技术事业群的支持,是不可能成功的,从侧面也证明了:中台战略,是新业务、尤其国际化业务成功的关键。”
所谓的中台技术,就是从 IDC,网络,机房,操作系统,中间件,数据库,算法平台,数据平台,计算平台,到业务平台,每一层都有清晰的定义和技术产品。
具体来看,首先,集团技术的分层和每层的产品化输出起了关键作用。
比如在 Voyager 项目中,数据工程师将 Lazada 的所有数据,全量导入计算平台 ODPS 中,并且计算出通用的中间表和分区表,供项目中搜索索引构建,数据迁移,BI 报表等多个子项目使用,极大节约了时间成本。
DBA 和开发工程师使用数据库工具 iDB,可视化查询、管理、运维 Lazada 原有 DB 集群。业务平台的 TMF 和星环框架,可以将业务定制和平台逻辑分层,极大提高了开发效率。比如项目管理工具 Aone,新加坡,曼谷 UAT 过程中,上百名参与者,每天几百个 BUG,业务同学提交到 Aone,分配到杭州上百名工程师进行回复、修改、问题解决,有条不紊。
其次,在 Lazada 项目中,大量的集团技术产品也进行了出海和国际化部署方案,比如活动搭建平台斑马,推荐系统 TPP,搜索平台 HA3,无线接入层 AServer 和 MTOP,中间件和运维支撑平台,监控系统 Sunfire 等,对于 Lazada 业务来说,站在巨人的肩膀上,不需要重新发明*,就能复用这些巨大的技术红利。
东南亚是一个难得的机会
经过这次的项目,陈思淼对于东南亚互联网的发展情况有了长足的了解。在他看来,东南亚是下一个互联网的热土,他告诉我们,有这样的看法是基于几个重要的因素:
首先,东南亚拥有 6.3 亿的人口,其中 70% 都是年轻人。比如在越南胡志明市,整个城市就像一个大工地,每天都有新的变化,有许多的建筑从无到有,满街的人流和摩托,就像国内改革开放初期,发展快,变化快,给人生机盎然的感觉。另一方面,他也看到,当地的基础设施的发展和当地的经济发展不够匹配,许多年轻人到了周末和晚上都是蹲在街边喝啤酒聊天,有大量的人口红利和时间红利去抢占。
第二,东南亚六国的经济增长提速,比如越南连续十几年的 7% 的增长,菲律宾,马来,印尼也有 5% 的增长速度。
第三,国家一带一路的政策的辐射,和东南亚各国关系的改善。
第四,由于 4G 网络的成熟,小米,OPPO 等 Android 机的渗透,移动互联网的人口红利。
这四点重要的因素给项目的发展提供了沃土。除此之外,陈思淼也发现,东南亚的互联网竞争也是非常激烈的,特别是在电商领域。
Lazada 在东南亚拥有非常好的品牌认知度和市场占有率,但同时也面对 Shopee,Tokopedia 的激烈挑战。东南亚的电商也非常复杂,六个国家,多种语言,不同的宗教派别,必须进行本地化和差异化的运营策略,才有可能符合当地消费者的需求。电商基础设置,比如在线支付,在东南亚普及度不够,COD(电子支付)交易还是占主流,类似线下 7-11、ATM 转账还占很大比例,很多银行甚至都没有 H5 支付页面。同时,物流情况也有些落后,印尼,菲律宾等岛国的物流情况比较复杂,Lazada 自己建仓和配送体系,也是为了给消费者提供更好的体验。
陈思淼说,国际化和新零售,是阿里目前最重要的两个战略方向。Lazada 是阿里第一个总部不在中国的业务单元。他透露:“研发中心的分布,除了杭州,我们会在深圳新建 Lazada 的全球研发总部,以支持到 Lazada 业务,以及未来的海外国家,地点在深圳湾后海的阿里中心,未来一年达到超过 200 人的规模。”
对于 Lazada 未来的发展,陈思淼有着绝对的信心,因为,而这份自信是建立在实力的基础之上的。
从业务上来看,Lazada 集合了 Retail 自营模式,Brand 品牌直营模式,Marketplace 的 C2C 模式,以及中国卖到东南亚六国 Crossboarder 跨境模式,业务模式和国家差异系的复杂度,比起淘宝天猫来,挑战更大。
从集团重视程度来看,前支付宝董事长 Lucy 彭蕾亲自担任 Lazada CEO,阿里集团继续投资 20 亿美元,在人才投入更是不惜代价。
从增长空间来看,东南亚的人口接近中国的一半, Lazada 还有几十倍的成长空间。
从团队来看,Lazada 深圳技术团队的骨干,是阿里各个团队抽调的精英,和阿里技术一脉相承。
从国际化来看,国际化的视野、团队、英文环境的锻炼,很多同学在项目过程中,英语交流能力进步非常快。
阿里近期全资收购了南亚第一大电商 Daraz,覆盖巴基斯坦等五个国家,也会采用 Voyager 的技术体系对 Daraz 进行整站整合。陈思淼说:“我们支持的国家将会从六个,覆盖到东南亚 + 南亚的十一个国家。”
作者介绍:
陈思淼,花名云动,2008 年加入淘宝,先后在淘宝技术部,共享事业部担任高级技术专家,商家事业部技术负责人,目前担任 Lazada CTO。2019年7月12日,陈思淼将在深圳 ArchSummit 全球架构师峰会上发表演讲,介绍Lazada改造过程中遇到的问题以及思考。此外,还有来自 Apple、Google、Netflix、阿里、腾讯的讲师,分享包含大数据、人工智能、混沌工程等话题演讲。
原文发布时间为:2019-04-03
本文作者:陈思淼
本文来自云栖社区合作伙伴“ArchSummit”,了解相关信息可以关注“ArchSummit”。
陈思淼:阿里6个月重写Lazada,再造“淘宝”的技术总结的更多相关文章
-
10月15日 | 云栖大会“淘宝移动技术实践&;开放论坛”来了!
参会报名链接:http://baichuan.taobao.com/marketing/yunqi#?baichuan_channel=cnblogs 顺应移动互联网消费升级趋势, 淘宝作为移动领域的 ...
-
我在阿里这仨月 前端开发流程 前端进阶的思考 延伸学习的方式很简单:google 一个关键词你能看到十几篇优秀的博文,再这些博文中寻找新的关键字,直到整个大知识点得到突破
我在阿里这仨月 Alibaba 试用期是三个月,转眼三个月过去了,也到了转正述职的时间.回想这三个月做过的事情,很多很杂,但还是有重点. 本文谈一谈工作中遇到的各种场景,需要用到的一些前端知识,以及我 ...
-
TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片
**TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片首先我们来看看淘宝的功能和样式:** 之后看看制作完成的演示:(由于全部功能弄成GIF有点大,限制上传大小好像在1M之内,压缩之后也有1.9 ...
-
8年前诞生于淘宝,细数阿里云RPA 的前世今生!
9月10日,踏入55岁的马云正式卸任阿里巴巴董事局主席一职,由阿里巴巴集团CEO张勇接任.公寓创业.西湖论剑.美国敲钟,从成立到登顶中国最值钱的公司,阿里巴巴只用了20年. 阿里云RPA,2011年诞 ...
-
阿里云MVP:开发者的超能力,用技术创造更好世界
阿里云MVP:开发者的超能力,用技术创造更好世界 2019年3月,第8期阿里云MVP(最有价值专家)完成终审,截至目前,全球已有27个国家和地区.近500位云计算专家和优秀开发者成为阿里云MVP.阿里 ...
-
阿里淘宝的S1级别bug,到底是谁的锅?
3月25日,阿里的淘宝APP在IOS系统上出现BUG: 在打开淘宝APP以后,用户就会收到系统弹窗通知:“您使用的程序是测试/内测版本,将于当地时间2020-03-28到期,到期后将无法使用,请尽快下 ...
-
阿里开源首个移动AI项目,淘宝同款推理引擎
淘宝上用的移动AI技术,你也可以用在自己的产品中了. 刚刚,阿里巴巴宣布,开源自家轻量级的深度神经网络推理引擎MNN(Mobile Neural Network),用于在智能手机.IoT设备等端侧加载 ...
-
两个月淘宝刷单,连续死N次血泪史 (转)
两个月淘宝刷单,连续死N次血泪史 派代网 2014/10/13 刷单 分享到:3 [思路网注] 看来是靠刷流量刷销量是行不通了,点击率与展现无法匹配,这是致命的!!那么,贵就贵点,直通车来吧!!再删宝 ...
-
浅析 阿里 OceanBase 双十一 淘宝天猫 天量交易 承载能力 原理
我们先看看 这 2 篇文章: <秘诀!支付宝支撑双十一4200万次/秒的数据库请求峰值的技术实现> https://mp.weixin.qq.com/s?__biz=MzI3MzEzMD ...
随机推荐
-
error when loading the sdk error parsing
Error Parsing: C:\android-sdk_r24.2-windows\android-sdk-windows\system-images\android-22\android-wea ...
-
Android 获取控件滑动速度,速度跟踪器VelocityTracker;
VelocityTracker 速度跟踪器 在写关于Android滑动的控件,如果用户手指在屏幕上(当前位置 - 起始位置 > 某个数值)就做一个界面切换,但是总感觉太生硬,只有满足上面的条件才 ...
-
EntityFrameworkCore DBFirst
需要引用如下nuget包 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityF ...
-
Neo4j学习案例【转】
转自 打怪的蚂蚁 CSDN: https://blog.csdn.net/xgjianstart/article/details/77285334 neo4j有社区版本和企业版.社区版本是免费的,只支 ...
-
C# 服务端获取客户端 系统/浏览器/IP
/// <summary> /// 获取客户端操作系统版本 /// </summary> /// <returns></returns> public ...
-
php前端传过来的json数据丢失 (max_input_vars)
开发向我反馈,前端业务页面提交数据用js将要传输的数据用json dump后,发给服务器,服务器在loads后发现数据是不全的. 这个问题困扰开发人员和运维人员.首先调整php.ini文件的上传文件数 ...
-
java web 入门实例servlet篇(显示后台数据库列表,删除某一条记录并显示)
编写过程中需要注意的问题: 1.建立eclipse动态web工程时,需要改写编译后class文件的位置,通常情况下是这个位置:/WebContent/WEB-INF/classes 2.配置的页面链接 ...
-
SQL Server 2008R2发布与订阅的配置
使用SQL Server的发布与订阅可以将一个数据库的数据实时传送到另一个数据库中,使用这种方式与Link Server相比可以减少对数据库的连接次数.下面介绍SQL Server 2008R2发布与 ...
-
使用 NetBackup 命令创建 Hyper-V 策略(命令创建其他策略也是如此)
Veritas NetBackup™ for Hyper-V 管理指南 Product(s): NetBackup (8.1) 使用 NetBackup 命令创建 Hyper-V 策略 本主题介绍如何 ...
-
为什么实例没有prototype属性?什么时候对象会有prototype属性呢?
为什么实例没有prototype属性?什么时候对象会有prototype属性呢? javascript loudou 1月12日提问 关注 9 关注 收藏 6 收藏,554 浏览 问题对人有帮助,内容 ...