品牌名称
Gap
企业规模
1001-5000人

使用MongoDB在空白处实现极高的敏捷性

112次阅读

The Gap 的创意总监坚持认为“时尚是……关于本能和直觉反应。” 在竞争激烈的零售世界中,随着 Gap 寻求超越快速时尚零售商和其他不断推动 Gap 和其他零售商更快满足消费者需求的趋势,这种“本能”已经开始快速发展。

 

尽管看起来很无聊,但 Gap 的采购订单管理系统在确保它能够快速发展以满足消费者口味方面确实非常重要。由于无法使用传统关系数据库满足业务敏捷性要求,Gap 将 MongoDB 用于广泛的供应链系统,包括各种主数据管理、库存和物流功能,包括采购订单管理。

 

从快乐的顾客那里收钱

undefined
 

考虑到 Gap 的规模,这绝非易事。The Gap 是一家全球专业零售商,为男士、女士、儿童和婴儿提供服装、配饰和个人护理产品。The Gap 拥有近 134,000 名员工和近 3,200 家公司直营店以及另外 400 家特许经营店,让注重时尚的消费者可以在世界各地找到 The Gap。

 

他们确实做到了,每年花费超过 160 亿美元购买Gap 最新款的运动裤、靛蓝色水洗牛仔裤和工字背背心。

 

正如Gap 顾问 Ryan Murray 在 MongoDB World所介绍的那样,这既是好消息也是坏消息。

 

很好,因为这意味着 Gap 比其他任何人都更能为美国以及越来越多的世界提供服装。

 

不好,因为在其规模上改变可能很困难。

 

方钉、圆孔和采购订单

即使是像采购订单这样简单的事情,也会对 Gap 这样的公司产生巨大的影响。采购订单是一个丰富的业务对象,包含各种信息(项目类型、颜色、价格、供应商信息、运输信息等)。Gap 的采购订单可以是供应商生产某件衣服的订单。

 

undefined
 

关键是业务将订单视为单个实体,而 Gap 的 RDBMS 将采购订单分解为各种行、列和表,并连接在一起。

 

不是很直观。

 

虽然这似乎是一件小事,但正如 Murray 指出的那样,RDBMS “迫使 [开发人员] 转变业务概念——什么是采购订单以及围绕它的业务规则和能力是什么——并转变方向进入“我如何使这项技术为我工作并帮助我解决业务问题?” [思维模式]。这破坏了流动。” 开发人员可能比我们其他人更具技术性,Gap 希望其开发人员帮助建立业务,而不仅仅是技术。

 

Murray 继续说道:“我们不希望开发人员不得不处理他们试图解决的业务概念与他们用来解决它的技术之间的阻抗不匹配问题。”

 

通过提高开发人员生产力实现供应链敏捷性

因此,Gap 意识到需要改进管理库存及其供应商的方式。它求助于 MongoDB,因为它能够轻松理解不同形状的数据,它需要将这些数据快速透明地存储在 Gap 的数据库中。简而言之,MongoDB 帮助 Gap 变得更加敏捷,因此也更具竞争力。

 

undefined
 

Gap 管理此问题的一种方法是从单体应用程序架构转变为基于微服务的方法。

 

构建应用程序的传统模型通常是大型单体。在这种情况下,这意味着 PO 系统是一个大型代码库,它处理与 PO 相关的所有事情,无论是处理来自计划系统的需求并创建这些采购订单,还是只是处理采购订单如何实际集成到其他系统和下到供应商。

 

所有这些东西实际上彼此相当独立,但是管理它的代码库非常庞大和庞大。

 

相反,Murray 和团队引入了微服务的概念,这是一种致力于一种业务能力的服务。例如,微服务可以通过 EDI 或任何技术处理与供应商的通信,新采购订单已被注册。Murray 指出,事实证明 MongoDB 非常适合此类微服务,因为它非常简单和轻量级。

 

Gap 使用 MongoDB 来支持这些单一服务并将它们连接在一起。这些服务中的每一个都与业务功能相匹配。开发人员可以在单独的微服务上工作,而不会相互碰撞或等待,这在单体架构中很常见。这使他们的工作效率更高;工作得更快。

 

MongoDB 作为“敏捷开发的极端推动者”

在这方面和其他方面,Murray 称赞 MongoDB 是“敏捷开发的极端推动者”或迭代开发。打蜡狂想曲,穆雷继续说:

 

undefined
 

MongoDB 允许 [s 我们的开发人员] 从根本上忘记底层的存储层,而只需完成工作。随着业务的发展,作为聚合概念的采购订单的概念也会随着向其中添加字段而发生变化。MongoDB 让开。[开发人员] 删除一个集合,在该数据库上启动新代码,MongoDB 接受他们抛出的任何内容。

 

同样,开发人员不必停下来,打破解决业务问题的上下文,然后回到他们正在做的事情上。他们只是专注于业务问题。因此,作为敏捷的推动者,作为开发人员快速和智能工作的推动者,MongoDB 非常有用。

 

举个例子,Gap 能够在短短 75 天内开发出这种基于 MongoDB 的新采购订单系统,这是公司的记录。MongoDB 以真正的敏捷方式使 Gap 能够继续在系统上进行迭代。五个月后,该企业希望以仪表板样式跟踪采购订单的生命周期。使用 MongoDB,该业务需求几乎不需要开发工作。Murray 和团队能够添加新类型的采购订单,并让它们与同一集合中的旧采购订单轻松共存并继续前进。

 

不是在几个月。或数周。但是,由于 MongoDB 的灵活性,开发团队每天都能够向业务展示该功能的外观。

 

所有这些都让 Murray 和他在 Gap 的团队很高兴与 MongoDB 合作。“软件归根结底是关于人的,”他坚持说,并且为开发人员提供他们喜欢使用的 MongoDB 等软件会让他们感到快乐和高效。

 

而且敏捷。