最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

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

关注

评论

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

Vue进阶(五十八):ES字符串操作:遍历、比较、截取、补全...

No Silver Bullet

Vue ES 字符串 7月日更

手写Spring框架,是时候撸个AOP与Bean生命周期融合了!

小傅哥

Java spring 小傅哥 aop 代理

作为Android开发程序员,已获千赞

欢喜学安卓

android 程序员 面试 移动开发

ZooKeeper 分布式锁 Curator 源码 04:分布式信号量和互斥锁

程序员小航

Java zookeeper 源码 分布式锁 zookeeper分布式锁

Spark 开源新特性:Catalyst 优化流程裁剪

华为云开发者联盟

sql spark 开源 Catalyst 优化器

Go语言:new还是make?到底该如何选择?

微客鸟窝

Go 语言

记一次真实的JVM性能调优过程

北游学Java

Java JVM 性能调优

开跑!Mobileye自动驾驶汽车路测落地纽约

E科讯

价值连城 知名深度强化学习Pieter Abbeel的采访 John 易筋 ARTS 打卡 Week 56

John(易筋)

ARTS 打卡计划

带你了解WDR-GaussDB(DWS) 的性能监测报告

华为云开发者联盟

数据库 数据 GaussDB(DWS) WDR 负荷诊断报告

看焱融云CSI动态感知如何扩展Kubernetes Scheduler

焱融科技

云计算 技术 云原生 高性能 分布式存储

Java的这个强大功能,很多人都不知道

华为云开发者联盟

Java c++ jdk 算法 jni

抖音快手seo获客系统开发(可贴牌)

获客I3O6O643Z97

抖音霸屏

校友资料登记平台小程序开发笔记一-系统整体设计

CC同学

校友登记小程序 校友资料小程序

测试开发之系统篇-安装KVM虚拟机

禅道项目管理

虚拟机 测试开发

利用亚马逊云科技Direct Connect和Transit Gateway轻松构造企业混合云解决方案

亚马逊云科技 (Amazon Web Services)

EasyRecovery软件帮你快速恢复图片数据

淋雨

EasyRecovery 文件恢复 硬盘数据恢复

哪类技术助力了隐私计算的工业化?如何“组装”发挥更大价值?

SaaS市场百花齐放:厂商数量已达4500家,用户数量已达915万家

海比研究院

校友资料登记平台小程序开发笔记二-云数据库设计

CC同学

校友录小程序 校友资料小程序

一周信创舆情观察(7.12~7.18)

统小信uos

13张图,深入理解Synchronized

程序猿阿星

synchronized java 并发 锁机制 锁升级

应届女生美团Java岗4面,一次性斩offfer,我受到了万点暴击

Java 编程 程序员 架构师 计算机

腾讯T3大牛手把手教你!三面腾讯,已拿offer

欢喜学安卓

android 程序员 面试 移动开发

详解API Gateway流控实现,揭开ROMA平台高性能秒级流控的技术细节

华为云开发者联盟

华为 ROMA 集成平台 ROMA Connect API Gateway

WorkPlus高端制造业数字化解决方案—长江存储

WorkPlus

开源 企业 解决方案 即时通讯 私有云

去中心化薄饼交易所开发|PancakeSwap去中心化交易所搭建方案

Geek_23f0c3

交易所开发 去中心化交易所系统开发 PancakeSwap交易所

携手生态伙伴亮相InfoComm,英特尔赋能智能协作办公

E科讯

经典好文!BAT大厂Android面试真题锦集干货整理

欢喜学安卓

android 程序员 面试 移动开发

WorkPlus高端制造业数字化解决方案—航天科工

WorkPlus

开源 移动 解决方案 即时通讯 私有云

Cassandra的调优总结

林一

分布式数据库 Cassandra

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