前言
团队协作和进步把控能力是开发公司的生命线,不能按时交付项目的话在很多公司都不受待见。到了一家新公司,突然发现公司是自建的代码托管系统?从此你不但每天要勤勤恳恳写代码,还等随时准备应对日常各种硬件故障以及网络故障,而且说不定哪天你的领导就又换了一家服务商,“背锅”则可能成为一种常态,领导需要你对结果负责。
作为企业的信息化核心资产的代码,是开发团队智慧的结晶,自建代码管理系统还是选择云平台成为大家心中的犹豫,那么自建有哪些需要考量的因素?
一自建代码托管系统都需要做些什么工作?
Git 大家族的 GitLab ,它提供了完善的用户权限管理,除了涵盖 Git 所有的功能,同时又提供方便的后台管理。分别有CE(社区版)、EE(企业版)、OM(RPM 包完整版)三个版本,目前市面上开发者们的普遍选择是使用 CE 版的源码,成本较低且相对方便。
可是 GitLab 的搭建,虽然在官方文档中提供了相应的方法,但在实际的操作过程中,并没有那么顺利,从安装相关依赖到引入 yum 源等,这个过程有许多的坑,需要专人的维护和版本更新,以保证正常使用。
如果是对于中小型企业来讲,自建机房一般成本较高,而且也会存在以下问题:
所以除非是大型集团企业,一般都不会去自建机房。现在市面上存在太多的云服务器厂商,平均价格多在 5000元/年以上,五花八门的套餐和各种“优惠”让人有些眼花缭乱,使用的时候也需处理各种可能遇到的软硬件故障。
综上来看,如果是自建代码管理系统,从软件到硬件可能会遇到以下的问题:
二从传统 IDC 到云计算,我们该如何管理代码?
在 2018 年,云计算已经成了全球最重要的基础设施,传统 IDC 日渐式微。现如今,系统上线时再不需要四处比价购买服务器,寻找机房、应对日常各种硬件故障以及网络故障。使用云计算,这一切都可以在线操作,方便管理的同时也能提高团队整体的开发效率。下面我们从大家最关心的企代码安全来讲讲云平台的优势。
无论是自建系统还是使用云平台,代码最终都是存储在存储设备上,可靠的存储是代码安全的第一要素,我们可不希望因为硬件故障导致代码丢失。
云平台通常拥有专业的机房,因其专业特性和对上下游产业链的熟悉,单位成本大大降低,在供电系统、冷却系统、带宽资源等方面也投入巨大,这是一般企业机房所无法媲美的。云平台在硬件方面通常更有保障。
专业的代码托管平台通常都会做多份存储并定期备份。一旦出现硬件故障,冗余的存储设备可以保证数据不会丢失,即使丢失也可以从备份数据中恢复。而如果企业规模不大的话,内部自建的代码存储系统在可靠存储的机制上通常难以充分保证。
机房要保持良好的运行状态,就要面对繁琐的细节与大量的不可控因素,从网络部署、应用需求、设备折旧、安全灾备等业务需求到临时断电、服务器宕机、网络故障等突发事件,在这一方面,云平台的专业优势是显而易见的。
在确保代码可靠存储之后,权限问题就是我们最最关心的问题了。
一般企业内部会有各种各样的项目,而什么人可以访问哪些项目,必须进行严格界定:什么人可以提交代码?什么人只能阅读代码?什么人能不能看代码,但是能提交 Bug 问题?
自建代码托管系统一般会采用开源项目(如 Gitlab)搭建,但开源项目在权限控制方面一般比较简单,例如只能控制某个用户是否有访问某个项目的权限。若要实现精细的权限控制,开发成本太大。
而权限控制通常是代码托管云平台的重要增值服务之一,会投入大量开发资源以满足用户需求,保证可用性及易用性。
这个问题也是很多企业极为关注的 —— 怎样防止我的代码遭到恶意泄露。
代码泄露存在以下几种可能的途径:
如果项目成员泄露项目代码,带来的问题是最严重的——因为项目成员理解代码,而且拥有对代码的读写权限。因此,对于项目成员主动泄露代码,实际上难以真正控制,只能从企业的管理制度上和法律层面上解决。
事实上,企业内部网络的安全性通常并不理想。权限管理宽松、混乱的现象非常普遍。
对自建代码系统的公司而言,尽管在系统设置上,非项目成员无法访问具体项目代码。但如果代码系统是搭建在企业内部,其实很容易直接通过内部网络访问到所有的代码。而使用云平台可以有效避免这种可能性存在。
企业自行搭建代码托管系统一般会采用开源软件(如 Gitlab),但众所周知,开源软件也经常存在一些漏洞,尽管漏洞的修复也很快,但因为企业内部对这套系统的维护一般是兼职人员,无法保证第一时间修复漏洞,很可能导致他人利用漏洞获取到敏感信息。
尽管云平台也同样存在这个问题,但云平台通常配有专职的运维人员,漏洞的风险也会相应大大降低。
从前述几点来看,对于中小企业,以及大型企业的开发团队而言,选择云平台托管代码,实际上是更省心、更安全的选择,对比独立搭建系统的优势非常明显。
那么我们唯一需要担心的就是,将代码托管到云平台会不会被泄露?
云平台的安防措施、内部管理措施、对用户的权益保障措施等,都是需要考虑的影响因素。
因此在选择代码托管云平台时,应该选择有良好信誉保证、可靠、中立的服务商。
三码云能够为您的代码托管带来什么帮助?
企业自建的代码管理系统面临传统 IDC 时代的各种烦心事正是开源中国码云平台要帮您解决的问题:
我们以阿里云主机为例:(硬性成本)采购一台包含 2 个 CPU、4G 内存、1T 存储、5兆带宽的 ECS 服务器,费用大约是 6000/年。(软性成本)再加上一个开发者兼任系统维护工作,占据其 10% 的工作时间,这个成本本身并不低,但这是最次要的,由于不是专业的 Git 工程师,在应对系统漏洞以及对接方面的经验有限,一旦出了安全问题,损失难以估计。 另外一个紧要的问题是内部安全问题。曾经遇见过这样的客户,内部员工删除代码仓库并离职,可能导致企业产生难以估计的损失。
如果你正遭遇这么一些坑,那不妨试试 码云 ,和招商银行、招商证券、超图软件、九州腾云、人民邮电出版社、国防科学技术大学等三万家企业一起用码云来管理你的代码吧。