5 月 17 日,根据 GitLab 在新闻稿中表示,“Arm Open Source 已决定将公司的多个开源项目从 GitHub 迁移到 GitLab”。
GitLab 官方博客阐述了选择 GitLab 作为自托管平台的优点:最大化选择和成本效益,最小化供应商锁定。使用 GitLab 将允许 ARM 使用自己的工具,不像 GitHub 是一个黑箱。ARM 芯片占到了移动市场的 95%,而 ARM 公司的业务是 IP 授权,大部分核心基础设施部署在私有硬件上,安全对其至关重要。
Arm 所构建的软件属于支持性组件,能够与自家架构上的其他软件相集成。目前全球超过 95%的移动设备配备有 Arm 处理器,其软件也支撑着从传感器到云计算的众多应用场景。
Arm 杰出工程师兼软件社区高级总监 Andrew Wafaa 解释道,从公司内部的视角来看,这些支持组件“效果不是太好,但当它们遇上来自其他社区和项目的其他软件时,就会碰撞出奇妙的火花。”
他补充道,Arm 的目标是为软件开发者提供最好的 Arm 架构。而这些支持组件“利用到 Arm 架构中的丰富功能,帮助用户将这些功能与其他堆栈顺畅集成。”
GitLab 开源良好支持 Arm 自有工具
Arm 之前一直使用 GitHub 进行代码托管,但当前部署的大部分新型核心基础设施都运行在专有硬件之上。Wafaa 表示,“GitHub 其实是个黑箱,我们必须与之合作、或者把一部分工作交给对方来完成,而最终结果并不一定准确可靠,使得我们不得不规划更多审查。另外 GitHub 用的都是私有和专有代码……于是我们决定选择 GitLab。”
另外,Arm 也很担心托管在 GitHub 上的开源软件项目引发代码所有权争议。毕竟像 GitLab 这样的系统解决方案更适合广泛选项、良好成本效益并尽可能削弱供应商锁定等实际需求。面向 GitLab 的自托管迁移不仅有助于协作效率,同时也允许 Arm 软件继续被托管在自家技术堆栈之上。
对 Arm 来说,GitLab 的另一大优势在于开源属性,这样 Arm 就能使用内部工具支持这个开源生态系统。Wafaa 提到,“归根结底,使用开源产品有着非常积极的意义。”另一个重要因素在于,GitLab 是一款真正的企业级产品,其中提供的工作流程与 Arm 在 GitHub 上使用的流程非常相似。“无论是在术语、观感还是体验方面,从 GitHub 迁移至 GitLab 都不会有太大的差异。”
更重要的是,GitLab还是一款自托管企业级产品,Arm 当然非常重视这种出现问题时获得良好客户支持的能力。
Wafaa 同时强调,成本也是个重要考量因素,GitLab 在这方面同样做得不错。“着眼于未来的增长计划,成本降低就等于收入提升。”
Arm 公司目前有约 200 名外部贡献者在参与开源项目。Wafaa 表示,“GitLab 在成本方面确实具有吸引力,但按目前的体量看只能算是锦上添花。”之前参与 Arm 开源项目的贡献者更多,Arm 是为了顺应项目的 GitLab 迁移计划才临时缩减了人员规模。
全流程、全环节精细控制
Arm 正尽量将更多基础设施迁移至 Arm 架构上运行。Wafaa 提到,尽管 GitLab 最初并不支持 Arm,但对方“很高兴能和我们的工程团队合作,通过建立基础设施集成确保 GitLab 能够顺畅支持 Arm。”
“这种精细的访问控制能力已经成为我们的一大福音。我们也将其照搬至全球 Amazon 基础设施上,借此满足我们对于完全冗余、灾难恢复等 IT 功能的需求。”
作为一家知识产权(IP)厂商,Arm 对安全问题自然高度关注。因此,Wafaa 团队选择了逐步迁移,“以层层推进的方式稳健执行”。
“在部署中,我们必须与各个内部安全团队开展多轮沟通。好在进展相当顺利,迁移效果也符合预期。”
在首次“小规模部署”试水完成后,一切开始无缝运行。现在,公司内的任何用户都能在 Arm 上运行 GitLab。之后,Wafaa 和工程团队开始静待实际反馈。“特别是我们最关键的工程技术团队——内核团队。他们的需求非常特别,所以我们得加倍小心。”
好消息是在迁移至 GitLab 后,内核团队“一直赞不绝口”,这也让 Arm 开源项目 DevOps 负责人 Dean Arnold 感觉有点“恍惚”。Wafaa 坦言,“内核团队很少夸人的,现在他们说好,那一定是真的好。”
Arm 已经将约 90%的内容迁移至 GitLab,剩余部分也仍将继续。Wafaa 解释道,部分项目之所以需要更长时间,是因为其中包含复杂的工具,所以仍有些集成问题需要解决。
用指标说话:Arm 的迁移收益
在迁移至 GitLab 之后,Arm 获得了不少收益,包括:
易于设置和集成 CI/CD
成本节约了 15%到 20%
每月平均节约下两到四人的管理工作时间
工具简化
在管道/代码上开展共享和协作的能力
快速设置项目和团队介入
Wafaa 感慨,之前 Arm 需要将多个单独的组件缝合在一起。“GitLab 则带来了更多便捷的特性和功能,特别好。”
毕竟贡献者们也希望在自己的其他项目中使用这些功能,包括公司和个人使用。例如,就有工程师以个人身份使用 GitLab,而且希望获得完整的 CI 功能。
Wafaa 和 Arnold 现在都坚信,在迁移工作完成之后,未来的项目将迎来更快的启动速度和更短的开发周期。
轻松登陆云端
Arnold 目前正在研究如何共享某些管道,进一步加快各团队的采用速度。他认为到迁移完成时,Arm 将获得贡献者们最需要的大部分功能。
目前,Arm 正在 AWS 中使用 EC2 实例。展望未来,Arnold 预计跨云服务商的多云部署将更加无缝、且不必更改底层代码。“一旦能让人们全面接纳 GitLab,接下来的工作就是研究如何扩展,甚至可能考虑通过容器化方式增强高可用性。这些属于加分项,但后续肯定要做。”
“迁移至 GitLab 能帮助 Arm Open Source 实现高达 20%的成本节约,也让软件开发者得以利用 Arm 架构中的丰富功能特性。”GitLab 贡献者 Esther Shein 说道。
GitHub 和 GitLab 打响用户争夺战
2018 年 7 月,在微软公司宣布斥资 75 亿美元收购 GitHub 后,这笔交易引发了极大的热议。
被收购后,微软方面公开表示 ,GitHub 今后的运营会保持原有风格,以开发者至上原则,保持独立运作,微软只是为一家活跃的、成长中的硅谷独角兽公司提供稳定性。
但这桩交易依然引发了开源人士对开源社区所有代码的托管问题的担忧。
在面对开源以及其他公司的竞争时,作为一家全球顶级科技巨头公司,微软在商业战场上的强势和凶猛是毋庸置疑的。源于诺基亚、Hotmail、Skype 等前车之鉴,人们对微软的那些大手笔收购都抱着嘲讽、质疑的态度,GitHub 的收购案尘埃落定后也把不少开发者和企业推向了 GitLab。
GitLab 这边当然也没有闲着。
微软收购 GitHub 时,GitLab 除了高调发文祝贺之外,还直接在官网首页挂出了从 GitHub 快速迁移的工具和广告 ,并在 YouTube 上进行了一些迁移教学的直播,这一波操作让 GitLab 取得了不错的成果,平台项目导入量在几天之内增长近 10 倍,注册用户增长了数倍,GitLab.com 的服务器也进行了多次扩容,至此,GitHub 和 GitLab 的用户争夺战也正式打响。
未来,还会有多少像 ARM 的企业迁移选择从 GitHub 迁移至 GitLab 尚不得而知,但对于大多数开发者而言,“好用”才是王道。
参考链接:
https://about.gitlab.com/blog/2022/05/17/arm-open-source-makes-a-seamless-migration-to-gitlab/