代碼是 DevOps 流程的起點,是全部研發流程的基礎,代碼託管能爲代碼「保駕護航」,確保代碼的安全性、可用性,同時提供圍繞代碼的一些基礎服務,如 MR 、 Issue 等等。git
國內代碼託管環境背景:
大部分我的開發者會選擇在Github上學習的時候將本身的代碼託管在Github上,隨着開發者羣體的壯大,國內也陸續推出各種代碼託管服務,我的或小企業的開發者也會選擇將代碼託管在這些國內的平臺上。還有部分中小企業選擇內部自行搭建 SVN ,會遇到搭建成本,維護,擴展,備份,數據安全和可靠性的問題。在線服務是趨勢,如何選擇值得相信的,可擴展的,無成本的代碼託管服務呢? github
下面咱們開始對國外和國內的代碼託管產品進行橫向測評:安全
1.GIthub :
核心問題—— Github 的企業版收費和速度慢。
收費有多貴? 10 個私有倉庫, 25 美圓 /月。 這個價格看起來很便宜。
速度有多慢?在杭州 12M 寬帶的網絡下在 300~400ms 左右,而且有不穩定的 50%左右丟包率。在全國各機房統計的 ping github 的網絡速度看, github 在中國的訪問確實是極度不穩定的,在上面查看代碼還能夠,若是是平常工做相信是沒法接受的。
還有對每一個開發者來講或大或小的中英文差別問題,致使使用過程會有些不流暢網絡
2.Coding.net :
基於國外的語言、社交、社區等一系列的差別問題,國內也有了不少本身的代碼託管平臺,其中表現較好的得算上coding 。
核心優點——有演示平臺(一鍵部署)和質量分析(雖然用戶廣泛表示這個分析效果較通常),私有倉庫全免費、也推出了安卓和 IOS 客戶端。
要說它的劣勢,應該就是收費問題了吧,不過對於小開發者來講平常功能可以知足需求了。架構
3.Amazon ( CodeCommit ):
對標競爭對手是 Github ,不過人家早已佔領市場份額,因而主打技術牌。
核心優點——他打的點在於分佈式部署,無線擴容的存儲,和傳輸過程的加密
支持存儲任何代碼到二進制文件,並支持 Git 的標準功能,容許它與您現有的基於 Git 工具無縫地工做。
提供內置加密支持,從而可以加密在途和靜態文件以及存儲庫。分佈式
4.阿里雲 code :
從未在外面推廣過的一款代碼託管產品,估計不少人還不知道阿里雲有這個服務
核心優點——雲計算代碼託管, 高可用,安全, 性能和容量是核心競爭力,支持 svn 客戶端對 git 倉庫進行操做。目前已經支持 git 分佈式存儲。
單元化架構是從並行計算領域發展而來。在分佈式服務設計領域,一個單元( Cell )就是知足某個分區全部業務操做的自包含的安裝。而一個分區( Shard ),則是總體數據集的一個子集,若是你用尾號來劃分用戶,那一樣尾號的那部分用戶就能夠認爲是一個分區。單元化就是將一個服務設計改造讓其符合單元特徵的過程。
爲了實現單元化的目標,阿里雲 code 在最初設計時就往這方面考慮。好比跨機房備份中,消息消費應用須要調用 Sharding-Proxy-Api 獲取 rpc 服務的地址時,儘量作到數據在單機房內閉環。這樣在知足單元化要求的同時,也能夠在機房故障時,儘可能不影響已進入隊列的消息在消費時出現數據斷流。
如今阿里巴巴集團 GitLab 在架構上已經基本具有了單元化部署的能力,這樣的狀況下,不管是對外提供服務,仍是須要單獨搭建新服務時,都不會遇到問題。
產品目前在公測期,徹底免費,接入很便捷。svn
綜上,你們能夠根據本身的需求選擇合適的託管服務。工具