Categories
程式開發

OpenShift 的核心價值到底在哪裡?


如果用一句話來形容OpenShift的核心價值,那麼應該可以這樣形容:“OpenShift作為企業級容器平台,它是一盞打開從PaaS到DevOps和微服務的大門。”

從企業容器市場變化說起

在正式開始本文之前,我們先看三份有關企業容器市場的分析報告。

第一份:IDC關於2017年全球企業容器市場的報告:

報告中全球企業容器市場份額如下:

OpenShift 的核心價值到底在哪裡? 1

其中紅帽份額佔30.1%,約等於排在第二的Docker、排在第三的AWS、排在第四的HPE、排在第五的VMware份額的總和。

第二份報告:Forrester2018年第四季度發布了企業容器平台(ECP)軟件套件評估報告:

在該報告中,Forrester對全球企業容器平台進行了評估,技術方面紅帽位於Leader象限,同時紅帽具有較好的銷售表現(白圈的大小代表市場表現)

OpenShift 的核心價值到底在哪裡? 2

第三份報告:2019年9月IHS Markit Technology 發布了調查報告:

在該報告中,IHS Markit Technology 統計了商業容器軟件市場收入的排名。

其中紅帽份額為44%,排在第一位,份額超過了排名第二-第五公司的總和。

OpenShift 的核心價值到底在哪裡? 3

通過以上的三個報告,我們可以看出,近兩年企業容器市場進一步發展,紅帽OpenShift在企業容器市場領導力進一步增強(全球案例超過1100個)。

那麼,既然企業容器市場如何火熱,容器的核心價值是什麼呢? OpenShift的核心價值是什麼呢? IT技術人員為什麼要學習OpenShift?

帶著這三個問題,我們繼續閱讀。

容器的核心價值

容器的起點與X86虛擬機不同

X86虛擬化的興起,與IT廠商的推廣有很大關係。 X86虛擬化之所以普及這麼快,借用沙克的一段話:X86虛擬化是:“虛擬機用假的CPU、內存和網絡欺騙操作系統”。也就是說,裝在虛擬機的操作系統自己,並不知道自己是被安裝在了虛擬機裡,而不是物理機中。從應用角度看,使用X86虛擬化技術,不需要改造應用(在滿足性能的前提下),這就使X86虛擬化能夠普及到除了數據庫之外,其他應用都可以遷移到虛擬化上。

而“容器是直接用宿主機的操作系統來欺騙容器的應用”。應用並不知道自己運行在容器中(無論是tomcat部署到容器中還是Linux中,部署war都是將其拷貝到tomcat的對應目錄下)。所以,容器的起點就是面向應用,而不是像虛擬機那樣面向運維。

落實到實際的經驗中,容器方案和客戶的運維和開發部門都可以談,X86虛擬機技術開發部門不會太感興趣,因為離他們太遠。

在虛擬化初期,大多時候是IT廠商推動虛擬化技術在客戶處的落地;而在容器時代,大多數是客戶自己了解了容器後,尋找能夠提供企業級容器解決方案的廠商。

容器趕上了好時代

容器技術的概念最初出現在 2000 年,當時稱為 FreeBSD jail,這種技術可將 FreeBSD 系統分區為多個子系統(也稱為 Jail)。

但直到Docker的出現(2008年),容器才真正具備了較好的可操作性和實用性。因為Docker提供了容器的鏡像構建、打包等技術,使容器具備了一次打包,到處運行的能力。

OpenShift 的核心價值到底在哪裡? 4

而2014年Kubernetes的出現,奠定了今天容器調度平台的事實標準的基礎。而在2014年6月,紅帽隨即宣布與穀歌合作,推廣K8S。這也奠定了Openshift在業內今日的影響力。

OpenShift 的核心價值到底在哪裡? 5

對於客戶而言,如果沒有K8S,那麼容器只是“單機版”,很難做到企業級使用。

PaaS、Devops、微服務這些概念,在K8S火起來之前就有了。廣義上的PaaS、Devops、微服務建設,會包含:人、流程、工具等多方面內容。 IT廠商談的PaaS、CI/CD、微服務主要是指工具層面的落地。

在K8S和容器普及之前,通過虛擬機也可以實現PaaS、CI/CD、微服務工具落地,只是相對速度較慢,因此普及性不高(想像一下通過X86虛擬化來實現中間件集群彈性伸縮的效率)。而正是容器的出現,為PaaS、CI/CD、微服務工具層面的落地提供非常好的承載平台,使得這兩年容器雲風生水起。這就好比4G(2014年出現)和微信(2011年出現)之間的關係:在手機網速3G時代,流量按照兆收費的時候,(即使有)大家對於微信語音聊天、微信視頻也不會太感興趣。

所以說,容器趕上了個好時代,Docker使容器具備了較好的可操作性、可移植性,K8S使容器具備企業級使用的條件。而企業級的容器平台,又成為了PaaS、Devops、微服務新一代的基礎架構。

容器在企業中的核心價值

前兩年前談容器的時候,有些吹毛求疵者會說,會有人說:容器不是萬金油,比如核心數據庫就不適合,這有些吹毛求疵。

實際上無論哪個IT廠商,都沒說自己的容器雲是萬金油,也沒說過可以把Oracle RAC跑在容器雲上。關於這點,Gartner前幾年就說過,沒有一種技術適用於所有的場景,並且還提出了敏態、穩態雙模IT的概念。

OpenShift 的核心價值到底在哪裡? 6

而企業容器平台,適合的就是敏態IT。那麼企業級容器平台,對於客戶敏態業務的價值是什麼呢?

一個字:快!

OpenShift 的核心價值到底在哪裡? 7

也就是說,企業容器平台就是讓客戶的應用運行的更快、開發的更快。

如果不需要這麼快呢?很簡單,繼續使用虛擬化技術,也挺好的。

X86虛擬化和容器雲,兩者並不衝突,我看到的很多客戶將兩者做了很多好的融合、支撐起雙態(穩態、敏態)業務

OpenShift的核心價值

我們的一位合作夥伴提到過“其實,從功能而論,OpenShift 相比Kubernetes 並沒有新增多少新的功能。但是,它第一次打造了面向DevOps的PaaS平台的產品,這是具有開創性的。就像新打開一扇大門一樣,門並沒有多少價值,但是門後的風景才是真正的價值。”

如果更準確地說,OCP中的K8S那部分,並沒有比社區的K8S多加了什麼功能。但OCP通過為K8S增加其他企業級功能,大幅提升了K8S的“地位”。不僅是開源愛好者關注K8S了,客戶中的“高富帥”:銀行、能源、電信運營商,也開始關注K8S了(OCP全球案例超過1000個)。可以說:OCP因K8S而重生(OCP3基於K8S重構)、K8S因OCP被企業級客戶所接受(如果我們穿越回2014年年底,跳出大喊:K8S會把你們其他這些容器調度平台都乾翻,會不會被群毆?)。

關於DevOps。 DevOps早都有方法論,只是以前DevOps基於虛擬機實現,效率比較低,沒火起來。現在OCP為DevOps提供了更好的基礎,更強的內功,所以DevOps星星之火,呈燎原之勢。

喬峰(OCP)和玄難(虛擬機)同時用太祖長拳(DevOps),前者乾翻後者,所謂招數無高下,功力有深淺。

(下面標底色關鍵詞:迅捷、後發先至(業務激增,OCP迅速對容器做橫向擴展),不正是OCP的特性麼?)

“但見喬峰和玄難只拆得七八招,高下已判。他二人所使的拳招,都是一般的平平無奇,但喬峰每一招都是慢了一步,任由玄難先發。玄難一出招,喬峰跟著遞招,也不知是由於他年輕力壯,還是行動加倍的迅捷,每一招都是後發先至。這“太祖長拳”本身拳招只有六十四招,但每一招都是相互克制,喬峰看準了對方的拳招,然後出一招恰好克制的拳法,玄難焉得不敗?這道理誰都明白,可是要做到“後發先至”四字,尤其是對敵玄難這等大高手,眾人若非今日親眼得見,以往連想也從未想到過。”

紅帽早期構建OCP,目的是面向於開發(紅帽有JBoss中間件,OCP具備AppDev的紅二代背景)。比如S2I就是OCP獨創的面向與開發的獨門絕技(後來被開源社區採納,稱為Java S2I開源項目)。後來通過收購CoreOS,大大提升了其運維的能力。如監控換成了普羅米修斯(CoreOS主導的開源項目)、有狀態應用生命週期管理引入Operator等等。

所以,OCP從發展來看,是先攻破開發,後打通運維。

至於微服務,和DevOps的道理一樣:法拉利(微服務)以前跑在晚高峰的僑福芳草地西門的小路上(VM),現在跑在大年三十的京藏高速上(OCP),拉風的效果能一樣麼?

如果一句話說明OpenShift核心價值,那就是:OpenShift作為企業級容器平台,它是一盞打開從PaaS到DevOps和微服務的大門。

總結

OCP目前還在不斷的發展中,紅帽去年收購了CoreOS,利用“北冥神功”,已經將CoreOS的功力(Quay,Operator、CoreOS容器操作系統、Tectonic等)散到奇經八脈。出關後的OCP4的功力大勝往昔(OCP3)。

通過兩年,在以OCP為核心的泛PaaS(aPaaS、iPaaS)學習中,確實對個人的技術視野有了大幅的擴展。當然,我要學的東西還很多,持續提升、死磕不止。

最後,借用(劉)世民兄的一段話作為結尾:

“有時候我會想,為什麼只有紅帽能推出OpenShift 這種PaaS平台呢?我認為這和只有Google 能推出Kubernetes 是一樣的,那就是公司的基因。正是因為他們自己長期使用容器,長期實踐DevOps,才能比較自然地做出大家普遍能接受的產品!”