写点什么

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

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

关注

评论

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

SSL证书不可信的原因有哪些?(国科云)

国科云

从项目管理到价值管理的转型路径:基于敏捷价值管理办公室(VMO®)的战略升级(上篇)

ShineScrum

PMO cvp VMO

课程质量评估系统(源码+文档+讲解+演示)

深圳亥时科技

mestrenova 14(核磁数据处理软件)-Mac/win

Rose

飞算JavaAI生成SpringBoot全模块代码实战

飞算JavaAI开发助手

火山引擎智能数据洞察 ChatBI 适配 DeepSeek-R1 及 DeepSeek-V3

Lily

看看坐标深圳、薪资15k的go开发岗面试强度如何

王中阳Go

Go 面试 后端

Pioneer DJ rekordbox for Mac(专业的DJ音乐管理软件)

Rose

Lightroom Classic 2025 功能介绍及系统要求

Rose

前沿多模态模型开发与应用实战3:DeepSeek-VL2多模态理解大模型算法解析与功能抢先体验

百度Geek说

大模型、

TiDB 亮相宜昌“医院‘云数智’技术实践研讨及成果展示交流会”,探讨国产化 + AI 背景下的数据库新趋势

PingCAP

人工智能 数据库 云计算

UnlockGo(安卓版)for Mac 手机解锁工具 专为Android设备设计

Rose

是时候正视开源合规的重要性了!我们给你准备了一套体系课程

字节跳动开源

开源 安全 课程 字节 开源合规

全能pdf编辑阅读 PDF Reader Pro for mac

Rose

Slidepad for Mac(高效率办公软件)v1.5.6 激活版

Rose

愚人节特辑:AI比你想象得更蠢

脑极体

AI

爆肝整理!AI生成Java代码的10个高级技巧

飞算JavaAI开发助手

昇腾CANN算子共建仓CANN-Ops正式上线Gitee,首批算子已合入

华为云开发者联盟

人工智能 算子 昇腾CANN DeepSeek

MyBatis动态SQL太繁琐?飞算JavaAI自动生成高效数据库操作代码

飞算JavaAI开发助手

MacBook 跑通 :火山引擎 视频实时理解​

Lily

Topaz Video AI for mac(地表最强视频无损放大修复工具)v6.1.3激活版

Rose

Pr2024下载,Premiere Pro 2024中文破解版

Rose

活动中台系统慢 SQL 治理实践

vivo互联网技术

Java 数据库 后端

Java反射性能优化太难?飞算JavaAI自动生成高性能动态代理代码

飞算JavaAI开发助手

AI 重构老旧系统:创业新曙光

TechLead Studio

AI创业机会

中文集成版 微信多开 WechatTweak for Mac(微信多开、消息防撤回工具)

Rose

飞算JavaAI助力毕业生高效完成毕业设计

飞算JavaAI开发助手

网络安全等级保护分为几级?

黑龙江陆陆信息测评部

Photomator for mac v3.4.8中文版 照片编辑器

Rose

Mac电池最大充电限制工具 AlDente Pro

Rose

《Operating System Concepts》阅读笔记:p545-p551

codists

操作系统

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