企業(yè)需要的是商業(yè)化開源產(chǎn)品,而不僅僅是開源項(xiàng)目。
時(shí)間:2022-03-30 03:48:01 | 來(lái)源:行業(yè)動(dòng)態(tài)
時(shí)間:2022-03-30 03:48:01 來(lái)源:行業(yè)動(dòng)態(tài)
業(yè)界紛紛支持和采用Kubernetes的趨勢(shì)十分明顯,幾乎每周都有企業(yè)發(fā)布新的Kubernetes發(fā)行版或服務(wù)。在撰寫本文時(shí),僅僅CNCF Kubernetes一致性計(jì)劃中就至少已經(jīng)列出了37套符合規(guī)定的Kubernetes軟件發(fā)行版,還有許多其他托管服務(wù)。
選擇太多了。但是,這些供應(yīng)商和機(jī)構(gòu)大多只是在認(rèn)證和提供Kubernetes,或者Kubernetes加一個(gè)或兩個(gè)組件,用來(lái)添加一些擴(kuò)展功能;它們都不是Kubernetes在其中發(fā)揮作用的整體解決方案或平臺(tái)。就如同Linux基金會(huì)是Linux上游開發(fā)的管理機(jī)構(gòu)一樣,同時(shí)它也是更大范圍操作系統(tǒng)平臺(tái)的一部分;而CNCF就是Kubernetes的管理機(jī)構(gòu)。上游開發(fā)階段的一致性并不意味著可行的企業(yè)解決方案。
重要的是,我們需要記住,Kubernetes本身并沒(méi)有做任何事情。正如Linux內(nèi)核就其本身而言是一套核心組件而不是一套解決方案一樣,Kubernetes也只是更大規(guī)模解決方案中的一個(gè)關(guān)鍵組成部分。對(duì)一套產(chǎn)品中的單一部分進(jìn)行認(rèn)證只有很有限的使用場(chǎng)合。構(gòu)成一套商業(yè)產(chǎn)品或平臺(tái)的所有部分都必須相互集成到一起,都必須能夠得到支持、更新和協(xié)調(diào),并提供安全修復(fù)程序。
這樣的平臺(tái)需要一個(gè)生命周期來(lái)運(yùn)行企業(yè)的業(yè)務(wù)。它還需要經(jīng)過(guò)認(rèn)證才能完整地運(yùn)行于特定硬件配置的特定環(huán)境之中,因?yàn)樗薪M件對(duì)于該解決方案的成功都至關(guān)重要,它們必須協(xié)同工作。軟件和硬件供應(yīng)商如果想要構(gòu)建兼容的解決方案,他們還需要一個(gè)理智點(diǎn)(point of sanity)來(lái)測(cè)試、認(rèn)證、銷售和支持其解決方案。
這意味著,Kubernetes必須與產(chǎn)品或平臺(tái)中所有其他部分(包括Linux容器發(fā)行版)相集成,才能形成一套解決方案,供最終客戶在其上構(gòu)建他們的關(guān)鍵任務(wù)應(yīng)用并在以后的日子里依賴它。
例如,借助于紅帽O(jiān)penShift容器平臺(tái),我們正在對(duì)基于Kubernetes的整個(gè)企業(yè)應(yīng)用平臺(tái)進(jìn)行認(rèn)證,而不僅僅是對(duì)作為該平臺(tái)中一部分的某項(xiàng)技術(shù)進(jìn)行認(rèn)證。我們對(duì)于這種認(rèn)證采取的支持態(tài)度是,所有這些部件將從第一天部署開始直到生命周期結(jié)束都一直在一起工作。
即使必須通過(guò)更新或安全補(bǔ)丁進(jìn)行更改,或者該平臺(tái)上的多個(gè)組件發(fā)生了更改(例如,在Linux發(fā)行版中,在Kubernetes中,以及在Kubernetes上運(yùn)行的服務(wù)中),我們都將對(duì)周圍的生態(tài)系統(tǒng)進(jìn)行認(rèn)證,其中包括多種基礎(chǔ)設(shè)施,如裸機(jī)、OpenStack以及主要的公有云提供商。這意味著,我們將成為那家一錘定音的企業(yè),因?yàn)槲覀兡軌蛑С诌@種集成的解決方案,而Kubernetes正是其中的一部分。
讓我介紹一下這在現(xiàn)實(shí)世界中是如何展開的。假設(shè)需要在Kubernetes接口的某個(gè)Linux內(nèi)核API中進(jìn)行修復(fù)。我們已經(jīng)認(rèn)證,該修補(bǔ)程序?qū)⒛軌蛳蚝蠹嫒菰撈脚_(tái)的其他部分,以便不會(huì)破壞關(guān)鍵的應(yīng)用、服務(wù)或集成?;蛘?,如果存在某個(gè)安全性漏洞,可能需要對(duì)這些API中的任何一個(gè)的兩端進(jìn)行更改,我們就需要保證,我們不僅在兩端修復(fù)了該漏洞,而且它還能夠向后兼容。
這正是我們過(guò)去15年來(lái)一直在做的工作,也是我們的企業(yè)用戶在紅帽企業(yè)Linux方面依賴我們處理的事情。
正是諸如紅帽這樣的公司將所有這些不同的開源開發(fā)項(xiàng)目結(jié)合在一起,把它們擰成一股繩來(lái)解決實(shí)際的業(yè)務(wù)問(wèn)題。企業(yè)用戶正在運(yùn)行的平臺(tái)由許多此類上游部分組成,并與許多管理機(jī)構(gòu)相關(guān)聯(lián),但它們協(xié)同工作,形成一套面向關(guān)鍵任務(wù)企業(yè)應(yīng)用的、受支持的集成產(chǎn)品。
正如我們?cè)?0世紀(jì)90年代初期開始在各種各樣Linux發(fā)行版選擇中所看到的那樣,選擇平臺(tái)不僅僅是為了滿足當(dāng)今開發(fā)人員和基礎(chǔ)架構(gòu)團(tuán)隊(duì)的需求。它還涉及到了解這些團(tuán)隊(duì)的需求在很長(zhǎng)時(shí)期內(nèi)如何隨同他們構(gòu)建、集成和維護(hù)應(yīng)用而變化。簡(jiǎn)而言之,選擇一個(gè)平臺(tái)是一個(gè)非常漫長(zhǎng)的博弈過(guò)程,這也是CIO的關(guān)鍵決策。
如果企業(yè)用戶正在選擇某個(gè)平臺(tái)來(lái)運(yùn)行其企業(yè)的業(yè)務(wù),他們應(yīng)該選擇一款基于開源的產(chǎn)品,而不是一套開源項(xiàng)目。雖然兩者都建立在相同的社區(qū)原則和開源創(chuàng)新基礎(chǔ)之上,但產(chǎn)品與項(xiàng)目在它們各自長(zhǎng)期提供穩(wěn)定、安全、經(jīng)濟(jì)高效且可支持的解決方案方面存在很大差異。特別是在考慮如何在混合云環(huán)境中使用Kubernetes和容器時(shí),更是如此,而這種環(huán)境正迅速成為每個(gè)企業(yè)的現(xiàn)實(shí)。
基于此,現(xiàn)在讓我們來(lái)探討一下開源項(xiàng)目與基于開源開發(fā)的商業(yè)產(chǎn)品之間的差異。
社區(qū)驅(qū)動(dòng)的開源項(xiàng)目,例如Linux內(nèi)核和上游Kubernetes,必然會(huì)由于強(qiáng)勁、活躍的開發(fā)者及用戶社區(qū)而茁壯成長(zhǎng)。他們是項(xiàng)目創(chuàng)新背后的力量,能夠通過(guò)快速進(jìn)化、更短的代碼生命周期以及愿意承受失敗,并樂(lè)于打破一切來(lái)看看到底什么東西能夠發(fā)揮作用,而幫助解決社區(qū)提出的問(wèn)題。
基于上游社區(qū)項(xiàng)目構(gòu)建的版本通常是開源發(fā)布版(通常稱為下游),例如Fedora、CentOS、Wildfly和Project OKD(以前稱為OpenShift Origin)。這些項(xiàng)目通常匯集了多種開源技術(shù),并為進(jìn)一步基于社區(qū)的開發(fā)和創(chuàng)新提供了有針對(duì)性的基礎(chǔ),同時(shí)確保在此階段可能開發(fā)的所有創(chuàng)新都可以追溯到上游樹。這種技術(shù)為下一階段的開發(fā)提供了動(dòng)力,而這下一階段的開發(fā)往往是企業(yè)級(jí)產(chǎn)品的基礎(chǔ)。在Linux領(lǐng)域,F(xiàn)edora是其變成紅帽企業(yè)版 Linux之前的最后一個(gè)開發(fā)階段。
紅帽企業(yè)版Linux是基于開源的商業(yè)化產(chǎn)品的一個(gè)例子,它具有我們上面所討論的所有商業(yè)屬性。像這樣的產(chǎn)品遵循與它們所基于的社區(qū)和/或分發(fā)項(xiàng)目相同的上游功能特征,但這是按照規(guī)范做的。這些產(chǎn)品強(qiáng)調(diào)與企業(yè)IT相關(guān)的長(zhǎng)期博弈,通過(guò)OEM和ISV認(rèn)證來(lái)專注于長(zhǎng)期維護(hù),例如強(qiáng)化、后移(backporting)、API/ABI兼容性、安全響應(yīng)、技術(shù)支持以及特定生態(tài)系統(tǒng)關(guān)系等。
就企業(yè)產(chǎn)品而言,我們根據(jù)用戶的意見(jiàn)提供了對(duì)配置、部署選項(xiàng)以及功能的選擇,同時(shí)也允許用戶注入其他不會(huì)破壞核心產(chǎn)品完整性或可支持性的組件。
如果ISV和IHV供應(yīng)商正在尋找基于Linux的容器平臺(tái)來(lái)支持和驅(qū)動(dòng)兼容性,那么,從這些ISV和IHV供應(yīng)商的角度來(lái)看,他們沒(méi)有能力測(cè)試包含該平臺(tái)中各種組件30多個(gè)版本的矩陣,例如Kubernetes、Linux容器等。這甚至無(wú)法應(yīng)付這樣的事實(shí):這些版本通常會(huì)每6到12個(gè)月就會(huì)更改一次,而且基礎(chǔ)代碼的兼容性通常在75-99%之間,具體取決于所采用的組件/版本,以及針對(duì)該平臺(tái)的任何部分所實(shí)施的缺陷修復(fù)程序。每當(dāng)這些組件中的任何一個(gè)發(fā)生這些微小變化之一時(shí),至少需要再次執(zhí)行測(cè)試矩陣。
ISV和IHV希望獲得穩(wěn)定的產(chǎn)品,由受信任的軟件供應(yīng)商為支撐,具備某個(gè)項(xiàng)目來(lái)提供支持、挖掘大規(guī)模市場(chǎng)機(jī)會(huì)以銷售其解決方案,并開展持續(xù)的業(yè)務(wù)協(xié)作。
就像在選擇Linux發(fā)行版過(guò)程中面對(duì)的問(wèn)題一樣,選擇商業(yè)化的、開源的企業(yè)版Linux容器和Kubernetes解決方案也是構(gòu)建現(xiàn)代數(shù)字化轉(zhuǎn)型企業(yè)過(guò)程中的關(guān)鍵因素,這樣的企業(yè)非常重視混合云。這一選擇為開發(fā)商、運(yùn)營(yíng)商和客戶提供了更大的信心,使他們確信:專業(yè)化的供應(yīng)商將能夠維護(hù)和發(fā)展其平臺(tái)選擇,以滿足未來(lái)幾年不斷變化的需求,即使面對(duì)波動(dòng)不定的技術(shù)及業(yè)務(wù)環(huán)境。
當(dāng)您的團(tuán)隊(duì)最終決定企業(yè)IT基礎(chǔ)架構(gòu)的未來(lái)發(fā)展方向時(shí),請(qǐng)關(guān)注具有以下特征的長(zhǎng)期博弈解決方案:與社區(qū)保持一致,提供完整的環(huán)境,最重要的是,把滿足業(yè)務(wù)需求作為其優(yōu)先事項(xiàng)。
在本系列文章的第三部分,我將探討目前Kubernetes的實(shí)際格局,并討論為什么商業(yè)支持的Linux操作系統(tǒng)仍然是企業(yè)普及過(guò)程中的關(guān)鍵部分。
關(guān)鍵詞:產(chǎn)品,項(xiàng)目,商業(yè)