透明思考


Transparent Thoughts


沃尔玛的数字化平台分析

尽管2009年就已上线了电商平台Marketplace,但直到2011年,沃尔玛在数字化领域也不能算成功者。当时他们的电商网站只有相当基本的功能,用户体验不算方便,搜索不太好用,也不能与店面或供应链无缝对接。之前的几年,沃尔玛的电商收入跟其他零售商(例如西尔斯、梅西)一样缓慢线性增长。正因为如此,当沃尔玛的电商收入在2011年至2014年的三年间增长150%、从年销量49亿美元增长到122亿美元、超过史泰博(Staples)成为亚马逊和苹果之后美国第三大在线零售商时,这一变化才更令人好奇。

数字化之旅

沃尔玛的全球电商部门主要有三方面的责任与行动:

  1. 运营沃尔玛全球10个网站,在线提供超过700万种SKU,无缝连接门店与仓库,给顾客提供多种购物选择。
  2. 通过@WalmartLabs这个创新孵化器,不断更新网站和移动应用,利用顾客数据和社交网络洞察预测顾客行为,给顾客提供更好的在线和在店购物体验。
  3. 对内打造沃尔玛的电商能力,在全美国建设线上业务服务中心,建设新的电商操作系统Pangaea。

为了达到这些目标,沃尔玛在几年中收购了多家IT企业,光是作为创新引擎的@WalmartLabs就收购了14支科技团队,为整个企业的数字化转型提供了能力上和文化上的支撑。2013年,沃尔玛收购了提供云计算解决方案的OneOps公司。该公司拥有成熟的PaaS和私有云IaaS能力,支持多种公有和私有云平台,包括Azure、Rackspace、AWS、OpenStack等,与沃尔玛的云化、服务化趋势相符。到2016年,沃尔玛全公司有超过3000名工程师基于OneOps平台开发和管理IT系统。

在电商销量猛增的过程中,沃尔玛的IT系统遭遇了性能瓶颈,这也是他们开始将IT系统服务化的重要出发点。他们希望“系统拥有足够的弹性去处理峰值,同时不产生负面的用户体验”。事实证明,微服务架构带来的效果是明显的:

  • 销售提升:转化率在一夜之间提升了20%,移动端的订单立即增长了98%;
  • 可靠性提升:黑色星期五或节礼日等大型购物节期间,再没有出现过宕机;
  • 运维成本降低:将昂贵的硬件换成了便宜的X86服务器,节省了40%的计算资源,总成本下降了20-50%。

沃尔玛还把自己的数字化能力提供给自己的供应商。2014年,他们上线了自己的广告平台Walmart Exchange(WMX),用自己门店和线上电商的数据帮助供应商更有效地投放广告(包括沃尔玛网站、第三方网站和邮件广告)。

数字平台战略视角分析

数字平台战略的角度分析,沃尔玛在构建自己的数字平台能力支柱方面已经取得了令人瞩目的成绩,这也是其电商销量能大幅提升的重要原因。

交付基础设施

  • 通过将业务系统改造为大量、小规模、无状态的服务,使系统可以部署到廉价服务器的集群上。同时弹性基础设施也允许随需增减计算节点。
  • 没有应用服务器。所有服务以standalone的形式通过docker部署。
  • 全面的监控机制(使用ConductR),当服务失败时能自动响应,并提供排错所需的信息。在集群层面汇集日志,避免需要分别查看每个节点的日志。
  • Akka可以把一个交易建模为一个有穷状态机,可以在中途持久化状态,可以取回状态,提供了一种错误恢复的机制。
  • Akka的监控(supervisor)机制类似于Erlang:“let-it-crash”,不需要假设虚拟机或计算节点可靠。

API和架构治理

  • 用Play实现API Gateway,以RESTful API的形式为其背后的系统提供统一的入口。
  • 原来的大块系统按照业务领域划分为小块,团队也随之划分,例如搜索团队、商品团队等等。每个bounded context有它自己的词汇表、拥有自己的数据。
  • 服务切分不仅仅是IT系统的事,而是组织、代码、数据库三个层面的重构。一开始不先直接做“硬”的切分,而是先从逻辑上做划分(例如数据库的schema命名规则、代码的包),然后检查是否有循环依赖;等依赖关系逐渐理清了,再分解成独立的服务、独立的数据库、甚至NoSQL数据库。
  • 解决性能问题的主要方式是通过异步操作(使用Akka):把数据库写操作异步化,从而减少对JVM线程的占用,并且使能并行处理,极大地提升系统的性能和可扩展性。

数据自服务

  • 因为数据量太大,必须改变ETL、数据预处理的思路,对数据做真正意义上的实时处理(使用Akka Streams)。
  • 用Spark对数据进行单件流处理,数据处理的延迟由6小时(ETL过程)缩短到10秒。

数据方面的架构如图:

创新实验基础设施

  • 组织层面上,@WalmartLabs是一个创新的孵化器机制。
  • 技术层面上,OneOps提供了路由技术和监控能力,使在线的快速实验成为可能。
  • WMX能统一收集和利用各种渠道(门店和电商)的用户数据。

客户触点技术

  • @WalmartLabs对整个组织输出全渠道、移动、响应式设计等能力。
  • 沃尔玛的电商平台支持多种客户触点(电脑、移动)。Walmart.com在美国的流量超过一半来自移动设备,Walmart Pay应用部署到4600多家门店。
  • 使用大数据(购买行为、搜索历史等)个性化顾客的交互体验。个性化搜索引擎Polaris提升了20%在线销售转化率。
  • WMX支持单一顾客视图,形成对顾客的全面理解。

参考材料