4000人技术团队怎么玩?看一个大型云商转型的血泪史
苏宁云商 IT 总部执行副总裁乔新亮从苏宁互联网+转型、企业构架演进、技术路线、组织变革等四个方面深度剖析云时代苏宁是如何成功转型,提升企业核心竞争力,在激烈的市场竞争中抢占先机。
苏宁的互联网+转型
苏宁的转型面对一个非常复杂的业务,不只是零售,业务上进行海量的交易,过程中强调体系开放,并关注用户的体验,从各端去契合用户的需求,满足用户的需要。
在转型过程中,苏宁形成了一个很清晰的战略,就是坚持零售本质,开创O2O的模式,形成了“一体、两翼、三云、四端”:
- 一体,坚持零售本质。
- 两翼,坚持O2O的运营,保持线下、线上的开放运营。
- 三云,一个大的开放体系,要把物流、数据和金融开放。
- 四端,从POS端、PC端、移动端、电视端统一地为用户提供服务。
苏宁的企业架构演进
业务环境越来越复杂,线上的业务增长也越来越快,还有系统也面临分拆和重构,信息建设怎么避免被推翻重来?
2012 年,苏宁引入了企业架构理念,为了尽快地推进也引入了 IBM 的团队,开始把企业架构的规划及管控的方法纳入到信息化的管理过程中。逐步地企业架构管理的内容也开始完善,从应用架构的管控,到数据架构到技术架构,包括到过程应用开发管理,都成体系地管理了起来。
到 2016 年,整个运转都比较成熟,如下图所示,是整个架构的演变过程。
苏宁企业的架构历程
- 第一代,线下连锁时代的 POS 加 ERP,前面是一个 POS 的系统,后面使用 CP 的 ERP。
- 第二代,引入了 IBM 的 WCS,进入电子商务建设。后面是 ERP,线下是 POS,线上是 IBM 的 WCS commerce 系统。
- 第三代,完全系统自主建设,采用前中后台的架构。主要能力实现平台化输出,整个对外全面地开放。
第一代架构,POS 加 ERP 支持线下规模的扩张。所有财务的管理都是集中化的,所有信息的交汇都是跟集中化的一个 ERP 系统交互。能够快速地开店,并且提供一个比较一致的服务给客户。
第二代架构,做电商,引入了 IBM 的 WCS。系统通过引入 IBM 的电子商务套件,快速地去支持线上的核心业务,布局线上的渠道。线下业务的发展,当时后端的 ERP 使用的是 SAP。
2012 年,在竞争激烈的过程中,系统出了一些问题。比如这种套装软件的扩展性不强,当时 IBM 的 WCS 套件是用了 IBM的 780 的小机,顶配都已经撑不住。后来去做了一个关于套装软件的拆分,能够去支持一个比较大的交易量,同时在这个时候启动了整个架构的重塑和重建。
2013 年定下来一个大的架构,企业架构规划后续的两三年时间都是在这个架构下去建设的。所有的都是基于开源的组件,分成大的前、中、后台,前台去关注用户的体验,用户有客户、有合作伙伴。中台更多的是共性的一些逻辑,比如会员的管理、商品的管理、库存的管理、成员的管理、价格的管理等等。
前面是四端,那四端后面的逻辑是共性的,更多的是关于运营管理,像供应链的管理、财务的管理等等,做到的是整个运营的高效。下面部分是基础平台的支撑,这部分比如像企业服务总线、数据总线,还有分布式的服务调动框架,流程引擎,安全的系统,风控的系统等等都在这里。
苏宁的信息团队一方面要支持业务的发展,另一方面又要从老的系统往新的系统去牵引,很大程度上依赖于外部服务到完全都自主掌控,一个组织团队的搭建。到今天为止,整个系统都是苏宁自己建设,已有 4000 多人的研发队伍。
看一个多渠道库存共享的例子:
在这里边有销售线各端,比如易购的线上,还有“猫宁”跟天猫合作的渠道、有线下的连锁,还有电视,有门店等等。各端的数据过来,要去做库存的查询和锁定,怎么实现呢?
库存管理是上面架构当中中台的一个系统。对于可销售库存有一个专门的库存中心进行管理,其他的像采购的库存、调拨、移库、退厂、盘点、销售库存的增减、退货的库存、供应商的承诺库存都要统一的围绕它去做。
当架构切分成前面是各端,中间的逻辑是共性的拆到中台以后,线上线下的融合可以有很多种,可以去设计和运营,这个更多的是产品经理要去设计的。
苏宁在把这方面的能力,信息化都建设得比较成功的情况下,更愿意去把自己的物流的能力、金融的能力,一些积攒下的数据能力对外开放,跟合作伙伴一起合作共赢,这是目前在整个架构上去推进的一个工作。下面我们看一下,在这些年的发展过程中苏宁的一个技术路线。
苏宁的技术路线
传统线下连锁巨头如何成功转型电商?
首先,苏宁在进入电商领域转型初级阶段,他已经是中国最大的线下连锁企业。线下门店有 1600 多家,覆盖了全国各地。员工总数大概有 18 万人。后端是 SAP 系统,拥有了针对传统零售业完整的物流体系,以及供应链的管理。
这个时候,面临的挑战是怎样将一个规模很大的传统零售商尽快的实现互联网的转型,公司的策略是引入 IBM 的咨询顾问及 IBM 的技术。具体的技术战略软件就是电商系统,引入了 IBM 的 WCS,通过 EAI 的方式快速地集成接入,这样苏宁快速得到了一个线上系统。此外,最关键的是在这个过程中培养了自己的 IT 团队。
从基础设施的层面上看,系统是一个基于物理机的平台。这是一个非常大的投入,在最高峰的时候, IBM 在苏宁有 100 多个顾问,300多研发团队。在这个过程中苏宁通过这样的一个战略决定,赶上了互联网的这波浪潮。
随着业务的发展,苏宁进入到自建的 SOA 体系阶段,主要的挑战来自原来线下的“POS + WCS”引入的套装软件,不足以支持业务的快速增长,这部分主要是系统扩展性的问题。
对于服务的注册、发现也是比较空的;另外一个就是基于物理机的运维部署,难以实现资源的合理利用。过程中的一个策略就是拆分架构,前面也说了把它拆成一个前、中、后台,这个过程中在基础路线上运用了什么呢?
第一个就是一开始有企业服务总线,然后逐步地引入了自建的分布式的服务调用框架,在苏宁叫 RSF,远程服务调用框架。这是一个基于开源的技术,netty 的技术,然后完全自建的一个分布式服务调用框架。
对所有的服务进行了管理、监控。微商高速成长的的阶段,因为 SOA 架构的拆分带来的就是每个更小的系统都需要高可用的考虑。运维的工作量在持续的增长,原来的小集群变成非常大的集群。
另外一个基于物理机的系统资源浪费比较严重,还有大量的系统发布。原本的这种“手工+半自动”的方式怎么去保证质量和效率?
解决方案是 2013 年引入了 OpenStack,苏宁目前大概在数据中心有一万多台物理机,有几十万台虚拟机,绝大多数是虚拟化的集群。这个时候对于发布、部署都能够很快实现,同时也建设了持续交付的系统,跟上面的 OpenStack 的云平台结合去做部署,也有很高的运维能力,这个时候也开始建设基于大数据处理的监控系统。
如下图中间可以看到,下面是基础设施,上面有虚拟化,然后有服务交互的主机。我们大概有 1400 多个系统,2 万个服务,每天 80 — 90 亿次的服务调用,都是通过 RSF,少量的是通过 ESB 进行交互。
左边部分可以看到是关于持续交互云平台,能够支持快速的发布,快速的扩缩容的管理。右边部分可以看到有 Kafka,有基于 Hadoop 整个大数据分析的平台,任何技术层面的问题都可以及时发现。
建立在 SOA 架构上的整个拆分和基于心里化的基础上,架构目前在走向微服务,已经在开发测试环节,使用了 Docker 技术。计划在今年年底把生产环境的五状态这些 Web 和 APP 的应用同步到 Docker 上面,这个能够更加快速的部署和交付;另外一个可以提升资源的利用率。
苏宁IT组织变革之道
企业的技术管理,不是光靠 CTO 就能管好,需要有一个对应的组织而且是和上面的企业架构的工作事项匹配。所以,我们就设立了 CTO 办公室这一技术管理组织,从企业的业务架构、应用架构、数据架构、技术架构,应用开发的管理、稳定性的管理、安全管理去设定组织,从不同的维度去对架构进行规划和治理。其中,组织上的管理都要去匹配;产品的规划,产品也要能够去支持、提升企业核心的竞争力。
右边部分就是设立了一个关于项目管理的管理组织,从项目的规划到质量的管理,到资源的管理进行规划和治理。
上面这两个组织划的很大,但实际两个组织加起来也就二三十个人,我们下面的 3000 人主要在做左下方的业务应用的研发,是根据贴近用户的需求进行设定,根据我们规划的前、中、后台的架构去进行拆分。
比如消费者平台研发中心是面向的用户,用户端的应用开发。开放平台更多的针对商户和供应商,物流是针对物流业务,这里有一个没写的就是中台,这些共性的逻辑是放在中台研发中间。
平台的研发里面有很多和应用、业务无关的平台和系统的建设,比如服务的基础框架,分布式的数据库的访问,分布式服务的调用,安全的风控平台,大数据的处理平台,持续集成的平台,以及 IS 平台的建设。
我们有一个对外的苏宁云团队,目前大概有 400 人。信息支撑业务的发展过程中,我觉得有几点自己的一些思考:
- 规划和敏捷并重,敏捷和规划是不冲突的,应该完美的契合在一起,尤其做技术管理的人,一定要时刻去拿捏这个度,管控规划要做多大,敏捷就有多少要去放开。
- 用人观念的转变,业务产品技术的划分最关键还是要找到正确的人,一个好用的人抵过不好用的人十倍,我觉得就要激发团体的主观能动性。
- 不能抑制团体的主观能动性,因为敏捷容易制造混合,所以要去拿捏度。很多人从一个团体里离开,有的时候他不是因为薪资,可能是因为成长的空间不够大,做的工作看不到价值。所以怎么让一个人可以拥有 10 年的工作经验,而不是只有一年的工作经验使用了 10 年,这是管理者或者技术管理者不停要思考的问题,管理者需要和团体一起成长。
“智能化“”和“持续集成”助力苏宁踏上新的征程
苏宁的信息团体怎么进一步提升企业的核心竞争力?有两个方面很重要,一个是智能化,怎么把大数据的能力在业务的各个环节都发挥作用。另外是持续集成的能力,要再去提升,让研发团体能够去快速的交付。
让大数据去发挥能力的话,需要两个方面的支撑:
- 需要大数据平台。你需要有平台、有系统去支持。
- 上面应该有应用。比如做销售的预测,智能补货等等。你还要有自己的建设、模型和指标体系。
这几年苏宁在大数据平台上面,已经具备了很强的能力。可以看一些数字,目前我们存储的容量大概在64个PB,每天新增的数据量在500个TB。分析的报表取自原来IBM Cognos的主分析报表,可以自己去定义模型,能够在企业管理的几百个维度和指标上面进行OLAP的分析。
大数据的一个方面是能够看到现在是什么样的报表,另外一方面就是能够去预测。苏宁为了去降低大数据使用的难度,建设了一个苏宁机器学习平台,它有两个特点:
- 关于机器学习的两百多个算法,比如回归等等,都内嵌在了这个平台上面。
- 它是一个可试化、拖拽的一个方式,可以拖拽数据去做训练,观察这个训练完的结果,降低机器学习使用的门槛。把这个机器学习平台推广到各个研发中心去使用,他们能够去做各种预测相关的工作,并且把这个集成到业务流程当中。
在这个时代,信息化绝对是一个企业的核心竞争力,有基础核心的、交易支持的系统,也有智能化大数据分析系统,也有去提升信息系统建设持续集成能力的系统。如果一个企业能够很快的拥有,对提升企业的核心竞争力将非常有帮助。
乔新亮
苏宁云商IT总部执行副总裁