對話:用敏捷和DevOps構(gòu)建混合云環(huán)境
結(jié)合敏捷和DevOps實(shí)踐,讓企業(yè)應(yīng)用開發(fā)管理變得更加容易,跨本地和云之間的部署也是如此,例如混合云環(huán)境,需要進(jìn)行持續(xù)軟件交付。然而,要實(shí)現(xiàn)一種成熟的敏捷DevOps混合云戰(zhàn)略,需要仔細(xì)計(jì)劃,且要集中化開發(fā)和架構(gòu)資產(chǎn),標(biāo)準(zhǔn)化開發(fā)流程,企業(yè)要遵守敏捷和DevOps實(shí)踐。CollabNet***戰(zhàn)略官Jim Ensell為此接受了TechTarget的訪問。
Jim Ensell認(rèn)為,混合云開發(fā)和部署是一種分散的開發(fā)、測試、部署和運(yùn)行時(shí)任務(wù),要在本地、私有云和公有云之間優(yōu)化成本、性能和生產(chǎn)率。對開發(fā)和部署應(yīng)用混合云的需求,主要是大型企業(yè)在驅(qū)動(dòng),他們正在尋求以一種混合的方式,用自己的節(jié)奏來增量的擁抱云計(jì)算,基于其本地工具、應(yīng)用和基礎(chǔ)架構(gòu)現(xiàn)有的投資。
Ensell給出了一些關(guān)于構(gòu)建混合云應(yīng)用開發(fā)和管理戰(zhàn)略的建議,以及企業(yè)云開發(fā)(ECD)方面的一些內(nèi)容。
記者:混合云環(huán)境中,實(shí)現(xiàn)持續(xù)交付和DevOps有哪些關(guān)鍵步驟?
Jim Ensell:首先,要集中化開發(fā)資產(chǎn)和實(shí)施團(tuán)體架構(gòu),將這些資產(chǎn)整理到項(xiàng)目中并分類,使其在協(xié)同工作中可查詢且可重用。下一步就是編纂開發(fā)流程。支持具體的敏捷方法論,比如Scrum和Kanban,并能夠同其他的非敏捷流程整合,使企業(yè)能夠以正確的步驟采納和整合敏捷流程。一旦開發(fā)流程編纂還,企業(yè)隨后就可以通過持續(xù)交付和DevOps將其擴(kuò)展到IT運(yùn)營中,實(shí)現(xiàn)以彈性和符合成本效益的方式,使用本地、私有云和公有云的混合資源。
混合云DevOps可以促成快速且預(yù)提供的服務(wù),價(jià)格靈活,彌補(bǔ)了企業(yè)內(nèi)部管理開發(fā)和運(yùn)行時(shí)基礎(chǔ)架構(gòu)的總體擁有成本。構(gòu)建了開發(fā)和運(yùn)營之間的橋梁,改善服務(wù)質(zhì)量,減少交付時(shí)間。成本削減,終端用戶滿意度逐漸增加。
記者:敏捷開發(fā)起到什么作用?
Jim Ensell:敏捷方法論提倡持續(xù)IT服務(wù)交付和部署,增加了企業(yè)中開發(fā)、測試和IT運(yùn)維人員之間的協(xié)作水平。敏捷開發(fā)也是DevOps的基礎(chǔ),提倡開發(fā)和IT運(yùn)維之間交叉團(tuán)隊(duì)功能。
記者:企業(yè)在編纂開發(fā)流程時(shí),哪些開發(fā)實(shí)踐造成了挑戰(zhàn)?
Jim Ensell:我們說的是代碼基礎(chǔ)能夠很好地構(gòu)架且治理,但是開發(fā)流程不是這樣的??赡艽嬖诓粯?biāo)準(zhǔn)化或者流程不是通用的,不同的團(tuán)隊(duì)可能用臨時(shí)的或者不一致的方法來處理類似的問題。瀑布式開發(fā)流程可能會在需求不清晰時(shí)使用。可能由于缺少交付高質(zhì)量應(yīng)用到生產(chǎn)中的共享所有權(quán),質(zhì)量受到影響。這些情況都造成了不能讓項(xiàng)目及時(shí)交付,而且保持預(yù)算不變,還增加了最終應(yīng)用未能實(shí)現(xiàn)業(yè)務(wù)目標(biāo)的風(fēng)險(xiǎn),以及額外的生產(chǎn)系統(tǒng)宕機(jī)時(shí)間。
編纂開發(fā)流程改善了軟件質(zhì)量,增加了開發(fā)者生產(chǎn)率,讓最終應(yīng)用和用戶需求之間的匹配度更高。也促進(jìn)了更多的跨流程透明度,讓軟件流程更有效,風(fēng)險(xiǎn)更小。
記者:談到企業(yè)中的孤島功能或者孤島部門,如何看待開發(fā)和IT復(fù)雜化云應(yīng)用之間的傳統(tǒng)障礙?
Jim Ensell:開發(fā)和運(yùn)營之間的文化或者歷史障礙,通常會導(dǎo)致不一致和人工發(fā)布流程,導(dǎo)致了部署最終應(yīng)用的延遲,以及不必要的成本,主要都是應(yīng)用可用性問題造成的。
本質(zhì)上,這些孤島企業(yè)在內(nèi)部必須把開發(fā)資源放同云提供商的開發(fā)、構(gòu)建、測試和部署資源放在一起。以一種可以管理的方式利用這些資源減少過度的成本,通常是因?yàn)檫^多的硬件預(yù)留配置、過長的應(yīng)用到投入生產(chǎn)的時(shí)間,而且由于影子IT部署,增加了破壞治理的風(fēng)險(xiǎn)。
記者:企業(yè)云開發(fā)方法在那些地方能夠符合應(yīng)用生命周期管理(ALM)?
Jim Ensell:在很多方法上都可以,你可以將ECD看作是ALM的正常發(fā)展。就像ALM取代了傳統(tǒng)的軟件開發(fā)生命周期,因?yàn)榭紤]到軟件開發(fā)面臨的挑戰(zhàn),ECD也是,就像是取代了ALM。ECD解決了現(xiàn)代軟件開發(fā)和部署面臨的挑戰(zhàn),提供了一種節(jié)省成本并且提升生產(chǎn)力的框架,為企業(yè)改善了開發(fā)。
記者:在企業(yè)中,在做出采用企業(yè)云開發(fā)方法的決定的過程中,誰起到關(guān)鍵作用?他們扮演什么角色?
Jim Ensell:開發(fā)VP、軟件工程師或者運(yùn)營人員,甚至是業(yè)務(wù)機(jī)構(gòu)的領(lǐng)導(dǎo)通常都最初確定這種轉(zhuǎn)換的方向。但是并不是所有的決策都是一開始就有最頂層的人員確定。軟件配置警力、社區(qū)警力、企業(yè)架構(gòu)師和數(shù)據(jù)中心管理員會起到關(guān)鍵作用。在體積編纂開發(fā)流程時(shí),并不是通常的讓一個(gè)工程師VP來計(jì)劃,同時(shí)DevOps編制非常明確的要求工程師和IT運(yùn)營人員一起緊密合作。
混合云開發(fā)和治理的初衷能夠讓企業(yè)的不同部分,包括CIO、CTO以及法規(guī)人員走到一起。正式的啟動(dòng)也不像常規(guī)的項(xiàng)目,開發(fā)團(tuán)隊(duì)需要更快和更加有效的軟件交付。實(shí)際上,這種計(jì)劃只對于擴(kuò)展關(guān)鍵實(shí)踐者有效,比如開發(fā)者,管理和IT交付專家,都會擁抱這種方法。這個(gè)過程需要計(jì)劃和培訓(xùn)。
記者:阻礙用戶采用復(fù)合的企業(yè)混合云開發(fā)和部署模型的主要問題是什么?
Jim Ensell:企業(yè)通常會被高度非結(jié)構(gòu)化的開發(fā)組織和環(huán)境所影響,他們可能在多個(gè)分散的站點(diǎn)有開發(fā)者,在不同的基礎(chǔ)架構(gòu)上使用不同的工具,甚至在通用的環(huán)境中也會有所不同。這就會導(dǎo)致高額的開發(fā)基礎(chǔ)架構(gòu)成本,包括硬件、軟件和管理。此外,企業(yè)的知識產(chǎn)權(quán)通常也不安全,因此還有風(fēng)險(xiǎn)成本和法規(guī)遵從問題。
一些組織保護(hù)了其開發(fā)資產(chǎn)并集中化訪問,但是他們還沒開始以一種方式來整理這些資產(chǎn),并將其利用起來進(jìn)行協(xié)作和重用。他們會發(fā)現(xiàn)自己處于一種團(tuán)隊(duì)孤島狀態(tài),系統(tǒng)缺少治理,代碼重復(fù),導(dǎo)致了高額成本,代碼質(zhì)量低下,和外部承包商合作時(shí)風(fēng)險(xiǎn)就出現(xiàn)了。
記者:使用混合云,企業(yè)會得到哪些好處?
Jim Ensell:更快的上市時(shí)間,更低的開發(fā)和部署成本。此外,采用云服務(wù)和應(yīng)用,將硬件成本、軟件成本和開發(fā)系統(tǒng)的管理成本都減少了,改善了開發(fā)者生產(chǎn)率,在安全和治理上也有很大的好處。