写点什么

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:332449
用户头像
王利莹 InfoQ编辑

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

关注

评论

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

将安全融入软件开发的每一步 | DevSecOps

禅道项目管理

项目管理 DevOps 软件开发 DevSecOps SaC安全即代码

别把CrossOver当虚拟机!CrossOver软件和虚拟机区别详解

阿拉灯神丁

crossover Mac软件 如何在Mac上运行win游戏 虚拟机软件 Mac游戏推荐

Java 并发工具类核心使用场景深度解析

电子尖叫食人鱼

Java

日志分析场景:从改进优化到全面替代开源ES(elasticsearch)

日志易

ChatClient vs ChatModel:开发者必须知道的4大区别!

王磊

Intel至强6:AI江湖的幕后大佬、NVIDIA B300的唯一伙伴

科技热闻

国产智能终端AI能力再升级,火山引擎助力打造应用场景新可能

新消费日报

2025 私藏!超好用的 AI Agent 推荐清单

Techinsight

懒懒笔记 | 课代表带你梳理【RAG课程 13&14:多模态突围与综合论文问答系统实战】

商汤万象开发者

AI 大模型 LLM LLM 推理优化

天翼云“一云多芯”构建通算智算一体化混合云新范式!

天翼云开发者社区

云计算

Navicat Premium Mac|数据库一键切换

柠檬与橘子

AlphaGPT 与DeepSeek强强联合,打造更好用的法律AI产品

科技汇

术业有专攻——AI系统主控CPU英特尔至强6新品处理器浅析

科技热闻

数据要素治理框架下图情学科的核心角色重塑

郑州埃文科技

百空间成网 可信数据生态如何重塑数字时代生产关系

郑州埃文科技

2025 ,有这些AI Agent 智能体

Techinsight

数据“活”起来,办事“跑”起来|小奇说

奇点云

火山引擎助力安卓手机抢滩AI应用,生态合力推动技术普惠进程

新消费日报

2025测试新标配:Browser Use开源方案落地实录

测试人

JUC并发—AQS源码分析

量贩潮汐·WholesaleTide

Java

英特尔宣布新任销售及工程技术领导层任命

科技热闻

Excel包含文本的单元格,'=A1>0' 返回 TRUE,但 '=COUNTIF(A1, ">0")' 返回 0

柠檬与橘子

当国产AI嵌入国产智能终端交互,AI应用落地加速

新消费日报

提升应用灵活性的热更新技术

Speedoooo

热更新 小程序容器 小程序技术

告别野路子代练!护航小程序源码系统上线:大神打手任选,交易安全有保障

DUOKE七七

MySQL uniapp thinkphp

C# 将 CSV 转化为 Excel

不在线第一只蜗牛

C#

重磅!天翼云多云统管体系及两个验证节点通过云计算服务安全评估

天翼云开发者社区

云计算 安全

数据要素市场崛起,通信运营或迎来身份大转型?

郑州埃文科技

Project Office X Pro|轻松管理各种项目

柠檬与橘子

将你的闲置算力上链,获得Token收益

PowerVerse

去中心化 Token 算力 DAO DePIN

技术干货 | 注塑件电磁网格划分指南(HyperMesh+SimLab)

Altair RapidMiner

仿真 CAE Hypermesh 网格划分 Simlab

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