热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

自从CTOJeremyKing上台后,沃尔玛对开发团队按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开发页面。

\\

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

\

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



推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 本文详细解析了ASP.NET 2.0中的Callback机制,不仅介绍了基本的使用方法,还深入探讨了其背后的实现原理。通过对比Atlas框架,帮助读者更好地理解和应用这一机制。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 今日精选:10款实用的jQuery随机效果插件
    在今天的精选内容中,我们推荐了10款实用的jQuery随机效果插件。这些插件不仅功能强大,而且设计精良,能够为您的网页增添独特的互动体验。从动态图像效果到文本动画,每款插件都提供了丰富的自定义选项,帮助开发者轻松实现创意视觉效果。特别值得一提的是,其中一款插件集成了与Google API的无缝对接,使数据展示更加生动和直观。 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 为何Serverless将成为未来十年的主导技术领域?
    为何Serverless将成为未来十年的主导技术领域? ... [详细]
  • REST API 时代落幕,GraphQL 持续引领未来
    尽管REST API已广泛使用多年,但在深入了解GraphQL及其解决的核心问题后,我深感其将引领未来的API设计趋势。GraphQL不仅提高了数据查询的效率,还增强了灵活性和性能,有望成为API开发的新标准。 ... [详细]
  • EMURGO Africa 与 Adaverse 合作投资 Momint,推动 Cardano NFT 生态系统在非洲市场的扩展 ... [详细]
  • 在拉斯维加斯举行的Interop 2011大会上,Bitcurrent的Alistair Croll发表了一场主题为“如何以云计算的视角进行思考”的演讲。该演讲深入探讨了传统IT思维与云计算思维之间的差异,并提出了在云计算环境下应具备的新思维方式。Croll强调了灵活性、可扩展性和成本效益等关键要素,以及如何通过这些要素来优化企业IT架构和运营。 ... [详细]
  • 本书《.NET Core 2.* 开发者指南》是面向开发者的全面学习与实践手册,涵盖了从基础到高级的各个层面。书中详细解析了 .NET Core 的核心概念,包括如何创建 .NET Core 网站,并通过视频教程直观展示操作过程。此外,还深入探讨了 Startup 类的作用、项目目录结构的组织方式以及如何在应用中使用静态文件等内容。对于希望深入了解 .NET Core 架构和开发技巧的开发者来说,本书提供了丰富的实践案例和详尽的技术指导。 ... [详细]
author-avatar
key920721
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有