开发者社区> 晚来风急> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看

自从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开发页面。

文章转载自 开源中国社区[http://www.oschina.net]

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MyBatis快速入门——第一章、idea的maven配置与demo实例
MyBatis快速入门——第一章、idea的maven配置与demo实例
10 0
MyBatis——IDEA中使用Maven搭建MyBatis框架,让它跑起来(入门)
MyBatis——IDEA中使用Maven搭建MyBatis框架,让它跑起来(入门)
186 0
IDEA+Maven使用MyBatis实现CRUD操作(内容详细,万字长文带你了解MyBatis~)
IDEA+Maven使用MyBatis实现CRUD操作(内容详细,万字长文带你了解MyBatis~)
32 0
PassJava 开源(四)之 整合 Spring Cloud 整合 Nacos配置中心
PassJava 开源(四)之 整合 Spring Cloud 整合 Nacos配置中心
81 0
Spring Cloud Alibaba系列(三)使用feign进行服务调用
Feign是spring cloud提供的一个声明式的伪http客户端,它使得调用远程服务就像调用本地服务一样简单,只需要创建一个接口并添加一个注解即可。
1984 0
如何让普通用户可以对DBA_SOURCE视图进行闪回查询?
如何让普通用户可以对DBA_SOURCE视图进行闪回查询? 赋权:GRANT SELECT , FLASHBACK ON DBA_SOURCE TO LHR10;或:GRANT DBA,SELECT_CATALOG_ROLE TO LHR10;...
1147 0
用IDEA基于maven项目使用mybatis-generator-plugin生成mapper和pojo
虽然MyBatis很方便,但是想要手写全部的mapper还是很累人的,好在MyBatis官方推出了自动化工具,可以根据数据库和定义好的配置直接生成DAO层及以下的全部代码,非常方便. 首先wom我们自己建一个maven项目,我这里就不详细写 mybatis-generator使用配置 打开pom.
5060 0
LoadRunner脚本录制常见问题整理
1.LoadRunner录制脚本时为什么不弹出IE浏览器?   当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。   启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题   提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。
1629 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《未来银行发展的新起点》
立即下载
崛起中的智慧物流独角兽
立即下载
从大公司到创业公司
立即下载