2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

【零售电商系列】走进亚马逊之自建仓储&物流

小诚信驿站

6 月 优质更文活动

“敏捷教练进阶课程”7月22-23日 ·A-CSM认证在线周末班【提前报名特惠】CST导师亲授

ShineScrum

敏捷教练

3 个技巧,让你像技术专家一样解决编码问题

LigaAI

程序人生 技术专家 技术人成长 问题分析及解决 企业号 6 月 PK 榜

抓包分析RST信号

蓝胖子的编程梦

TCP Wireshark tcpdump RST 报文 Connection reset

Java代码性能测试实战之ContiPerf

javalover123

单元测试 性能测试 压测 JUnit Java'

从分布式到微服务解密“架构”原理与实战笔记

小小怪下士

Java 程序员 分布式 微服务

MySQL 8.0.29 instant DDL 数据腐化问题分析

GreatSQL

greatsql greatsql社区

正式启动|2023中国高校计算机大赛—大数据挑战赛火热报名中!

云智慧AIOps社区

大数据 AI 算法 运维 智能运维

KW 新闻 | KaiwuDB 亮相数字中国并发布离散制造场景解决方案

KaiwuDB

数字中国 KaiwuDB 离散制造业解决方案

DevEco创建项目时的错误解决

路北路陈

6 月 优质更文活动

Web网页端IM产品RainbowChat-Web的v5.0版已发布

JackJiang

网络编程 即时通讯 IM

电路板电镀中4种特殊的电镀方法

华秋PCB

经验 电路板 焊接 PCB板 电镀

揭秘Spring依赖注入和SpEL表达式

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 6 月 PK 榜

源生创新 云享未来|GOTC全球开源技术峰会华为云云原生精彩时刻

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

如何理解 REST 和 RPC 之间的差异?

Apifox

程序员 RPC Rest 协议 RPC调用

TCMalloc 技术细节详解

KaiwuDB

KaiwuDB TCMalloc

智慧生活垃圾焚烧发电厂Web3D可视化平台

2D3D前端可视化开发

物联网 数字孪生 三维可视化 工业组态 智慧垃圾焚烧发电厂

NFTScan | 06.05~06.11 NFT 市场热点汇总

NFT Research

NFT 热点

对线面试官-线程池(四)

派大星

Java 面试题

Sentinel熔断降级的规则及实现原理

互联网架构师小马

Java sentinel 熔断降级

当GaussDB遇上了毕昇编译器

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

参与赢大奖!阿里云机器学习平台PAI助力开发者激发AIGC潜能

阿里云大数据AI技术

阿里云 AIGC

科兴未来|2023”福地句才”海外人才创业大赛

科兴未来News

教培行业的“智能GPT私教”?WorkPlusAI助理帮助教培机构实现十倍人效!

BeeWorks

AIGC时代,设计软件应该做什么?丨AIGC X 企业服务

ToB行业头条

在百度生态用达人营销赋能品牌生意增长 | 度星选白皮书

说山水

“数字创新产品课程”7月29-30日 · CSPO认证周末班【提前报名特惠】CST导师亲授

ShineScrum

精耕丝路,智胜全球 | 新华三助力中企跑好“出海”赛道

新消费日报

Navicat Premium将关系和实体添加到概念模型的方法

背包客

macos MySQL 数据库 Mac 软件 Navicat Premium

Win服务器图床配置

路北路陈

6 月 优质更文活动

今年LED显示屏市场趋势

Dylan

商业 广告 娱乐 数字化 LED显示屏

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