霍娜
眼下,“DevOps(Development/開(kāi)發(fā)與Operations/運(yùn)維的組合)”在軟件開(kāi)發(fā)者圈,乃至整個(gè)IT界都是一個(gè)熱門(mén)詞匯。DevOps為什么這么火,它有何特殊價(jià)值?帶著疑問(wèn),記者近日采訪(fǎng)了CA Technologies應(yīng)用交付解決方案策略師王志明。
應(yīng)用經(jīng)濟(jì)呼喚快速交付
“毫無(wú)疑問(wèn),我們現(xiàn)在身處一個(gè)瞬息萬(wàn)變、信息爆炸的時(shí)代。60秒鐘之內(nèi)就會(huì)發(fā)生很多事情:超過(guò)兩百萬(wàn)條的谷歌搜索、兩億封郵件的傳送……”王志明認(rèn)為我們正處于應(yīng)用經(jīng)濟(jì)備受關(guān)注的時(shí)代,無(wú)論是從體育用品向健康管理轉(zhuǎn)型的耐克,還是從網(wǎng)上零售向云服務(wù)商轉(zhuǎn)型的亞馬遜,亦或是在韓國(guó)地鐵嘗試虛擬攤位購(gòu)物的樂(lè)購(gòu)(TESCO),甚至是宣稱(chēng)自己是做金融生意的軟件公司的JP摩根,都要靠提供各種創(chuàng)新應(yīng)用獲得持續(xù)發(fā)展。而業(yè)務(wù)靈活創(chuàng)新背后依靠的是快速、持續(xù)、高質(zhì)量的軟件應(yīng)用交付。對(duì)企業(yè)而言,在云計(jì)算、大數(shù)據(jù)和移動(dòng)互聯(lián)這三大浪潮面前,如何確保應(yīng)用質(zhì)量和體驗(yàn)本身就是一種挑戰(zhàn)。
如何更快地將應(yīng)用交付給用戶(hù)?如何提高應(yīng)用本身的各項(xiàng)指標(biāo)?如何在提高應(yīng)用質(zhì)量和體驗(yàn)的同時(shí),降低交付成本?面對(duì)這些問(wèn)題,王志明認(rèn)為,最好的解決方案無(wú)疑是引入DevOps。因?yàn)镈evOps集開(kāi)發(fā)、測(cè)試、部署和運(yùn)營(yíng)為一體,能有效促進(jìn)開(kāi)發(fā)、技術(shù)運(yùn)營(yíng)和質(zhì)量保障部門(mén)(QA)之間的溝通、協(xié)作與整合,是加速應(yīng)用交付的典型技術(shù)。
簡(jiǎn)單來(lái)說(shuō),DevOps可以幫助企業(yè)更有效地整合現(xiàn)有資源,進(jìn)行更快速的應(yīng)用交付。但目前,DevOps在中國(guó)并不算流行,很多傳統(tǒng)企業(yè)還沒(méi)有認(rèn)識(shí)到開(kāi)發(fā)與運(yùn)維協(xié)作所能產(chǎn)生的“化學(xué)反應(yīng)”。王志明介紹,CA目前的客戶(hù)多數(shù)也是采取“先試點(diǎn),再擴(kuò)展”的方案?!安粌H僅是大型企業(yè),中小型企業(yè)也有這方面的需求,只要企業(yè)的IT環(huán)境足夠復(fù)雜,都會(huì)有這方面的需求”。據(jù)了解,目前國(guó)內(nèi)很多股份制銀行、金融機(jī)構(gòu)已經(jīng)接受了DevOps,并部署CA應(yīng)用交付解決方案。
不可或缺的四個(gè)“C”
針對(duì)DevOps,CA Technologies公司提出了四個(gè)“C”的關(guān)鍵要素,即沒(méi)有約束的開(kāi)發(fā)環(huán)(Constraint-freeDevelopment)、持續(xù)應(yīng)用交付(Continuous Application Delivery)、完整的監(jiān)控平臺(tái)(Complete Monitoring)和開(kāi)發(fā)與運(yùn)維之間的高效協(xié)作(Collaboration between Dev and Ops)。
針對(duì)無(wú)約束的開(kāi)發(fā)環(huán)境,CA提供的技術(shù)方案是服務(wù)虛擬化,它可將開(kāi)發(fā)測(cè)試中的一些不可用環(huán)境,通過(guò)技術(shù)手段虛擬出來(lái)。例如,如果一款應(yīng)用需要調(diào)用銀行、地稅、運(yùn)營(yíng)商等系統(tǒng)的API,但這些企業(yè)或機(jī)構(gòu)的生產(chǎn)系統(tǒng)環(huán)境往往是不可調(diào)用的,服務(wù)虛擬化就可以解決這一問(wèn)題。服務(wù)虛擬化不僅能夠幫助企業(yè)虛擬出測(cè)試人員想要的真實(shí)環(huán)境,還能提供一些不可預(yù)測(cè)的環(huán)境,通過(guò)足夠廣泛的測(cè)試,保證應(yīng)用的質(zhì)量和穩(wěn)定度。
針對(duì)持續(xù)的應(yīng)用交付,CA提出的解決方案是自動(dòng)化發(fā)布(Release Automation),它改變了以往的人為發(fā)布形式,企業(yè)可以通過(guò)規(guī)范的方式,讓程序自動(dòng)執(zhí)行發(fā)布過(guò)程。和傳統(tǒng)的“人為發(fā)布”形式不同,自動(dòng)化發(fā)布完全不會(huì)影響業(yè)務(wù)和運(yùn)維,同時(shí)還能在不同的環(huán)境里實(shí)現(xiàn)一套規(guī)范化的發(fā)布流程。
完整的監(jiān)控平臺(tái)是DevOps中的重要一環(huán),CA在此領(lǐng)域也是深耕多年,目前具備一套完整的解決方案。
傳統(tǒng)的軟件交付過(guò)程,開(kāi)發(fā)、測(cè)試、運(yùn)維多是分開(kāi)進(jìn)行,DevOps概念則強(qiáng)調(diào)協(xié)作和整合。目前CA所提供的應(yīng)用交付方案,目標(biāo)使用者是整個(gè)IT部門(mén),而不是單純的開(kāi)發(fā)或運(yùn)維部門(mén)。CA在解決方案中還加入了數(shù)據(jù)挖掘技術(shù),可在測(cè)試或?qū)嶋H生產(chǎn)環(huán)境中,抓取應(yīng)用中出現(xiàn)的問(wèn)題和訊息,反饋給開(kāi)發(fā)人員,使得開(kāi)發(fā)人員能迅速定位問(wèn)題出現(xiàn)的位置并快速解決。
四“C”要素組成了CA應(yīng)用交付解決方案,同時(shí)也帶來(lái)了一個(gè)新的概念——Zero Touch Deployment(零接觸式應(yīng)用交付)。王志明表示,Zero Touch Deployment整合了服務(wù)虛擬化、自動(dòng)化發(fā)布等工具,其所達(dá)到的目的,就是快速持續(xù)交付應(yīng)用。