探討一下云原生帶來的收益和陷阱
云原生技術,新一代軟件,能夠以高度自動化的方式處理服務的部署和運營,專門圍繞云提供的可能性而設計。云原生技術的核心是Kubernetes,它是云原生應用程序的協調者。
在本文中,我們將重點介紹云原生技術帶來的好處、它是如何帶來這些好處的,以及最大的陷阱。永遠要記住天下沒有免費的午餐。
云原生的好處
云原生技術、工具和工作方式的好處是:
- 降低風險,圍繞云原生中的工具和技術的高度標準化降低了幾個方面的風險:組織上(更多的知識轉移途徑和工程師之間的冗余),
- 減少維護負擔,云原生技術非常有利于自動化和軟件驅動的操作,這意味著減少了對工程師進行需求維護的依賴。
- 降低 CAPEX 和 OPEX 的成本,作為降低風險和維護負擔的直接結果,采用云原生可顯著降低資本支出(開展業務所需的前期采購)和運營支出(與開展業務相關的持續成本)。
- 提高了安全性,向基于 Kubernetes 的云原生平臺添加安全組件可為您的應用程序帶來多層外圍防御,而無需對應用程序本身進行任何代碼更改。
- 開發人員友好的操作體驗,支持 DevOps 的工作方式。這種現代的應用程序開發和運營方法將運營責任推給了應用程序開發人員,從而消除了低效的團隊間溝通瓶頸。
總而言之,云原生技術、工具和工作方式使您能夠在不擴大團隊規模的情況下增加開發工作。當然,前提是您不會因為要求他們也執行平臺操作而將開發團隊極度縮小。
無需太哲學化,云原生意味著以應有的方式使用云,順其自然,而不是反對它,由此得名。
當然還有其他好處,極大地改善了開發人員體驗,易于雇用和留住想要使用最新最好的工具的優秀開發人員,因為處于技術發展的最前沿,所以對這些對科技人群來說都很棒,而且CNCF是一個有吸引力的社區。所有大公司都嚴重依賴云原生來保持競爭力,無論是在以經濟高效的方式提供成功且可擴展的在線服務方面,還是在工程師的關注度方面。
云原生如何提供這些好處?
從本質上講,云原生依賴于兩個基礎:標準化和自動化。
圍繞軟件部署方式的標準化確保了技術和工具在與底層技術無關的情況下同樣有效。編程語言、底層操作系統、云基礎設施……所有這些曾經對如何部署和操作軟件有很大影響,但現在由于標準化而被抽象掉了。
自動化 一直是一個令人向往的特征,但我們今天看到的高度自動化是云原生體現的嚴格標準化的直接結果。定制化和脆弱的自動化解決方案已成為過去, 精心設計的云原生應用程序 可以通過遵循標準化接口實現高度自動化。
由于標準化和自動化,在生產環境中操作軟件的任務已大大簡化。事實上,我們已經看到完全自動化的軟件發布上升到以前只有少數深度科技公司才可行和可用的水平。此類流程和工具支持已成為一種商品,可供各種規模的公司使用。
云原生的陷阱或最大的陷阱是什么?
好處聽起來還行,但肯定有什么地方有問題嗎?
是的。
云原生的所有好處都不是憑空出現的。仍然必須有人提供這些技術賴以生存的平臺。因為雖然 Kubernetes 等平臺技術提供了對開發人員友好的抽象,提供了有吸引力的云原生優勢,但云原生平臺本身必須進行管理。
要求應用程序開發人員管理您的 Kubernetes 平臺是不合理的,因為技能要求完全不同。制作用戶友好的應用程序或有效使用數據庫以取悅最終用戶的能力與解決操作系統深處的性能或內存泄漏問題的能力完全沒有重疊。
獲得云原生優勢的更具成本效益的方法是將工作平臺作為服務來使用。但請注意,云提供商的“責任共擔模型”意味著大多數傳統托管 Kubernetes 服務的范圍有限。有了這些,您仍然可以管理平臺和進行故障排除。考慮到 Kubernetes 實際上只是一個平臺的基礎,您的開發人員將花費時間處理未知數量的問題,他們本應用于更高效的工作,瘋狂地在谷歌上搜索故障排除建議,以保持平臺運行良好。
相比之下,完全托管的 Kubernetes 平臺即服務 (KPaaS) 產品意味著您需要支付可預測的成本才能擁有一個完全可用且完全最新的 Kubernetes 平臺。
這就像租一輛汽車,包括服務和保證,而不是自己建造并必須維護它。前者是可預測的,適合那些想要專注于擁有汽車的核心任務的人,只關注要去的地方。對于那些需要自己維護平臺的人來說(相對來說,可以節約成本)。但這也意味著站在溝里,自己引擎冒出濃煙,看著別人開著出租汽車在高速公路上飛馳而過。
概括
采用云原生技術、工具和工作方式的公司帶來了可觀的好處。事實上,到 2022 年,主要的創新和敏捷公司已經在使用它們,因此如果不這樣做,會使自己處于劣勢地位。標準化和自動化都有助于降低風險和成本,并且正確配置的基于 Kubernetes 的平臺可以使您的應用程序更加標準化和流程化。
問題是,自己操作這些平臺意味著您的工程師團隊有責任為您的應用程序提供一個安全、可靠且性能良好的環境。如果您的組織以交付軟件服務為目標,那么收益可能會超過管理底層平臺的額外運營和維護負擔的成本。
獲得收益的最具成本效益的方法是讓經驗豐富的專家團隊管理平臺和云基礎設施,并提供一個真正有效的云原生 Kubernetes 平臺服務。