7月QCon广州站2022,关注Web 3.0、数据架构选型、数字化转型等热门话题,点击了解 了解详情
写点什么

ARM 开源项目从 GitHub 迁移至 GitLab,ARM 内核团队:GitLab 真香!

  • 2022 年 5 月 18 日
  • 本文字数:2730 字

    阅读完需:约 9 分钟

ARM开源项目从GitHub迁移至GitLab,ARM内核团队:GitLab真香!

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/

2022 年 5 月 18 日 13:375468
用户头像

发布了 387 篇内容, 共 114.0 次阅读, 收获喜欢 528 次。

关注

评论 1 条评论

发布
用户头像
mark
2022 年 05 月 25 日 16:07
回复
没有更多了
发现更多内容

万字长文详解HiveSQL执行计划

五分钟学大数据

sql 大数据 hive Hive SQL

基于 Kubesphere 的 Nebula Graph 多云架构管理实践

青云技术社区

KubeSphere

做好项目管理,项目经理需要具备哪些优秀品质?

万事ONES

项目管理 研发管理 研发管理工具 ONES

迷惘的六月份

卢卡多多

生活状态 6月日更

不管卷不卷,面试还是得问问你G1原理!

艾小仙

Java 编程 程序员

“AI赋能”大学计划落地,英特尔联合生态伙伴推进产教融合

新闻科技资讯

技术干货 | macOS桌面端录屏采集实现教程

ZEGO即构

大前端 音视频 WebRTC 屏幕录制

在云原生场景下构建企业级存储方案

青云技术社区

云原生

有状态应用如何在Kubernetes平台上快速迁移和重建

焱融科技

云计算 Kubernetes 容器 云原生 高性能

使用 VideoToolbox 探索低延迟视频编码 | WWDC 演讲实录

网易云信

低延时

深入浅出 Java 注解!

村雨遥

Java 注解 6月日更

软件开发项目中,产品经理和程序员谁更累?

万事ONES

产品经理 研发管理 ONES 项目经理

容器化 | MySQL on K8s 开源开放的高可用容器编排方案

RadonDB

MySQL 容器 RadonDB KubeSphere

Java进阶 | 泛型机制与反射原理

晨雨听风

Java

GO database/sql 连接池源码分析

非晓为骁

源码分析 Go 语言 连接池 database

极狐GitLab致力打造DevSecOps 行业标准

极狐GitLab

ci 修复措施 安全扫描器 安全测试

继BAT之后,又一头部厂商开始构建低代码生态!=

优秀

低代码

最新大厂Android校招面试经验汇总,看完没有不懂的

欢喜学安卓

android 程序员 面试 移动开发

分布式数据库在抖音春晚活动中的应用

火山引擎开发者社区

数据库 后端

文件保险箱——用区块链保护文件

趣链科技

区块链 区块链应用

一次性搞清Java中的类加载问题

华为云开发者联盟

Java

澳鹏Appen:用高质量的训练数据,赋能更好的智能驾驶

澳鹏Appen

人工智能 自动驾驶 训练数据

云小课|RDS实例连接又失败?看我祭出杀手锏!

华为云开发者联盟

数据库 关系型数据库 云数据库 RDS GaussDB(for MySQL)

Python——默认字典 (defaultdict)

在即

6月日更

详解Java中static关键字和final关键字的功能

华为云开发者联盟

Java static关键字 final关键字 静态变量

阿里P8架构师(花名:霍州)Java程序性能优化“学习日记”

Java架构追梦

Java 阿里巴巴 架构 面试 性能优化

云小课 | 华为云KYON之ELB混合负载均衡

华为云开发者联盟

负载均衡 华为云 云网络 KYON企业级云网络 弹性负载均衡ELB

JAVA 面向对象 (十)--接口和抽象类

加百利

Java 后端 笔记 6月日更

和12岁小同志搞创客开发:设计一款亮度可调节灯

不脱发的程序猿

DIY pwm 创客开发

高可用 | Xenon:后 MHA 时代的选择

青云技术社区

Vue-3-生命周期管理

Python研究所

Vue 大前端 签约计划

ARM开源项目从GitHub迁移至GitLab,ARM内核团队:GitLab真香!_语言 & 开发_李冬梅_InfoQ精选文章