微服務(wù)、云計(jì)算和DevOps等“云原生”技術(shù)和實(shí)踐的出現(xiàn),使創(chuàng)新型組織能夠比競(jìng)爭(zhēng)對(duì)手更快地響應(yīng)和適應(yīng)市場(chǎng)變化。例如Spotify、Netflix和谷歌這些市場(chǎng)早期的“獨(dú)角獸”都獲得了成功。并非每個(gè)公司都能夠成為獨(dú)角獸,但從云計(jì)算的早期使用者那里可以學(xué)到很多東西。
云原生的好處
Spotify公司如今廣為人知的“團(tuán)隊(duì)、分會(huì)和行會(huì)”組織模型最終導(dǎo)致了將其應(yīng)用程序創(chuàng)建成為獨(dú)立微服務(wù),從而支持了快速變化。通過(guò)將引人入勝的愿景與云計(jì)算服務(wù)的全面采用相結(jié)合,Netflix公司能夠在視頻流媒體領(lǐng)域超越現(xiàn)有市場(chǎng)份額。谷歌公司利用受軟件開(kāi)發(fā)啟發(fā)的新技術(shù)來(lái)進(jìn)行協(xié)作、自動(dòng)化和解決操作問(wèn)題的方法,使它們能夠在過(guò)去的二十年中擴(kuò)展到全球各地。
強(qiáng)有力的高層領(lǐng)導(dǎo)和不斷改變和適應(yīng)組織內(nèi)部文化的意愿對(duì)結(jié)果產(chǎn)生了很大的影響。其重點(diǎn)之一就是不斷努力以可持續(xù)地最小化交付價(jià)值的前置時(shí)間??梢詮尿?qū)動(dòng)因素看到這一點(diǎn),以最大程度地減少?gòu)臉?gòu)思到編碼、釋放功能和獲取反饋的摩擦。
成功采用“云原生”方法的組織已在兩個(gè)核心領(lǐng)域進(jìn)行了大量投資:創(chuàng)建自助服務(wù)應(yīng)用程序平臺(tái),以及采用新工具和開(kāi)發(fā)人員工作流。
從組織的角度來(lái)看,這些投資打破了傳統(tǒng)上通過(guò)票務(wù)系統(tǒng)進(jìn)行調(diào)解的運(yùn)營(yíng)團(tuán)隊(duì)與開(kāi)發(fā)團(tuán)隊(duì)之間的現(xiàn)有壁壘。這導(dǎo)致創(chuàng)建了兩個(gè)高級(jí)角色組,這兩個(gè)組通過(guò)使用定義明確的API、自動(dòng)化和有針對(duì)性的面對(duì)面交互來(lái)進(jìn)行協(xié)作:
•平臺(tái)團(tuán)隊(duì)和現(xiàn)場(chǎng)可靠性工程師(SRE)擁有平臺(tái),不斷改進(jìn)平臺(tái)功能,幫助策劃運(yùn)營(yíng)最佳實(shí)踐;
•“全周期”開(kāi)發(fā)團(tuán)隊(duì)擁有組織的產(chǎn)品和服務(wù),并利用平臺(tái)和新的工作流程為客戶創(chuàng)造價(jià)值。
盡管有益,但引入這些技術(shù)和組織上的更改并非總是輕松自如。無(wú)論其影響好壞,傳統(tǒng)的軟件開(kāi)發(fā)生命周期(SDLC)都會(huì)因云計(jì)算的出現(xiàn)而改變。
全周期開(kāi)發(fā):破壞軟件生命開(kāi)發(fā)周期(SDLC)
在軟件生命開(kāi)發(fā)周期(SDLC)的傳統(tǒng)方法中,工程師很專(zhuān)業(yè),經(jīng)常獨(dú)立操作。而運(yùn)營(yíng)商建立和管理數(shù)據(jù)中心,架構(gòu)師設(shè)計(jì)繪制方框和箭頭并提供架構(gòu)治理的系統(tǒng)。開(kāi)發(fā)人員通常針對(duì)其單片應(yīng)用程序的內(nèi)部部署運(yùn)行實(shí)例的大量更改進(jìn)行編碼和測(cè)試。
質(zhì)量保證(QA)工程師使用一系列封閉的登臺(tái)環(huán)境對(duì)系統(tǒng)進(jìn)行驗(yàn)證和升級(jí)。通過(guò)質(zhì)量保證(QA)的應(yīng)用程序移交給要部署和運(yùn)行的操作。在此之后,任何問(wèn)題或異常行為都由運(yùn)營(yíng)團(tuán)隊(duì)識(shí)別并交還給開(kāi)發(fā)人員。
采用Kubernetes等云計(jì)算技術(shù),使運(yùn)營(yíng)團(tuán)隊(duì)的平臺(tái)配置能夠?qū)崿F(xiàn)自動(dòng)化,開(kāi)發(fā)人員能夠在應(yīng)用程序部署方面自助服務(wù)。微服務(wù)的使用使得以產(chǎn)品為中心的開(kāi)發(fā)團(tuán)隊(duì)能夠獨(dú)立工作。
因此,原生云的軟件生命開(kāi)發(fā)周期(SDLC)非常不同。開(kāi)發(fā)人員正在執(zhí)行前期架構(gòu)設(shè)計(jì),并針對(duì)多個(gè)服務(wù)編寫(xiě)一些小的迭代更改,其中一些服務(wù)可能在內(nèi)部部署數(shù)據(jù)中心運(yùn)行,而其他服務(wù)則在遠(yuǎn)程運(yùn)行。開(kāi)發(fā)人員現(xiàn)在尋求在編碼過(guò)程中自動(dòng)執(zhí)行質(zhì)量保證(QA)風(fēng)格的驗(yàn)證。開(kāi)發(fā)人員還希望將快速受控的實(shí)驗(yàn)發(fā)布到生產(chǎn)環(huán)境中。這種方法稱(chēng)為全周期開(kāi)發(fā),并已被Netflix公司普及。
人們需要了解邁向“全周期”開(kāi)發(fā)團(tuán)隊(duì)的兩個(gè)核心前提。這不會(huì)消除對(duì)專(zhuān)業(yè)操作、系統(tǒng)管理員或平臺(tái)團(tuán)隊(duì)的需求。但是,這確實(shí)需要開(kāi)發(fā)團(tuán)隊(duì)和運(yùn)營(yíng)團(tuán)隊(duì)成員提高技能。
全周期開(kāi)發(fā)團(tuán)隊(duì)成員必須學(xué)習(xí)更多的業(yè)務(wù)領(lǐng)域?qū)I(yè)知識(shí),并擴(kuò)展其對(duì)應(yīng)用程序基本運(yùn)行時(shí)配置的理解。運(yùn)營(yíng)團(tuán)隊(duì)成員必須學(xué)習(xí)新的云計(jì)算技術(shù),并了解如何將云計(jì)算技術(shù)與現(xiàn)有解決方案集成到一個(gè)有效的平臺(tái)。
總結(jié)
如前所述,采用云原生技術(shù)和開(kāi)發(fā)風(fēng)格可以持續(xù)地將想法與向客戶交付價(jià)值之間的摩擦和相應(yīng)的交付周期降至最低,從而為組織提供更多好處。為了充分利用云原生技術(shù)的好處,必須進(jìn)行一些關(guān)鍵的組織、文化和技術(shù)轉(zhuǎn)變。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。