【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

沃尔玛尝到了推行 InnerSource 的甜头

  • 2016-08-04
  • 本文字数:1929 字

    阅读完需:约 6 分钟

自从 CTO Jeremy King 上台后,沃尔玛对开发团队按 InnerSource 的方式进行了重新整合。经过磨合期,大家已经认可了这种新的开发方式,而且 InnerSource 带来的各种好处开始不断显现出来。最近,Clint Boulton 对沃尔玛采用 InnerSource 的情况进行了进一步报道

InnerSource 仅仅是一个名称, 它是一种在企业内部应用开源软件实践的软件开发方法,也叫 Enterprise Source 或 Internal Open Source。InnerSource 实际上就是在公司内部,在各个不同开发团队之间以开源方式开发软件的工作方法。它可以带来的好处包括更快提交项目、团队之间合作更顺畅、自主创新、高质量的代码和文档等。已经有许多大公司在内部实施了 InnerSource,包括 Autodesk、BLoomberg、Bosch、Capital One、 PayPal 和 SanDisk 等。InnerSource 对于那些有着上千人规模开发团队的公司尤为重要。

身为沃尔玛 CTO 和 WalmartLabs 负责人,Jeremy King 认为:

我们对这种内部开源的模式实践得越多,我们的组织就越有弹性,我们也就能越快地将代码上线为用户所用。
建议你们也采用开源软件和开发方式,因为这样可以开发更快、成本更低和质量更好,但我们也希望你们也能为开源做出贡献,因为这样对整个社区是有好处的。

沃尔玛实施 InnerSource 采用的是企业版 GitHub,用法和免费公开版大致相同,唯一的关键不同是它是部署在企业内部、外部不可访问的,因为有一些关键算法还是不能公开的。

自从 King 从 2011 年由 eBay 跳槽过来之后,沃尔玛就加速了对开源的推进。King 说他们已经把许多传统软件换成了开源产品,比如 Cassandra 之类的 NoSQL,还用 Kafka 替换了消息总线。也引入了许多开源开发工具,如 Node.js 和服务器端 JavaScript 环境等,并用 OpenStack 重构了它的电子商务平台。

沃尔玛的研发团队有一千多人,他们每个月要做约 30000 次代码部署,但是 King 仍认为他们只是“世界上最大的创业团队”而已,因为有的公司做一个项目可能就会要上千人了。沃尔玛的一千多名研发工程师分布在约 100 个小组中,每个小组有 10-20 人,开发、构建、测试和部署等全部由小组自行负责,以 DevOps 模式工作。尽管大家的工作模式都是持续集成、迭代开发,不可避免地有时候某些团队会由于任务过多而成为瓶颈,这样在小组之间可以共享、开发和贡献代码就非常重要,可以在某种程度上避免这样的“单点故障”了。King 举例道,比如某个工程师需要能连接到支付网关上,但负责支付网关的团队手上已经堆积了 5 个更重要的项目了,没时间做这个。在这种情况下这个工程师可以自己把相关功能实现了,然后再请支付网关团队的人审核通过,就可以了。或者比如说一个支付团队的工程师对于购物车等功能忽然有了什么新想法,那他就直接简单的作出原型来,然后通过 GitHub 提交给对应团队就好了。

当然 King 也提到了一些困难,InnerSource 并不是完美地适合每一个项目的。要能成功地跨团队提交代码的话,你就必须对对方项目的代码框架和逻辑等也熟悉,这是一个大门槛。

King 说沃尔玛推行开源的开发方式之后,对开源社区成果的使用和回馈行为还帮助他们吸引了许多技术人才。在他们准备录用的候选人中,50% 手中还握有 Google、Apple、Facebook、LindedIn 或其他硅谷著名公司的 Offer,可是最终这些人中有 70% 还是选择了沃尔玛。King 把争夺人才胜利的原因归功于两点:一是小而专的团队,二是开源。“大家都对我们已经取得的成就非常赞赏,同时也希望如同在创业公司工作一样。”

在大数据概念引爆流行产业界之前,沃尔玛已经开始了网站数据库整合迁移和Hadoop 集群扩展工作,收购Kosmix 并在其基础上建立Walmart Labs,并在近年着手收购专注于数据挖掘或移动社交的初创公司如OneOps、Inkiru,Tasty Labs,OneRiot,进军互联网。

沃尔玛于今年早期发布了开源项目OneOps,这是一个让程序员们可以测试各家不同公司的云平台,并在它们之间自由切换的平台,它的功能对于使用了多种异构云模型的公司非常有好处。OneOps 可以在任何基于云的平台上,在整个生命周期内,帮助用户管理关键的应用程序负载,同时可以让用户从一家云供应商迁移应用、数据库或整个云环境,到另一个云供应商,以便争取更好的报价。OneOps 强大的云技术,可以帮助工程避免被限制一个云供应商上。OneOps 的开源,对于把应用程序部署在云、需要持续管理和监控的技术人员来说,绝对是个好消息。同样,这对想要更换云服务商的公司也是喜闻乐见的。

最近沃尔玛又发布了新的开源项目 Electrode ,使用反应式开源组件的程序员们可以用它轻松地为移动 Web 和 App 开发页面。


感谢李建盛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-08-04 19:002083
用户头像

发布了 152 篇内容, 共 68.0 次阅读, 收获喜欢 63 次。

关注

评论

发布
暂无评论
发现更多内容

科创人·味多美CIO胡博:数字化是不流血的革命,正确答案藏在业务的田间地头

科创人

特尔携手微软发挥边云协同势能,推动AI规模化部署

科技之家

无界共创,明道云参与广汽本田IT新技术展

明道云

共享自助洗车24小时不打烊受青睐

共享电单车厂家

共享自助洗车 自助洗车 自助洗车加盟

效率提升 100%,YRCloudFile 让自动驾驶安全更有保障

焱融科技

人工智能 自动驾驶 大数据 数据存储

超大规模AI异构计算集群的设计和优化

Baidu AICLOUD

大模型训练 异构计算

车白兔:自助共享洗车机哪家好

共享电单车厂家

自助洗车机 自助洗车加盟 车白兔自助洗车

共享洗车机多少钱一台?看品牌

共享电单车厂家

自助洗车机价格 自助洗车加盟 共享洗车机多少钱

制造业项目MDM主数据项目实施心得

agileai

数据治理 数据集成 企业服务总线 项目实施 制造业项目

Guava中这些Map的骚操作,让我的代码量减少了50%

码农参上

JAVA开发 Guava java工具包

面试官:你说你精通Redis,你看过持久化的配置吗?

阿Q说代码

redis aof rdb 数据持久化

NFT质押流动性挖矿系统开发技术

薇電13242772558

NFT 流动性挖矿

NFT双币质押流动性挖矿系统开发

开发微hkkf5566

【计算讲谈社】第三讲:如何提出关键问题?

大咖说

逻辑学 辩证思维 关键问题

如何实现一套容器(C 语言版)2

祖维

c 容器 泛型 迭代器 双向链表

共享智能自助洗车现在市场如何

共享电单车厂家

自助洗车加盟 自助洗车市场 共享智能自助洗车

心楼:华为运动健康的七年筑造之旅

脑极体

车白兔:洗车新模式共享自助洗车

共享电单车厂家

自助洗车 自助洗车加盟 车白兔洗车

解密安卓微信聊天信息存储

ooooooh灰灰

Go sqlite 微信 后端 SqlCipher

Vue项目的创建和托管

Python研究所

6月月更

模块五

Geek_2ce415

全链路业务追踪落地实践方案

云智慧AIOps社区

运维 AIOPS 解决方案 全链路追踪

Redis+Caffeine两级缓存,让访问速度纵享丝滑

码农参上

redis 缓存 JAVA开发 Caffeine

【6.16-6.24】写作社区精彩技术博文回顾

InfoQ写作社区官方

优质创作周报

在shiro基础上整合jwt,可在项目中直接使用呦

阿Q说代码

springboot Java EE 权限验证 shiro整合jwt

传统的IO存在什么问题?为什么引入零拷贝的?

源字节1号

全上链哈希游戏dapp系统定制(方案设计)

开发微hkkf5566

实时渲染:实时、离线、云渲染、混合渲染的区别

Finovy Cloud

渲染 云渲染

Java—Servlet

武师叔

6月月更

图像搜索应用场景(个人见解,欢迎补充)

Geek_e369a5

什么是图像搜索 图像搜索的应用场景 拍照购物用图像搜索的作用

Bytebase加入阿里云PolarDB开源数据库社区

阿里云数据库开源

阿里云 开源数据库 polarDB PolarDB-X 阿里云数据库

沃尔玛尝到了推行InnerSource的甜头_GitHub_足下_InfoQ精选文章