出品 | CSDN云原生
(資料圖片僅供參考)
聲明:本文出自CNCF網(wǎng)站,最初由Matt Asay在TechRepublic網(wǎng)站上發(fā)表。CSDN將文章翻譯成中文,分享給大家,轉(zhuǎn)載請注明來源。
我們一直將"云原生"應用于像Kubernetes這樣明確不屬于云原生的東西。這有什么關系嗎?
在技術(shù)領域,我們喜歡使用"云原生"這個詞,就好像它意味著什么一樣。更確切地說,它意味著每個人都同意的特定事物。
但事實并非如此,微軟首席產(chǎn)品經(jīng)理Maria Naggaga最近在Twitter上發(fā)布的貼子就證明了這一點。她要求她的部下——一群技術(shù)嫻熟的人——總結(jié)一下云原生的含義。他們的回答表明,云原生計算基金會可能希望花費一些會員費來宣傳標準定義。
語義的準確性似乎并沒有妨礙大量的云原生IT購買。對許多人來說,云原生在某種程度上是Kubernetes和容器的代名詞。問題是......為什么?正如Hassy Veldstra所說,"Kubernetes是云原生的,就像Java是操作系統(tǒng)原生的一樣,它具有"一次編寫,四處運行"的承諾。試圖抽象出你聲稱是"原生"的東西其實并沒有什么"原生"可言。"
當然,云原生的歷史始于Bill Wilder為O"Reilly寫的一本名為《Cloud Architecture Patterns》的書。根據(jù)Wilder的說法(由Ken Finnigan總結(jié)),云原生應用程序:
使用云平臺服務;
水平縮放;
使用主動和被動操作自動擴展;
在不降級的情況下處理節(jié)點和瞬時故障;
在松散耦合的架構(gòu)中實現(xiàn)非阻塞異步通信。
這并不是真正的Kubernetes,即使Kubernetes可以用來構(gòu)建這樣的應用程序。
微軟的Scott Hanselman這樣簡潔地描述云原生:“應用程序知道云的存在”。這感覺比Kubernetes更接近事實。但這是否意味著它們不是定義上的云原生?
正如其他人所表達的那樣,要真正成為云原生應用程序,必須 "依賴于云基礎設施"。VMware專家和微軟開發(fā)人員Dave Curylo強調(diào),"這與那些智能托管在云基礎設施上的應用有點不同,它們是專門為在云基礎設施上運行而構(gòu)建的應用程序。"
這些應用程序 "旨在利用橫向擴展",Michael Brown補充道。對于那些把Kubernetes定義為云原生的人來說——Naggaga推文的許多受訪者都這樣做了,正如業(yè)內(nèi)許多人一樣——Achim Friedland的觀點是正確的:"如果軟件真的是"云原生",就不需要Kubernetes。"
這有什么關系嗎?也許不重要。每隔幾年,我們都會為一個旨在表示某些特定事物的術(shù)語而煩惱。無論它多么不合適,供應商總會把它應用到他們所銷售的任何東西上,使其變得毫無意義。今天,每個供應商都希望成為云原生的,因為它在某種程度上是"現(xiàn)代"的代名詞。而客戶也想成為云原生的,所以他們購買了看似神奇的解決方案,他們可能意識到這些解決方案好得令人難以置信。同時,我們這些語義嚴肅的人只能對許多 "云原生 "技術(shù)是多么的云里霧里而苦笑。
關鍵詞: