企業(yè)應(yīng)如何防止 Kubernetes 的復(fù)雜性阻礙云發(fā)展進(jìn)程?
在以激烈競爭和不斷升級的客戶需求為特征的行業(yè)中,速度已成為關(guān)鍵的差異化因素。憑借支持應(yīng)用程序快速開發(fā)和部署的能力,云計算已成為實現(xiàn)這一速度的圣杯——簡單的按需容量,可隨業(yè)務(wù)擴(kuò)展,這些全部都采用運營成本模型。
公共、私有和混合云的使用量激增,容器和編排平臺,特別是 Kubernetes,在開發(fā)過程中找到了自己的位置。隨著企業(yè)轉(zhuǎn)向外部解決方案以發(fā)展運營、支持新的工作方式并增強業(yè)務(wù)彈性,全球大流行只會加速云、容器和 Kubernetes 的采用。
就在這時,現(xiàn)實中的困難出現(xiàn)了。
云計算的發(fā)展——特別是 Kubernetes——導(dǎo)致系統(tǒng)和組織的復(fù)雜性,這些復(fù)雜性在多個方面都沒有得到很好的理解。Kubernetes 帶來了意想不到的挑戰(zhàn),一項研究發(fā)現(xiàn),94% 的采用 Kubernetes 的企業(yè)表示這是他們的痛苦之源。
企業(yè)努力實施 Kubernetes 的重大教訓(xùn)是速度會以高云成本的形式產(chǎn)生摩擦,而這些增加的成本實際上會減緩企業(yè)發(fā)展勢頭。
然而,云計算成本的不斷增加只是影響的一個方面,因為 Kubernetes 的采用及其產(chǎn)生的復(fù)雜性也給運行它的工作人員帶來了新的負(fù)擔(dān)。
這就引出了一個問題:企業(yè)是否愿意犧牲敏捷性來換取長期盈利能力和運營倦怠的風(fēng)險?
1、簡化的嘗試并沒有解決真正的問題
為了解決系統(tǒng)復(fù)雜性問題,開發(fā)團(tuán)隊采用了專門構(gòu)建的可觀察性平臺來理解構(gòu)成應(yīng)用程序的組件(包括軟件和硬件)之間的關(guān)系,以及它們?nèi)绾螢樽罱K用戶服務(wù)。不幸的是,被動的、只關(guān)注性能的可觀察性平臺并不能解決問題,它們只是識別問題,之后應(yīng)該做出何種措施?
企業(yè)需要尋求其他方法來解決這些問題,這導(dǎo)致了云上自動化運維和構(gòu)建運行團(tuán)隊的出現(xiàn),他們負(fù)責(zé)理解需要遷移到云的應(yīng)用程序移動和構(gòu)建所帶來的復(fù)雜性。云上自動化運維組織匯集了人員、流程和工具,專門關(guān)注云模型如何影響 IT 和業(yè)務(wù)的所有領(lǐng)域。構(gòu)建-運行的目標(biāo)是讓開發(fā)團(tuán)隊對應(yīng)用程序和服務(wù)的日常性能負(fù)責(zé),并使開發(fā)人員能夠?qū)W⒂诋a(chǎn)品而不是項目。
與此同時,企業(yè)需要實施云成本優(yōu)化框架,將跨職能的利益相關(guān)者聚集在一起。這個偽應(yīng)用級指導(dǎo)委員會旨在為云計算的可變支出模型增加財務(wù)責(zé)任。
這需要很多時間、人員和流程來解決問題。
2、打破常規(guī)之后的措施
雖然曾經(jīng)流行的口號敦促軟件開發(fā)人員快速行動并打破常規(guī),但今天的現(xiàn)實是常規(guī)已被打破。我們需要以一種允許開發(fā)人員提高速度的方式來修正它們,同時確保我們不會陷入反復(fù)破壞相同事物的陷阱。
對于那些將云計算視為敏捷和速度的圣杯的企業(yè)來說,曾經(jīng)是靈丹妙藥的云,現(xiàn)在已成為無法控制的成本和管理復(fù)雜性的來源。這會在兩方面產(chǎn)生問題:
利潤率下降:首先,不斷上升的云成本開始侵蝕利潤率,增加總收入成本 (COR) 或銷售成本 (COGS),以及錯過的 SLA;其次,當(dāng)開發(fā)團(tuán)隊被告知要降低云成本時,他們不知道如何平衡這些削減與對業(yè)務(wù)承諾的服務(wù)水平協(xié)議的影響。
當(dāng)云計算的成本取代了它旨在創(chuàng)造的業(yè)務(wù)價值時,就會導(dǎo)致業(yè)界廣為流傳的云悖論:如果你不開始使用云,你就是瘋了;如果你堅持下去,你就瘋了。
3、AI 和 ML:新的工具如何提供幫助
幸運的是,機(jī)器學(xué)習(xí) (ML) 等技術(shù)正在進(jìn)入這一過程,并能夠使優(yōu)化性能和成本之間權(quán)衡的能力得以改善。借助這項技術(shù)和一類新的工具,開發(fā)團(tuán)隊可以做個人無法做到的事情:徹底了解和調(diào)整所有可用變量,以確保針對每個應(yīng)用程序優(yōu)化性能和成本。
人工智能 (AI) 和機(jī)器學(xué)習(xí)已成為支持速度任務(wù)不可或缺的一部分。當(dāng)然,這些新工具正在進(jìn)入部署過程。因此,企業(yè)開始制定實踐來管理 AI 和 ML 工具的采用和集成。AIOps 工具現(xiàn)在使 Ops 團(tuán)隊能夠通過利用分析和機(jī)器學(xué)習(xí)來實現(xiàn)自動化和改進(jìn)運營。
同時,DevSecOps 致力于將安全集成到軟件開發(fā)的所有階段的過程自動化。最后,持續(xù)優(yōu)化在持續(xù)集成和持續(xù)開發(fā)之間的 CI/CD 管道中找到了自己的位置,并在投入生產(chǎn)之前使用機(jī)器學(xué)習(xí)來優(yōu)化 Kubernetes 配置。
通過識別需要解決的問題并找到理想的解決方案,這種持續(xù)優(yōu)化是解決可能減慢應(yīng)用程序交付速度的瓶頸的關(guān)鍵。這就是機(jī)器學(xué)習(xí)遠(yuǎn)遠(yuǎn)優(yōu)于人類認(rèn)知能力的地方。
通過在 CI/CD 流程中實施這些功能,開發(fā)人員和運營團(tuán)隊現(xiàn)在有了工具來應(yīng)對那些降低企業(yè)速度的云賬單,并加速了他們向云的過渡。
4、當(dāng)今云優(yōu)先開發(fā)的優(yōu)化解決方案
新的資源優(yōu)化解決方案可以幫助企業(yè)主動確保效率,并在成本和性能之間進(jìn)行智能業(yè)務(wù)權(quán)衡,而無需耗時、無效的反復(fù)試驗。
使用 ML,這些解決方案可以自動發(fā)現(xiàn)最佳應(yīng)用程序配置。部分企業(yè)采取主動的方法,通過結(jié)合性能測試在預(yù)生產(chǎn)中的應(yīng)用程序上生成負(fù)載,調(diào)整應(yīng)用程序以滿足負(fù)載,然后為 Kubernetes 創(chuàng)建理想的配置以將這些應(yīng)用程序部署到生產(chǎn)環(huán)境中。這有助于工程師節(jié)省時間,而不會增加運行應(yīng)用程序的成本或影響應(yīng)用程序的性能和可靠性。
使用資源優(yōu)化解決方案可以最大限度地減少資源浪費,使開發(fā)人員能夠根據(jù)業(yè)務(wù)目標(biāo)做出決策并減輕復(fù)雜性,以便開發(fā)人員可以將精力集中在實際開發(fā)上。這樣可以使速度加快成為可能。