為什麼採用雲原生?速度、穩定性和全週期開發

採用雲原生技術和實踐使創新型組織能夠響應並適應市場變化。

微服務、雲計算和DevOps等“雲原生”技術和實踐的出現,使創新型組織能夠比競爭對手更快地響應和適應市場變化。例如Spotify、Netflix和谷歌這些市場早期的“獨角獸”都獲得了成功。並非每個公司都能夠成為獨角獸,但從雲計算的早期使用者那裡可以學到很多東西。

雲原生的好處

Spotify公司如今廣為人知的“團隊、分會和行會”組織模型最終導致了將其應用程序創建成為獨立微服務,從而支持了快速變化。通過將引人入勝的願景與雲計算服務的全面採用相結合,Netflix公司能夠在視頻流媒體領域超越現有市場份額。谷歌公司利用受軟件開發啟發的新技術來進行協作、自動化和解決操作問題的方法,使它們能夠在過去的二十年中擴展到全球各地。

強有力的高層領導和不斷改變和適應組織內部文化的意願對結果產生了很大的影響。其重點之一就是不斷努力以可持續地最小化交付價值的前置時間。可以從驅動因素看到這一點,以最大程度地減少從構思到編碼、釋放功能和獲取反饋的摩擦。

成功採用“雲原生”方法的組織已在兩個核心領域進行了大量投資:創建自助服務應用程序平臺,以及採用新工具和開發人員工作流。

從組織的角度來看,這些投資打破了傳統上通過票務系統進行調解的運營團隊與開發團隊之間的現有壁壘。這導致創建了兩個高級角色組,這兩個組通過使用定義明確的API、自動化和有針對性的面對面交互來進行協作:

•平臺團隊和現場可靠性工程師(SRE)擁有平臺,不斷改進平臺功能,幫助策劃運營最佳實踐;

•“全週期”開發團隊擁有組織的產品和服務,並利用平臺和新的工作流程為客戶創造價值。

儘管有益,但引入這些技術和組織上的更改並非總是輕鬆自如。無論其影響好壞,傳統的軟件開發生命週期(SDLC)都會因雲計算的出現而改變。

全週期開發:破壞軟件生命開發週期(SDLC)

在軟件生命開發週期(SDLC)的傳統方法中,工程師很專業,經常獨立操作。而運營商建立和管理數據中心,架構師設計繪製方框和箭頭並提供架構治理的系統。開發人員通常針對其單片應用程序的內部部署運行實例的大量更改進行編碼和測試。

質量保證(QA)工程師使用一系列封閉的登臺環境對系統進行驗證和升級。通過質量保證(QA)的應用程序移交給要部署和運行的操作。在此之後,任何問題或異常行為都由運營團隊識別並交還給開發人員。

採用Kubernetes等雲計算技術,使運營團隊的平臺配置能夠實現自動化,開發人員能夠在應用程序部署方面自助服務。微服務的使用使得以產品為中心的開發團隊能夠獨立工作。

因此,原生雲的軟件生命開發週期(SDLC)非常不同。開發人員正在執行前期架構設計,並針對多個服務編寫一些小的迭代更改,其中一些服務可能在內部部署數據中心運行,而其他服務則在遠程運行。開發人員現在尋求在編碼過程中自動執行質量保證(QA)風格的驗證。開發人員還希望將快速受控的實驗發佈到生產環境中。這種方法稱為全週期開發,並已被Netflix公司普及。

人們需要了解邁向“全週期”開發團隊的兩個核心前提。這不會消除對專業操作、系統管理員或平臺團隊的需求。但是,這確實需要開發團隊和運營團隊成員提高技能。

全週期開發團隊成員必須學習更多的業務領域專業知識,並擴展其對應用程序基本運行時配置的理解。運營團隊成員必須學習新的雲計算技術,並瞭解如何將雲計算技術與現有解決方案集成到一個有效的平臺。

總結

如前所述,採用雲原生技術和開發風格可以持續地將想法與向客戶交付價值之間的摩擦和相應的交付週期降至最低,從而為組織提供更多好處。為了充分利用雲原生技術的好處,必須進行一些關鍵的組織、文化和技術轉變。


分享到:


相關文章: