日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

對(duì)話徐磊:沒有不適合DevOps的企業(yè),只有不適合DevOps的人

 CCI16 2017-05-22
嘉賓簡(jiǎn)介

徐磊,英捷創(chuàng)軟 LEANSOFT 創(chuàng)始人兼首席架構(gòu)師,專注于軟件工程、DevOps 方面解決方案咨詢。有超過 10 年的軟件研發(fā)項(xiàng)目管理經(jīng)驗(yàn),曾任 SSW 中國研發(fā)中心總經(jīng)理。是資深 ALM 顧問和解決方案專家,微軟最有價(jià)值專家和大中華區(qū)域社區(qū)技術(shù)總監(jiān),認(rèn)證 ScrumMaster 和敏捷教練。

StuQ 工作坊:您擁有多年 DevOps 實(shí)戰(zhàn)經(jīng)驗(yàn),曾擔(dān)任京東商城、華為、中國農(nóng)業(yè)銀行、百威英博等多個(gè)項(xiàng)目的高級(jí) ALM/DevOps 顧問。您怎么理解 DevOps?在您看來, DevOps 的核心競(jìng)爭(zhēng)力是什么?

徐磊:核心競(jìng)爭(zhēng)力就是兩個(gè)字:效率。

IT 行業(yè)非常擅長發(fā)明新名詞,其實(shí)過去的 10 年中我一直都在做軟件工程相關(guān)的工作,一路走來撞上了很多這樣的名詞:SDLC(軟件開發(fā)生命周期),ALM(應(yīng)用生命周期管理),敏捷,精益等等,到了 2012 年第一次聽說 DevOps。開始的時(shí)候也很迷惑,到后來發(fā)現(xiàn)這 10 多年都只做了一件事情,就是提高效率。DevOps 不能幫你直接解決業(yè)務(wù)問題,它只能幫你更快更好的交付業(yè)務(wù)需求,這就是效率。

這么多年,其實(shí)軟件工程行業(yè)的關(guān)注點(diǎn)經(jīng)歷了一個(gè)從微觀到宏觀,再回歸微觀的過程。比如一開始的 SDLC 就是一個(gè)關(guān)注軟件開發(fā)過程本身的方法論,后來發(fā)現(xiàn)這不夠,只關(guān)注開發(fā)本身解決不了問題,就開始向更大的范圍延展,也就是出現(xiàn)了 ALM。

其實(shí) ALM 和 DevOps 所關(guān)注的問題領(lǐng)域很接近,只是前者更關(guān)注管理,而后者又開始向技術(shù)回歸,更加關(guān)注具體的實(shí)踐和落地的方案。而敏捷和精益在整個(gè)過程中則起到了價(jià)值觀引導(dǎo)和方向性指導(dǎo)的作用。

說的更直白一點(diǎn),軟件工程行業(yè)做的就是效率的工作,我們雖然不能幫你寫代碼,做測(cè)試,但是我們會(huì)讓你寫的代碼體現(xiàn)出更多的價(jià)值,讓你的交付過程更加順暢,讓管理人員更有信心,讓技術(shù)人員在單位時(shí)間創(chuàng)造更多價(jià)值。

StuQ 工作坊:可否用一個(gè)您之前的案例,說說應(yīng)用 DevOps 給開發(fā)團(tuán)隊(duì)帶來哪些改變?

徐磊:案例很多,都可以和 DevOps 扯上關(guān)系,DevOps 其實(shí)就是一頂帽子,只要你做的是軟件工程領(lǐng)域改進(jìn)效率的工作其實(shí)都可以說自己在做 DevOps。所以,不應(yīng)該說 DevOps 這頂帽子給開發(fā)團(tuán)隊(duì)帶來那些改變,而是 DevOps 下面的實(shí)踐給開發(fā)團(tuán)隊(duì)帶來哪些改變。

我做的案例中金融行業(yè)比較多,比如:農(nóng)行,興業(yè)銀行,博時(shí)基金等等。這個(gè)行業(yè)有一個(gè)普遍的特點(diǎn),就是監(jiān)管很嚴(yán),造成的結(jié)果就是企業(yè)內(nèi)部流程繁瑣,審批多,部門墻很嚴(yán)重。

我個(gè)人比較看重的改變其實(shí)是團(tuán)隊(duì)士氣上的改變,比如之前給其中一家引入了用戶故事地圖和影響地圖實(shí)踐,協(xié)助他們完成了需求梳理過程。參與的成員普遍的反應(yīng)是業(yè)務(wù)人員和技術(shù)人員可以開始對(duì)話了,而且效率很高,以往可能需要幾個(gè)月才能完成的需求梳理和設(shè)計(jì),這次僅僅用了 2 周時(shí)間,項(xiàng)目就可以啟動(dòng)了。而這種對(duì)話所帶來的默契在后續(xù)的開發(fā)過程中讓溝通更加順暢。

另外一家,我為他們的 iOS 開發(fā)項(xiàng)目定制了一套在 TFS 上面的集中自動(dòng)化構(gòu)建系統(tǒng),這個(gè)事情讓他們的開發(fā)人員不再需要每個(gè)月抱著電腦到構(gòu)建管理員那里拷貝代碼才能發(fā)布版本。這里解決的其實(shí)是 AppStore 證書的問題,因?yàn)槠髽I(yè)證書是不能拷貝給開發(fā)人員的,而發(fā)布正式版本又需要這個(gè)證書,所以以前是靠人來管理,現(xiàn)在可以靠自動(dòng)化系統(tǒng)。這個(gè)事情其實(shí)做的就是持續(xù)集成,但是解決的卻是流程問題。

引入 DevOps 實(shí)踐最重要的是要能帶來效率提升,讓涉及到的人員感受到價(jià)值。

StuQ 工作坊:您覺得哪一類企業(yè)適合 DevOps?如何評(píng)估一個(gè)企業(yè)適不適合,以及什么時(shí)候適合實(shí)施 DevOps?

徐磊:我覺得沒有不適合 DevOps 的企業(yè),只有不適合 DevOps 的人。企業(yè)都要盈利,沒有一家企業(yè)會(huì)認(rèn)為效率提升對(duì)它沒有價(jià)值,所以都適合做 DevOps,而且都應(yīng)該做。但是具體到人的個(gè)體,就不一定了。

這里還是個(gè)案例,我的一家銀行客戶,一直希望能夠做到全生命周期的軟件工程管理,就是用需求把整個(gè)過程串起來,一直不能落實(shí)。2016 整個(gè)行里把互聯(lián)網(wǎng)金融作為戰(zhàn)略級(jí)決策,由副行長出面協(xié)調(diào)組織了一個(gè)跨部門跨職能的虛擬團(tuán)隊(duì)來做這個(gè)事情,這個(gè)項(xiàng)目里終于做到了全生命周期管理。

我在這里不想探討為什么要做全生命周期管理,我只想說為什么之前的 10 年都做不到,這次做到了。我參與了這個(gè)項(xiàng)目整個(gè)過程,我覺得最大的區(qū)別就是這個(gè)組織架構(gòu)的調(diào)整。以前的人員都屬于各個(gè)部門,各自的 KPI 都是對(duì)部門的,沒有人會(huì)覺得全生命周期管理對(duì)自己有任何的好處,因?yàn)樽约鹤龅亩际瞧渲幸欢?,做多了也沒有人會(huì)說你好。這次采用這種虛擬團(tuán)隊(duì)的組織架構(gòu),讓這些人的思想一下子從做好自己這一段轉(zhuǎn)變成了做好這個(gè)項(xiàng)目。這個(gè)事情就成了,就是這么簡(jiǎn)單。

DevOps 從來都不能把它當(dāng)成一個(gè)項(xiàng)目來說,雖然時(shí)機(jī)很重要(比如上面這個(gè)案例),但是 DevOps 的實(shí)踐可以隨時(shí)開始。沒有前期的鋪墊和探索,上面這家銀行業(yè)也不可能在這個(gè)項(xiàng)目中順利實(shí)施 DevOps 實(shí)踐。所以我們要做的是:持續(xù)改進(jìn),時(shí)刻準(zhǔn)備著。

StuQ 工作坊:很多企業(yè)都有“想實(shí)施 DevOps 又不知道從何入手”的困境,您認(rèn)為在實(shí)施 DevOps 過程中需要注意什么問題?有哪些關(guān)鍵點(diǎn)設(shè)計(jì)?

徐磊:關(guān)鍵點(diǎn)是 3 句話:

  • 自上而下的文化轉(zhuǎn)變

  • 自下而上的實(shí)踐支撐

  • 貫穿中間的工程落地

其實(shí)以上的案例已經(jīng)印證了這 3 點(diǎn),沒有企業(yè)領(lǐng)導(dǎo)者對(duì) DevOps 價(jià)值的認(rèn)知,下面的人再怎么努力也沒有用,企業(yè)的方向性戰(zhàn)略還是靠幾個(gè)人的思路決定的,沒有他們腦子里面的轉(zhuǎn)變,下面人做再多也是跑偏。這部分的改變需要敏捷和精益思想的導(dǎo)入。但無論領(lǐng)導(dǎo)們?nèi)绾握J(rèn)知這個(gè)問題,軟件研發(fā)的效率問題都是客觀存在的,所以務(wù)實(shí)的各種實(shí)踐都還是要做的。

這部分的實(shí)踐要靠 Scrum,Kanban,持續(xù)集成,持續(xù)交付等等方法和實(shí)踐的支撐。而企業(yè)需要的只是一個(gè)時(shí)機(jī),所有的努力都會(huì)被聚集在一個(gè)點(diǎn)上爆發(fā)。上下的思路碰撞會(huì)帶給企業(yè)量變到質(zhì)變的機(jī)會(huì)。而貫穿這整個(gè)過程的是軟件工程系統(tǒng)和工具的落地,系統(tǒng)和工具中所承載的是企業(yè)的制度和流程,這些是保證企業(yè)在鐵打營盤流水兵的現(xiàn)實(shí)下確保持久發(fā)展的核心競(jìng)爭(zhēng)力的基礎(chǔ)。

StuQ 工作坊:您是怎樣一步步成為 DevOps 大牛的?這個(gè)過程中有過什么瓶頸么?又是怎么克服的?

徐磊:一個(gè)事情做的夠久了,自然有些心得。我常和客戶說的一句話就是:我不比你們高明多少,但是我掉的坑肯定比你們多,從坑里爬出來的次數(shù)多了,就知道哪些坑能爬得出來,哪些坑爬不出來。別把人往坑里面帶,這就夠了。

瓶頸還是有的,放在 5 年前其實(shí)沒有什么人關(guān)心軟件工程,DevOps 也遠(yuǎn)遠(yuǎn)沒有今天那么火,很多人甚至都不覺得這是個(gè)正經(jīng)行業(yè),就連應(yīng)聘來的人都要解釋半天我們是做什么的。所以有一段時(shí)間這個(gè)事情其實(shí)做起來很苦逼,也一度想轉(zhuǎn)行做其他的。這應(yīng)該算是瓶頸吧,估計(jì)很多做這個(gè)行業(yè)的人在中間都撤了,最后堅(jiān)持下來的就算是大牛了吧。

StuQ 工作坊:您如何看待 DevOps 的發(fā)展現(xiàn)狀以及未來發(fā)展趨勢(shì)?

徐磊:DevOps 的現(xiàn)狀用方興未艾來形容是最形象不過的,2008 年這個(gè)詞出現(xiàn)到 2012 年被行業(yè)認(rèn)可,到 2013 年 docker 出現(xiàn)再一次推波助瀾?,F(xiàn)在的狀況是從管理方法論和工程方案上都已經(jīng)很完整,但是企業(yè)中的實(shí)施成功案例還比較少,特別是傳統(tǒng) IT 企業(yè)。

現(xiàn)況是,新興行業(yè)(互聯(lián)網(wǎng)企業(yè))憑借著輕裝上陣,無歷史包袱和相對(duì)簡(jiǎn)單的業(yè)務(wù)模型,天生就具備 DevOps 的優(yōu)勢(shì),而且他們作出了很多非常漂亮的實(shí)踐,分享到社區(qū);但是傳統(tǒng)企業(yè) IT 的復(fù)雜度其實(shí)比新興行業(yè)要高的多,這些實(shí)踐確實(shí)具備借鑒意義,但是如何真正引入到傳統(tǒng)企業(yè)的 IT 并產(chǎn)生價(jià)值這就是最近幾年的主要趨勢(shì)了。

作為 IT 行業(yè)從業(yè)者,其實(shí)很容易被滿天飛的各種公眾號(hào)文章,博客,宣傳所誤導(dǎo);好像互聯(lián)網(wǎng)的玩法才是好的。其實(shí)我們真的要認(rèn)清形勢(shì),互聯(lián)網(wǎng)在整個(gè) IT 業(yè)里面的體量恐怕連 10% 都不到,絕大多數(shù)軟件開發(fā)從業(yè)人員是在為各種企業(yè)的 IT 部門工作的,真正解決他們的痛點(diǎn)才是 DevOps 應(yīng)該關(guān)注的問題。

StuQ 工作坊:可否推薦一些您用過的好用的 DevOps 工具?

徐磊:DevOps 的范疇很大,從工具角度來說可以分成這樣幾類,這些工具都是我在工作中常用的,所以不全,只是我比較了解的。

1、全生命周期管理平臺(tái):這類工具的重點(diǎn)是在企業(yè)研發(fā)中形成端到端的管理能力,建立整個(gè)研發(fā)流水線(這里的流水線包括需求,開發(fā),測(cè)試,交付整個(gè)過程,不僅僅是自動(dòng)化流水線)。

  • 微軟 Visual Studio Team Service / Team Foundation Server 平臺(tái):這是微軟支撐自己產(chǎn)品研發(fā)和為企業(yè)提供的研發(fā)管理平臺(tái),提供了包括需求管理,項(xiàng)目管理,配置管理,測(cè)試管理,自動(dòng)化構(gòu)建/發(fā)布和數(shù)據(jù)分析的完整研發(fā)管理平臺(tái),也是我最熟悉的平臺(tái)。

    https://www./zh-hans/team-services/

  • Atlassian 的系列產(chǎn)品,包括:Jira(需求,項(xiàng)目,過程管理),BitBucket(代碼和配置管理),Confluence(知識(shí)庫和文檔管理),Bamboo(自動(dòng)化/持續(xù)集成和發(fā)布)。Atlassian 是一家專注于軟件工程管理平臺(tái)多年的公司,產(chǎn)品線隨著這么多年的發(fā)展也日趨完善和完整。我的客戶中有很多在使用這個(gè)平臺(tái)。

    https://www./

2、自動(dòng)化引擎:這類工具主要解決 DevOps 中的自動(dòng)化過程的管理和執(zhí)行。自動(dòng)化工具一般都是提供一個(gè)引擎 各種插件。

  • Jenkins:這應(yīng)該算是最常見也是最受歡迎的自動(dòng)化引擎了,引擎簡(jiǎn)單可靠,可擴(kuò)展性好,具備大量好用的插件,社區(qū)支持完善。

    https:///index.html

  • TeamCity:非常好用的企業(yè)級(jí)自動(dòng)化平臺(tái),是老牌軟件工具廠商 JetBrians 旗下的自動(dòng)化引擎。我曾經(jīng)非常喜歡 TeamCity 對(duì)單元測(cè)試的支持,因?yàn)樗堑谝粋€(gè)做到將測(cè)試信息聚合顯示并做時(shí)間線跟蹤的工具。

    https://www./teamcity/

3、代碼度量工具:這類工具一般被獨(dú)立使用或者集成在以上的自動(dòng)化引擎中,為團(tuán)隊(duì)提供持續(xù)的代碼質(zhì)量度量信息,幫助團(tuán)隊(duì)持續(xù)得到反饋。這類工具又可以可以分成靜態(tài)檢查工具和運(yùn)行時(shí)檢查工具。

  • SonarQube:一體化的代碼度量平臺(tái),支持多種語言,大量可定制的度量數(shù)據(jù)采集器和規(guī)則。

    https://www./

  • Coverity:特別擅長 C/C /C# 等語言的靜態(tài)代碼檢查工具,當(dāng)然對(duì)其他主流語言也有很好的支持,內(nèi)置的代碼相似度檢查非常有用。主打安全性檢查。https://www./software-integrity/security-testing/static-analysis-sast.html

  • Parasoft dottest:主流語言支持都很棒,包括:C/C /Java/.net。包括代碼覆蓋率和單元測(cè)試支持等運(yùn)行時(shí)檢查工具。

    https://www./product/dottest/

  • .NET Compiler Platform (Roslyn):內(nèi)置于.net 編譯器中的動(dòng)態(tài)代碼分析引擎,可以在編程的同時(shí)對(duì)代碼進(jìn)行動(dòng)態(tài)分析并給出建議。而且此工具也是開源的

    https://github.com/dotnet/roslyn

  • FxCop/StyleCop:內(nèi)置于 Visual Studio 中的靜態(tài)代碼檢查工具。

  • CheckStyle/FindBugs/PMD:專注于 Java 平臺(tái)的代碼檢查工具,非常多團(tuán)隊(duì)的默認(rèn)選擇,和 Jenkins 集成的非常多。

4、自動(dòng)化測(cè)試工具:這類工具可以按照層次分成單元測(cè)試,自動(dòng)化功能測(cè)試和性能測(cè)試這樣 3 類。

  • 單元測(cè)試框架:Junit, Nunit, Google Test,Xunit,Mocha,Jasmine 等。這類工具其實(shí)是編程框架,是開發(fā)人員用來快速創(chuàng)建單元測(cè)試代碼的基礎(chǔ)。

  • 自動(dòng)化功能測(cè)試:Selenium 和類似的 Appium 等工具。這類工具從 GUI 界面入手,模擬用戶的行為并通過驗(yàn)證界面元素的狀態(tài)來完成測(cè)試。

  • 性能測(cè)試:Jmeter,LoadRunner,VisualStudio Load Test 等。這類工具一般通過對(duì)后端服務(wù)的 api 模擬用戶行為,并配合一定 pattern 的壓力模擬來完成對(duì)應(yīng)用性能的測(cè)試。

5、環(huán)境和應(yīng)用編排工具:其實(shí)這是兩類解決不同層面問題的工具,一個(gè)是解決基礎(chǔ)設(shè)施編排的,一類是解決應(yīng)用編排的,但是從 DevOps 的角度來說,它們都一樣,因?yàn)槲艺嬲枰氖菓?yīng)用,而不是基礎(chǔ)設(shè)施。

  • Docker:這個(gè)不用解釋了,DevOps 的興起其實(shí)很大程度上是被 Docker 的熱度帶起來的。最近 Docker 發(fā)布了 LinuxKit 工具,其實(shí)已定程度上進(jìn)入基礎(chǔ)設(shè)施編排領(lǐng)域了,再加上 DockerSwarm 的成熟,其實(shí)已經(jīng)是一個(gè)從集群管理,操作系統(tǒng)和應(yīng)用的全面解決方案了。

  • Kubernetes(k8s),ApacheMesos(dc/os) 和 Service Fabric:這幾個(gè)加上 Docker Swarm 就構(gòu)成了最近幾年非?;馃岬木幣牌脚_(tái)陣營。從云平臺(tái)的興起到應(yīng)用編排平臺(tái)的火熱,其實(shí)代表了 IT 界回歸應(yīng)用本身的過程。這些平臺(tái)給企業(yè)帶來了集群環(huán)境的統(tǒng)一化管理方案,對(duì)現(xiàn)代應(yīng)用運(yùn)維有非常巨大的推動(dòng)作用,是每一個(gè) IT 從業(yè)者都應(yīng)該了解和熟悉的工具。

  • Chef/Puppet/PowerShell DSC:這些工具應(yīng)該說和 Docker 解決了同樣的問題,但是采用了不同的思路。類似的工具在 2010 年左右開始出現(xiàn),極大的推動(dòng)了 DevOps 實(shí)踐中“環(huán)境獲取能力”的提升,可以說是 DevOps 領(lǐng)域中第一批非常有價(jià)值的工具。

6、虛擬化和云平臺(tái):這類工具無需解釋了,云平臺(tái)是過去幾年火熱的話題。但是今天各大公有 / 私有云都已經(jīng)成熟的環(huán)境下,企業(yè)怎樣最大化云平臺(tái)的價(jià)值才是重點(diǎn)。

  • 公有云:微軟 Azure, AWS,阿里云,青云等

  • 私有云:微軟 System Center/Azure Stack,OpenStack,vmware,KVM 等

最后想說的是,這里工具繁多,但沒有任何一個(gè)工具可以說自己是 DevOps 的工具,就算是全生命周期管理平臺(tái)也無法涵蓋企業(yè)和團(tuán)隊(duì)的所有 DevOps 訴求。所以 DevOps 的工具選型永遠(yuǎn)是要搭建最適合自己的工具鏈,而這些工具的開放性就是最應(yīng)該關(guān)心的問題。

StuQ 工作坊:我看到您是一位活躍的分享者,在 InfoQ 上發(fā)表過多篇備受歡迎的文章,6 月份也將和 StuQ 合作推出經(jīng)典課程《DevOps 實(shí)戰(zhàn)》,您通過這門課程想解決學(xué)員面臨的哪些問題?這個(gè)課程的與眾不同之處在哪里?

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多