為什麼Kubernetes會消失 - David Carboni

banq發表於2019-07-30

我一直在傾聽Kubernetes(k8s)各種討論,並試圖找出反覆出現的主題,這些主題是關於它是一個“好”還是“壞”想法的辯論。

Kubernetes是構建系統的“通用語言”和“宣告性”(而不是命令式)方式。

架構師

Kubernetes的企業/架構師檢視是跨多個雲的通用標準,加上私有資料中心,意味著Kubernetes“很好”。我在理論上同意。

這種觀點是因為“通用”是一個好的信念

這有時是真的。然而(在我看來)實際實現這一目標所需的努力規模,特別是在多個雲中,就像是說核聚變是清潔能源的最佳來源。我在理論上同意。但我不認為有人建造了一個能夠可靠且持續產生更多功率的反應堆。

開發者

開發團隊的觀點以兩種信念為特徵。

我與之交談的一組人認為,擁有一個通用,可靠的平臺來部署軟體是“好”的。他們沒有錯。他們看到了潛力,而且很誘人。但是這個“陽”有一個“陰”。

另一種信念,也許是那些必須處理生產問題的人(特別是他們自己製造的,沒有其他人可以責備的人)認為簡單是可行性的主要指示。引用Baz Luhrman的話

你生活中真正的麻煩往往是那些從未超越你憂心忡忡的事物; 在星期二的某個空閒時間下午4點讓你失明的那種。

這很接近我自己的直覺:這種併發症本質上是一種殺手 - 本身就是你成功機會的指數風險。從這個角度來看,k8s是“糟糕的”,因為複雜性會吸收超過你所有的能量。除非你擁有雄厚的資金和專門的平臺團隊,否則在提供有意義的價值之前,時間,預算和利益相關者的耐心都將耗盡。

運營團隊

我覺得運維檢視可能是最基礎的。畢竟,這些人往往是在愚蠢的時候,處理架構和交付團隊在高階利益相關者的壓力下急於求成,將壓力延遲到運營中。

在這種情況下,保持工作負載與基礎架構的健康分離的通用平臺“很好”,因為它可以更清晰地分離根本原因並有助於防止推遲。標準化我們打包,執行和監控工作負載的方式可以減輕痛苦。與此同時,人們已經認識到複雜的系統是“糟糕的”:它們是一個經常性的噩夢,繼續前進,並且批判性地創造了模糊的,多層次的不明智的巢穴,可以在不確定的時期內輕鬆掩蓋雷鳴般的安全風險。

叢集正在執行時,感覺就像魔術一樣

當叢集沒有按預期執行時,問題是可理解性。複雜,冗長,交錯的yaml,有各種陷阱,當然它是宣告性的,但感覺像一個謎,具體怎麼執行無法知曉。

整合

很明顯,Kubernetes 很大。它既複雜又複雜。這是每個人都同意的一件事。如果您的團隊能夠理解並管理它,那麼它可能會對您“好”。

如果你有一個由十幾個人組成的全職平臺團隊致力於執行Kubernetes你會做得很好。但事情就是這樣:執行通用平臺和服務不會增加任何特定價值。這是一種外部性,因此最終將被外部化。我們知道這一點,因為這正是雲端計算是:外部化執行可靠,容錯的通用基礎設施的難題。

消失

建設基礎設施太難,太慢,太複雜。受到辦公室和資料中心空間基本物理學的限制,以及購買,貨架,網路和趨向機器的機制,同時優雅地處理故障。

這就是我認為Kubernetes會消失的原因。它是如此通用,沒有理由自己做。

商品

最後,正是因為它是通用的,並且因為執行部署平臺是一個無差別的難題,它可以並且將會商品化。FargateCloud RunKnative)已經開始沿著這條道路前進。如果你還記得Maven為Java世界所做的事情,你就會明白接受一點點意見會帶來很多生產力。

總會有例外情況,但我認為他們將證明這一規則:如果Kubernetes能夠成功征服主流,那麼對於大多數軟體交付組織來說,它只是一個可以購買的商品,不值得自己做。

相關文章