写点什么

1100 亿行源代码,这家公司如何应对大规模代码托管的挑战

  • 2019-10-11
  • 本文字数:2069 字

    阅读完需:约 7 分钟

1100亿行源代码,这家公司如何应对大规模代码托管的挑战

随着 AI 技术发展导致开发复杂度增加,软件的可信再次受到了行业的重视。从互联网到产业互联网到 IoT,随着多样设备的接入,以及更多私密信息的上云,软件开发和管理中的小隐患都可能引发大问题:经济损失、企业信任危机、人身信息的泄露……所以在今天 Cloud+AI+5G+IoT 的时代,我们必须对软件的安全性和可靠性提出更高的要求。


可信软件开发为未来的软件工程指出了发展方向,而可信的概念则包含安全性、韧性、隐私性、可靠性和可用性这五个维度。为了保证这五个维度的水平,在追求可信的道路上,需要团队软件研发水平提升,保证从产品研发到交付全流程的高质量,同时需要软件管理及维护方法与时俱进。

做好代码仓库的版本控制,保证软件开发过程可控性

源代码总行数 1100 亿、代码仓库数 60 万 +、每天下载容量 60 T、高峰并发下载达到 1 万次 / 秒……


这些是华为云 DevCloud 旗下内源平台(iSource 平台)的几个数据,我们现在可以清晰地看到这些数据,但是在 5 年前,你随便问一个华为的工程师,他可能都无法说明华为公司一共有多少源代码。因为 2014 年以前,华为公司的代码以各种不同的形式,不同的版本管理工具,存储在不同的地方,如 CleanCase、SVN、Git、TFS、MKS… 无法准确的统计。


2014 年开始,华为公司启动内源(Inner Source)平台建设,这一内源平台建设的过程,也是代码迁移的过程,从愿意尝鲜的试点团队的小规模试用,到华为全面支持内源,逐步要求所有的源代码(除涉及关键信息资产的代码以外),全部要上到内源平台,iSource 平台开始承载越来越多的华为内部开发者与华为内部代码托管的服务。


华为是一家成立 30 年、业务连续性高且跨度极大的公司,因此各个业务线产生的代码数量非常庞大,从开始试用时只有 5 台服务器,到现在的 1100 亿行源代码,华为内部成功地应对了如此规模代码托管与协作的挑战,确保了华为业务的快速创新。


你可能想知道,大公司的代码迁移、代码托管难不难?华为踩过哪些坑?解决了哪些技术挑战?2019 年 10 月 17 日下午,QCon 上海华为云「技术裂变中的可信软件开发」专场等你来参加。


其实,为了应对这样的挑战,华为云 DevCloud 团队在架构层面、功能性层面、用户体验层面做了很多工作,其中,难度最大,影响也最为深远的,就是 OMEGA。本次大会,华为也将向业界揭开 OMEGA 神秘的面纱。


OMEGA (One-stop MultipurposE Git Access) 译为一站式多用途 Git 访问协议,华为云 DevCloud 改造了 Gitlab,并开发了一个名为 git-mm 的客户端,而 OMEGA 是两者的结合,在 Gitlab 上,华为基于 Merge Request,实现了类似 Repo+Gerrit 的集中式多仓库代码提交与代码评审工作流,可以说是一种集中式仓库管理模式。


了解它的含义后,可能有随之而来的疑问:


为什么不直接使用 Gerrit?


为什么不直接使用 Repo 客户端?


为什么不使用 Submodule 管理多仓库?


为什么不支持 Fork?


为什么不支持多分支模型?


……


这些疑问要一一解答起来,就太复杂了,10 月 17 日下午,华为云「技术裂变中的可信软件开发」专场,来自华为 iSource 代码平台专家孙超,将为大家分享《华为云 DevCloud 在大规模团队的 Git 协作上的探索与实践》,前文所述的种种疑问,在这次分享中,都能够得到解答。在现场,大家不仅能够听到 OMEGA 技术的设计理念与具体实现方案,更能够了解到这些技术诞生背后的故事,以及华为工程师们在迎接这些技术挑战时,所面临的抉择与思考。


使用经典的 Git 开发工件流,对代码仓库管理、内容同步、开发效率提出了巨大的挑战,只有做好代码仓库的版本控制,才能保证软件开发过程的可控性,打好可信软件开发的基础。

华为云微服务、区块链、鲲鹏云服务都基于可信开发

华为云 DevCloud 让可信体现在软件开发的方方面面:微服务转型与构建、鲲鹏云服务应用移植方法与生态服务能力、安全的区块链应用构建……


华为云微服务应用平台 ServiceStage 为企业提供微服务、Web、移动和函数应用、DevOps 全栈四大解决方案,帮助企业开发者聚焦业务逻辑,快速开发、构建、部署、上线和运维。本次华为云微服务应用平台负责人、高级技术专家李勇军将分享如何打造安全的、高可靠性及高可用性的微服务。


随着 5G 技术的应用和普及,企业需要一个新的云架构生态系统支撑。华为云基于华为鲲鹏处理器打造了全面的解决方案,并让可信软件开发体现在其中方方面面。本次,华为云鲲鹏云解决方案总监高雪松将为大家分享华为云鲲鹏云服务中的关键技术解析,及其中的可信软件设计理念。


信息技术高速发展,如何高效地进行数据可信共享、提高业务协作效率在很多机构中诉求越来越强烈。本次,华为云区块链高级产品经理王磊将分享如何高效构建可信、共享、安全的区块链应用,重点剖析区块链应用的设计开发思路和技巧。


华为今年在软件领域发力,让可信渗入到企业文化中,我们看到,华为从上到下的变革已经启动,从可信的产品定义、可信设计、可信代码、可信软件工程能力(构建,发布,追溯)、可信测试、可信运维、可信 Build-in 流程、文化等多个方面启动变革。


关于可信软件开发,了解华为工程师在面对技术挑战时如何贯彻可信开发理念,这里有你想要的答案。


2019-10-11 10:332407
用户头像
王利莹 InfoQ编辑

发布了 48 篇内容, 共 19.2 次阅读, 收获喜欢 36 次。

关注

评论

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

低代码是什么?2025技术详解:平台分类、用户群体与发展趋势

优秀

低代码 低代码开发 低代码平台

为什么JobLeap.cn的新一代智能职业发展平台比传统求职软件更有效

安全乐谷

求职 找工作 秋招 春招 找实习

iVX+ARM 边缘计算技术架构解析:从底层架构到行业应用

代码制造者

ETL怎么实现多流自定义合并?

RestCloud

Java join ETL 数据集成工具 多流合并

BeeWorks:构建企业智能数字化协作中枢,实现办公与业务系统的无缝整合

BeeWorks

即时通讯 IM 企业级应用

为什么说JobLeap.cn是文科生找工作的最佳选择?

安全乐谷

找工作 应届生 秋招 春招 找实习

Claude 语音版曝光,可通过对话搜索文档、撰写邮件;ElevenLabs 已支付音频样本演员超 500 万美元丨日报

声网

MySQL性能优化策略及高可用架构设计与实践+监控与运维自动化!

程序员高级码农

MySQL 编程 程序员

HarmonyOS实战:腾讯IM之聊天列表搭建(一)

IT小码哥

鸿蒙 HarmonyOS NEXT harmoyos 腾讯IM

时序数据库 IoTDB 集成 DBeaver,简易操作实现时序数据清晰管理

Apache IoTDB

Alluxio AI助力知乎千卡模型训练

Alluxio

火热邀测!DataWorks数据集成支持大模型AI处理

阿里云大数据AI技术

人工智能 数据分析 数据处理 #大数据 Dataworks

传统企业如何玩转平台工程?2 个运维靠它管 50 + 应用

北京好雨科技有限公司

云原生 k8s rainbond 企业号 5 月 PK 榜

中国国内最好的求职招聘软件有哪些

安全乐谷

求职 找工作 招聘 秋招 春招

如何利用jobleap.cn提高简历通过率和面试成功率

安全乐谷

找工作 招聘 秋招 春招 找实习

大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece

武子康

大数据 hadoop mapreduce hive

jobleap.cn解决了哪些传统招聘软件没解决的问题

安全乐谷

求职 找工作 招聘 秋招 春招

什么是新一代智能职业发展平台?jobleap.cn领导的新一代求职平台与传统App有何不同?

安全乐谷

求职 找工作 秋招 春招

从0到1:多医院陪诊小程序开发笔记(上)

CC同学

安全,稳定可靠的政企即时通讯数字化平台

BeeWorks

即时通讯 IM 企业级应用

韩国电商巨头Coupang 如何利用分布式缓存加速机器学习模型训练

Alluxio

机器学习 AI 模型训练 电商平台 Coupang

ActiveMQ 可观测性最佳实践

观测云

Activemq

谷歌云授权代理|90%用户不知道的5个谷歌云免费实用技巧

Cloud Ace 云一

谷歌云

懒懒笔记 | 课代表带你梳理【RAG课程 9&10:大模型微调与思维链蒸馏】

商汤万象开发者

华东站最后席位丨精彩嘉宾阵容,完整日程揭秘!2025 Altair 区域技术交流会邀您共探 AI + 仿真的智能未来

Altair RapidMiner

人工智能 AI 汽车 数字孪生 CAE

React-native新架构

溪抱鱼

前端 React 框架

如何利用JobLeap.cn找到第一份实习

安全乐谷

找工作 秋招 春招 找实习

智能驾驶感知算法任务简介

地平线开发者

自动驾驶; 算法工具链 地平线征程6

2025年在哪里可以找到开始秋招的公司?

安全乐谷

找工作 招聘 应届生 秋招 找实习

Databend 产品月报(2025年5月)

Databend

如何利用jobleap.cn更有效地转行以及找到满意的工作

安全乐谷

找工作 简历 秋招 春招 找实习

1100亿行源代码,这家公司如何应对大规模代码托管的挑战_云原生_王利莹_InfoQ精选文章