成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
    AIoT 正文
    發(fā)私信給程弢
    發(fā)送

    0

    關(guān)于代碼托管的始末,程序員應(yīng)該知道這些真相 | 雷鋒網(wǎng)公開課

    本文作者: 程弢 2016-06-13 19:37 專題:雷峰網(wǎng)公開課
    導(dǎo)語:代碼托管的最大意義不在于托管代碼,而是在于方便集成。

    今年8月,雷鋒網(wǎng)將在深圳舉辦一場盛況空前,且有全球影響力的人工智能與機器人創(chuàng)新大會。屆時雷鋒網(wǎng)將發(fā)布“人工智能&機器人Top25創(chuàng)新企業(yè)榜”榜單。目前,雷鋒網(wǎng)正在拜訪人工智能、機器人領(lǐng)域的相關(guān)公司,從中篩選最終入選榜單的公司名單。如果你也想加入我們的榜單之中,請聯(lián)系:2020@leiphone.com。

    關(guān)于代碼托管的始末,程序員應(yīng)該知道這些真相 | 雷鋒網(wǎng)公開課

    孫宇聰:Coding.net CTO,  曾任 Google Senior Site Reliblity Engineer(2007-2014) 就職于Moutain View 總部, 曾參與設(shè)計維護YouTube 視頻轉(zhuǎn)碼/存儲/直播管理系統(tǒng)(系統(tǒng)吞吐量超過1Peta bytes/月), 參與研發(fā)管理全球 Youtube CDN 網(wǎng)絡(luò) (峰值流量~10Tbps) , 后就職于Google 內(nèi)部云計算部門開發(fā)維護全球百萬臺服務(wù)器生命周期管理系統(tǒng)及任務(wù)管理系統(tǒng)。

    程序員的日常工作離不開代碼,有逼格的程序員都有過將代碼托管到第三方平臺的經(jīng)驗,例如國外的Github幾乎成為了全球程序員的社交平臺。不過,國內(nèi)這幾年也不斷涌現(xiàn)出一批優(yōu)秀的代碼托管平臺,2014年成立的Coding就是其中之一,本期硬創(chuàng)公開課我們邀請到了Coding CTO孫宇聰為大家?guī)碛嘘P(guān)代碼托管以及云服務(wù)的分享。

    Coding是什么?

    Coding 成立于2014年,是一家面向廣大程序員服務(wù)的公司,其中包括好用的項目管理工具,代碼托管平臺,社區(qū)以及靠技能變現(xiàn)的外包交易平臺(碼市)。

    代碼托管到底解決了哪些問題?

    代碼版本管理工具(VCS系統(tǒng)或者稱之為 SCM 系統(tǒng))是軟件開發(fā)項目中不可缺少的一項重要生產(chǎn)力工具,主要作用就是使得項目成員可以用他來管理項目中的代碼,跟蹤某個文件的歷史信息。VCS/SCM系統(tǒng)也是代碼評審工具,自動化持續(xù)集成工具等等的主要集成點,是敏捷式開發(fā),快速迭代,持續(xù)集成等等一切的基礎(chǔ)。

    目前最為流行的代碼管理系統(tǒng)包括SVN和GIT,還有一些較為小眾的如Mercurial(Hg),Bazar(bzr) 。這些代碼管理工具操作方式等各有不同,但是大都能實現(xiàn)一樣的目的,也就是跟蹤一個項目中代碼演進的歷史。

    大家都知道在項目開發(fā)過程中,需求總是變來變?nèi)サ模?nbsp;甚至在需求制作中,代碼也總是會不停地改變。用好一套版本管理系統(tǒng)可以使得每次測試,發(fā)布的時候清楚的知道發(fā)布了什么東西,更好的跟蹤代碼的改變。GIT與SVN的實現(xiàn)各有優(yōu)缺點,這里就不贅述了。目前,Coding同時支持 SVN 與 GIT 協(xié)議訪問代碼倉庫,同時提供了豐富的代碼評審,持續(xù)集成等功能,以及完善的項目管理功能。

    總而言之,代碼托管平臺的最大意義不在于托管代碼,而是在于方便集成。

    團隊協(xié)作和代碼生產(chǎn)是怎樣一種關(guān)系?

    先來看看這樣的場景:傳統(tǒng)的企業(yè)運作方式是部門制,各管各的,產(chǎn)品經(jīng)理一套流程, 設(shè)計一套,項目經(jīng)理一套流程,程序員一套流程,互相不會打通。每次一開會,相關(guān)任務(wù)的背景資料都要靠口頭傳遞,甚至是用紙條來傳遞,這樣的效率非常低。

    高效的軟件開發(fā)流程離不開一個完整的閉環(huán)系統(tǒng)。什么是敏捷,什么是DevOps? 什么是IT和商業(yè)緊密結(jié)合?這就是所謂的閉環(huán)。

    軟件開發(fā)項目中的所有角色:包括程序員 ,項目經(jīng)理,甚至設(shè)計師,運營人員,當(dāng)然還有領(lǐng)導(dǎo)都迫切需要一個集成化的項目管理環(huán)境,使得需求、設(shè)計、代碼、上線以及運營可以緊密的結(jié)合起來。一個想法的產(chǎn)生,到實現(xiàn),到最后運營,有據(jù)可查,有理可依,這樣的生產(chǎn)力肯定會提高。

    如何評價云服務(wù)的好壞?

    這個問題好難回答, 所以我自己也經(jīng)常問自己這個問題, 我們怎么敢?guī)腿送泄苓@么貴重的資料呢?要回答這個問題, 首先我們要先定義“好”和“壞“。我認(rèn)為有幾點:

    一、可用性( Availability), 一個云服務(wù)如果不能做到隨時24x7可用,那么就不會有人使用,那就談不上好了,畢竟用戶存了東西,必須能夠隨時取走。

    可用性的定義是服務(wù)的在線時間比率,這個比率越高,用戶體驗當(dāng)然就越好,具體可以看看下面這張圖。

    關(guān)于代碼托管的始末,程序員應(yīng)該知道這些真相 | 雷鋒網(wǎng)公開課

    一般來說,互聯(lián)網(wǎng)機房常見的可用性目標(biāo)是99%,也就是一年有3天的不可用時間,甚至還有更低的,這種情況下供應(yīng)商通常會給客戶返現(xiàn)補貼。顯然,這樣的標(biāo)準(zhǔn)對云服務(wù)而言太低了,云服務(wù)的基礎(chǔ)線是99.9%,也就是說云服務(wù)至少要達到上述表格中的第三等級以上才算合格。第四個等級每年只有52.6分鐘的不可用時間,這非常考驗技術(shù)能力,運維能力。僅憑人力這幾乎是不可完成的任務(wù),所以運維自動化、無人化運維等詞就應(yīng)運而生了。

    至于如何提高可用性,以下三點是必備工作:

    1.盡量做到無狀態(tài)微服務(wù),去掉系統(tǒng)中的單點故障。


    2.做好容量規(guī)劃, 實現(xiàn)N+2, 或者N+1 , (做壓力測試,性能分析) 冗余。


    3.生產(chǎn)管理上要做好監(jiān)控,報警,灰度發(fā)布等等運維手段,減少人工干預(yù)。

    二、可控性(Access Control)。很多用戶更傾向于把重要的資料放在本地,這是因為大家覺得這個環(huán)境比較可控,設(shè)置完密碼后如果還不放心,可以買個鎖把機房的門鎖起來。 

    但是, 放到云上這樣的方式就行不通了,因此,即便云服務(wù)有訪問上的便利性,但客戶對存在云端的數(shù)據(jù)是否安全仍持懷疑態(tài)度,好的云服務(wù)必須解決這樣的問題。

    可控性是一個多層次的話題,這個層次和你每天上班經(jīng)過無數(shù)道門一樣, 訪問控制也應(yīng)該由很多層組成,而且每層防御的目標(biāo)都不一樣,大體上可以分為三層。

    第一層是物理安全也是最重要的一環(huán),任何邏輯安全都要以這個為前提。在云時代,物理安全很大程度上是靠選擇靠譜的合作伙伴來決定的,但作為一個云服務(wù)也要對此有所了解,知道自己用的云服務(wù)的物理限制,系統(tǒng)設(shè)計等等,這樣有的放矢的設(shè)計自己的權(quán)限控制系統(tǒng)、網(wǎng)絡(luò)隔離、加密等等高級訪問控制層。

    第二層是有關(guān)協(xié)議層的安全,全站TLS加密屬于基礎(chǔ)。

    第三層是對 ”秘密“的管理,每個云服務(wù)背后都有很多很多的秘密(可以是ssh密鑰,可以是服務(wù)器密碼,也可以是數(shù)據(jù)庫帳號)需要管理,這個管理做得越好,可控性越強。很多公司管理秘密的方式,就是一個本子,而且不更新這種做法的安全隱患很大。除此之外,關(guān)于可控性還有很多很多其他的話題,比如說 角色型權(quán)限管理,身份傳遞,應(yīng)用數(shù)據(jù)加密等等,這些都是提高安全性必不可少的話題。

    三、災(zāi)難恢復(fù)或者說是災(zāi)備,這是云服務(wù)優(yōu)勢最大的地方。因為不管代碼托管在哪里,都有出現(xiàn)災(zāi)難的可能,而災(zāi)難一發(fā)生就會導(dǎo)致數(shù)據(jù)丟失,這是很多企業(yè)選擇云服務(wù)的原因。

    云服務(wù)必須有一套常駐熱備災(zāi)難恢復(fù)系統(tǒng),也就是說必須有一套一模一樣的系統(tǒng)同步運行,生產(chǎn)系統(tǒng)宕機后,就可以自動切換到備用系統(tǒng)上,不管是雷擊還是挖纜云服務(wù)都能保證數(shù)據(jù)的安全。很多云服務(wù)商并沒有這樣一套穩(wěn)定的系統(tǒng),不是因為技術(shù)上不可能,而是因為平時不投入。

    大量的用戶數(shù)據(jù)對于運維提出了哪些要求?

    我們可以從兩個方面討論,即數(shù)據(jù)持久性(Durability)和數(shù)據(jù)可訪問性。

    要保證數(shù)據(jù)持久性,就需要對數(shù)據(jù)進行備份,校驗, 必要時候進行修復(fù)。需要注意的是,備份的數(shù)據(jù)必須是可恢復(fù)的,如果平時不經(jīng)常測試自己的備份數(shù)據(jù),你會發(fā)現(xiàn)要用的時候備份數(shù)據(jù)也有可能完全不能用。

    在數(shù)據(jù)不丟失的前提下,還要保證數(shù)據(jù)的可訪問性,否則和丟失沒有什么區(qū)別。這兩點都需要持續(xù)不斷的工程投入,包括與第三方服務(wù)的接入。

    群友問答:

    Q:Coding是一個集成化的項目管理環(huán)境,關(guān)于這塊,我們公司使用禪道+SVN來實現(xiàn)的,GIT有什么優(yōu)勢嗎?

    A:首先,代碼評審的環(huán)節(jié)我認(rèn)為是必不可少的。 SVN實現(xiàn)起來相對更困難一些,不過要注意的是 SVN和GIT 其實和這個沒什么關(guān)系,SVN系統(tǒng)只是因為時間太久了,和其他系統(tǒng)的集成做的不能夠很好;GIT相對較新,比如說我們可以做到代碼與任務(wù)互相引用等更深度的集成,這樣一來效果就會好一些。

    Q:Coding有沒有代碼質(zhì)量檢查模塊,是怎么做的?

    A:有的,Coding 目前的質(zhì)量分析模塊是集成了Sonar Cube,這一項目是去年完成的,目前還有一個新的框架在內(nèi)部使用中,基于shipshape 制作,可以接入任意質(zhì)量分析模塊,各種語言如java, js, php等等全部都可以接入,這個我們會在下半年推出。

    關(guān)于代碼托管的始末,程序員應(yīng)該知道這些真相 | 雷鋒網(wǎng)公開課

    雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

    分享:
    相關(guān)文章

    略懂技術(shù)的小編

    關(guān)注一切有未來感的產(chǎn)品及技術(shù)!
    當(dāng)月熱門文章
    最新文章
    請?zhí)顚懮暾埲速Y料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
    立即設(shè)置 以后再說