PaaS、DevOps、OpenShift与业务中台的实现
導(dǎo)讀:在激烈的市場競爭條件下,企業(yè)既要進(jìn)行業(yè)內(nèi)的競爭,還要防止跨界黑馬殺進(jìn)來被升維打擊而造成利潤下降,這就需要保持競爭力,需要讓自己的客戶有更好的體驗(yàn)。
企業(yè)在通過IT手段提升業(yè)務(wù)競爭力和客戶體驗(yàn)的時(shí)候,需要選一些比較新的技術(shù)架構(gòu)和工具。正是由于PaaS、DevOps、微服務(wù)可以直接為業(yè)務(wù)帶來收益,因此受到了企業(yè)極大的重視。
接下來,我們將討論企業(yè)數(shù)字化轉(zhuǎn)型的步驟。
作者:魏新宇、郭躍軍
來源:大數(shù)據(jù)DT(ID:bigdatadt)
01 企業(yè)數(shù)字化轉(zhuǎn)型之PaaS
PaaS的全稱為Platform-as-a-Service,平臺(tái)即服務(wù)。在Docker出現(xiàn)以前,企業(yè)IT的建設(shè)更多是圍繞IaaS進(jìn)行的。而IaaS的基礎(chǔ)包括計(jì)算虛擬化、網(wǎng)絡(luò)虛擬化、存儲(chǔ)虛擬化,在此之上構(gòu)建云管平臺(tái)。
在虛擬化層面,最為著名的公司當(dāng)屬VMware。傳統(tǒng)UNIX服務(wù)器的落幕、x86服務(wù)器的崛起,很大程度得益于VMware公司的vSphere虛擬化技術(shù)。虛擬化中的高可用(HA)、在線遷移(vMotion)等特性,很大程度上彌補(bǔ)了(與UNIX服務(wù)器相比)早期x86服務(wù)器的穩(wěn)定性相對(duì)較差的缺點(diǎn)。
2010年1月,OpenStack第一個(gè)版本發(fā)布,開啟了開源界私有云IaaS建設(shè)的熱潮。但在2012年Docker出現(xiàn)后,很多IT企業(yè)和行業(yè)客戶將IT的重點(diǎn)迅速從OpenStack轉(zhuǎn)向Docker,原因何在?
不管是vSphere還是OpenStack,其面向?qū)ο蠖际翘摂M機(jī)。對(duì)于企業(yè)而言,虛擬化實(shí)現(xiàn)了操作系統(tǒng)和底層硬件的松耦合,但虛擬機(jī)承載的是操作系統(tǒng),我們依然需要在操作系統(tǒng)中安裝應(yīng)用軟件。
而Docker可以在容器中直接運(yùn)行應(yīng)用(如Tomcat容器鏡像),這比虛擬機(jī)更貼近于應(yīng)用,更容易實(shí)現(xiàn)應(yīng)用的快速申請(qǐng)和部署,極大地促進(jìn)了容器云PaaS的迅速發(fā)展。
到目前為止,絕大多數(shù)的企業(yè)級(jí)PaaS產(chǎn)品是以Docker、Kubernetes為核心的,紅帽(Red Hat)的OpenShift3也是如此。OpenShift4更進(jìn)一步引入了CRI-O,這樣OpenShift可以承載更多容器運(yùn)行時(shí):runc(由Docker服務(wù)使用)、libpod(由Podman使用)或rkt(來自CoreOS)。
2018年第四季度,全球著名的調(diào)研機(jī)構(gòu)Forrester對(duì)企業(yè)容器平臺(tái)(ECP)軟件套件進(jìn)行了評(píng)估,并確定了全球最重要的8個(gè)企業(yè)容器平臺(tái)提供商:Docker、IBM、Mesosphere、Pivotal、Platform9、Rancher Labs、Red Hat和SUSE,參見圖1-1。
▲圖1-1 Forrester咨詢公司2018年第四季度發(fā)布的企業(yè)容器平臺(tái)調(diào)研報(bào)告
紅帽的OpenShift整體表現(xiàn)是非常優(yōu)秀的(Red Hat處于Leaders象限且Market presence較高)。
02 PaaS、DevOps與微服務(wù)的關(guān)系
PaaS、DevOps、微服務(wù)的概念很早就出現(xiàn)了。廣義上的微服務(wù)和DevOps的建設(shè)包含人、流程、工具等多方面內(nèi)容。IT廠商提供的微服務(wù)和DevOps主要是指工具層面的落地和流程咨詢。
在Kubernetes和容器普及之前,我們通過虛擬機(jī)也可以實(shí)現(xiàn)微服務(wù)、DevOps(CI/CD),只是速度相對(duì)較慢,因此普及性不高(想象一下通過x86虛擬化來實(shí)現(xiàn)中間件集群彈性伸縮的效率)。而正是容器的出現(xiàn),為PaaS、DevOps工具層面的落地提供了非常好的承載平臺(tái),使得這兩年容器云平臺(tái)風(fēng)生水起。
這就好比4G(2014年出現(xiàn))和微信(2011年出現(xiàn))之間的關(guān)系:在3G時(shí)代,流量費(fèi)較貴,大家對(duì)于微信語音聊天、微信視頻也不會(huì)太感興趣。到了4G時(shí)代,網(wǎng)速提高而且收費(fèi)大幅下降,像微信這樣的社交和互聯(lián)網(wǎng)支付工具才能興起和流行。
Docker使容器具備了較好的可操作性和可移植性,Kubernetes使容器具備企業(yè)級(jí)使用的條件。而IT界優(yōu)秀的企業(yè)級(jí)容器云平臺(tái)——OpenShift,又成為DevOps和微服務(wù)落地的新一代平臺(tái)。
OpenShift以容器技術(shù)和Kubernetes為基礎(chǔ),在此之上擴(kuò)展提供了軟件定義網(wǎng)絡(luò)、軟件定義存儲(chǔ)、權(quán)限管理、企業(yè)級(jí)鏡像倉庫、統(tǒng)一入口路由、持續(xù)集成流程(S2I/Jenkins)、統(tǒng)一管理控制臺(tái)、監(jiān)控日志等功能,形成覆蓋整個(gè)軟件生命周期的解決方案。
所以說,OpenShift本身提供開箱即用的PaaS功能,還可以幫助客戶快速實(shí)現(xiàn)微服務(wù)和DevOps,并且提供對(duì)應(yīng)的企業(yè)級(jí)服務(wù)支持。
03 企業(yè)數(shù)字化轉(zhuǎn)型之DevOps
DevOps中的Dev指的是Development,Ops指的是Operations,用一句話來說,DevOps就是打通開發(fā)運(yùn)維的壁壘,實(shí)現(xiàn)開發(fā)運(yùn)維一體化。
1. 從瀑布式開發(fā)到敏捷開發(fā)
談到DevOps的發(fā)展史,我們需要先談一下敏捷開發(fā)。
軟件工程的方式有其優(yōu)點(diǎn),但也帶來了不少問題。最關(guān)鍵的一點(diǎn)是:軟件不同于工程。通過工程學(xué)建造的大橋、高樓在竣工后,人們通常不會(huì)對(duì)大橋或高樓的主體有大量使用需求的變更;但軟件卻不同。
對(duì)于面向最終用戶的軟件,人們對(duì)于軟件功能的需求是會(huì)不斷變化的。在瀑布式開發(fā)模式下,當(dāng)客戶需求發(fā)生變化時(shí),軟件廠商需要修改軟件,這將會(huì)使企業(yè)的競爭力大幅下降。
傳統(tǒng)的軟件開發(fā)流程是:產(chǎn)品經(jīng)理收集一線業(yè)務(wù)部門和客戶的需求,這些需求可能是新功能需求,也可能是對(duì)產(chǎn)品現(xiàn)有功能做變更的需求。然后進(jìn)行評(píng)估、分析,將這些需求制定為產(chǎn)品的路線圖,并且分配相應(yīng)的資源進(jìn)行相關(guān)工作。
接下來,產(chǎn)品經(jīng)理將需求輸出給開發(fā)部門,開發(fā)工程師寫代碼。寫好以后,就由不同部門的人員進(jìn)行后續(xù)的代碼構(gòu)建、質(zhì)量檢驗(yàn)、集成測試、用戶驗(yàn)收測試,最后交給生產(chǎn)部門。
這樣帶來的問題是,開發(fā)周期比較長,并且如果有任何變更,都要重新走一遍開發(fā)流程,在商場如戰(zhàn)場的今天,軟件一個(gè)版本推遲發(fā)布,可能到發(fā)布時(shí)這個(gè)版本在市場上就已經(jīng)過時(shí)了;而競爭對(duì)手很可能由于在新軟件發(fā)布上快了一步,而迅速搶占了客戶和市場。
正是由于商業(yè)環(huán)境的壓力,軟件廠商需要改進(jìn)開發(fā)方式。
2001年年初,在美國猶他州滑雪勝地雪鳥城(Snowbird),17位專家聚集在一起,概括了一些可以讓軟件開發(fā)團(tuán)隊(duì)更具有快速工作、適應(yīng)變化的價(jià)值觀的原則,制定并簽署了軟件行業(yè)歷史上最重要的文件之一:敏捷宣言。
敏捷宣言中的主要價(jià)值觀如下:
-
個(gè)體和互動(dòng)高于流程和文檔。
-
工作的軟件高于詳盡的文檔。
-
客戶合作高于合同談判。
-
響應(yīng)變化高于遵循計(jì)劃。
有了敏捷宣言和敏捷開發(fā)價(jià)值觀,必然會(huì)產(chǎn)生對(duì)應(yīng)的開發(fā)流派。主要的敏捷開發(fā)流派有極限編程(XP)、Scrum、水晶方法等。至此,敏捷開發(fā)有理念、有方法、有實(shí)踐。隨著云計(jì)算概念的興起以及云計(jì)算的不斷落地,敏捷開發(fā)也實(shí)現(xiàn)了工具化。
2. 從敏捷開發(fā)到DevOps
談到了敏捷開發(fā),那么敏捷開發(fā)和DevOps有什么關(guān)系呢?敏捷開發(fā)是開發(fā)領(lǐng)域里的概念(上文已經(jīng)介紹),以敏捷開發(fā)階段為基礎(chǔ),有如下階段:
敏捷開發(fā)→持續(xù)集成→持續(xù)交付→持續(xù)部署→DevOps
從敏捷開發(fā)到DevOps,前一個(gè)階段都是后一個(gè)階段的基礎(chǔ);隨著階段的推進(jìn),每個(gè)階段概念覆蓋的流程越來越多;最終DevOps涵蓋了整個(gè)開發(fā)和運(yùn)維階段。正是由于每個(gè)階段涉及的范圍不同,因此每個(gè)概念所提供的工具也是不一樣的。具體內(nèi)容參照?qǐng)D1-2。
▲圖1-2 從敏捷開發(fā)到DevOps的進(jìn)階
-
持續(xù)集成(Continuous Integration):代碼集成到主干之前,必須全部通過自動(dòng)化測試;只要有一個(gè)測試用例失敗,就不能集成。持續(xù)集成要實(shí)現(xiàn)的目標(biāo)是:在保持高質(zhì)量的基礎(chǔ)上,讓產(chǎn)品可以快速迭代。
-
持續(xù)交付(Continuous Delivery):開發(fā)人員頻繁地將軟件的新版本交付給質(zhì)量團(tuán)隊(duì)或者用戶,以供評(píng)審。如果通過評(píng)審,代碼就被發(fā)布。如果未通過評(píng)審,那么需要變更后再提交。
-
持續(xù)部署(Continuous Deployment):代碼通過評(píng)審并發(fā)布后,自動(dòng)部署到生產(chǎn)環(huán)境,以交付最終用戶使用。
DevOps是一組完整的實(shí)踐,涵蓋自動(dòng)化軟件開發(fā)和IT團(tuán)隊(duì)之間的流程,以便他們可以更快、更可靠地構(gòu)建、測試和發(fā)布軟件。
04 企業(yè)數(shù)字化轉(zhuǎn)型的實(shí)現(xiàn)
1. 企業(yè)業(yè)務(wù)中臺(tái)的建設(shè)
近兩年,很多國內(nèi)的企業(yè)都在談業(yè)務(wù)中臺(tái)建設(shè)。那么,什么是業(yè)務(wù)中臺(tái)?實(shí)際上,業(yè)務(wù)中臺(tái)是相對(duì)于“前臺(tái)”和“后臺(tái)”而言的。
前臺(tái)由各類業(yè)務(wù)系統(tǒng)前端平臺(tái)組成。每個(gè)前臺(tái)系統(tǒng)就是用戶接入點(diǎn),即企業(yè)的最終用戶直接使用或交互的系統(tǒng)。如網(wǎng)站、手機(jī)App、微信公眾號(hào)等。前臺(tái)是以用戶為中心的互聯(lián)網(wǎng)敏態(tài)業(yè)務(wù)。互聯(lián)網(wǎng)公司先有前臺(tái)業(yè)務(wù),通過將通用業(yè)務(wù)下沉形成業(yè)務(wù)中臺(tái)。
后臺(tái)是企業(yè)的核心業(yè)務(wù)系統(tǒng),例如財(cái)務(wù)系統(tǒng)、倉庫物流管理系統(tǒng)等,這類系統(tǒng)構(gòu)成了企業(yè)的后臺(tái)。后臺(tái)承載穩(wěn)態(tài)業(yè)務(wù)。相比于互聯(lián)網(wǎng)公司,企業(yè)客戶先有傳統(tǒng)業(yè)務(wù)系統(tǒng),后有互聯(lián)網(wǎng)+業(yè)務(wù)。由于后臺(tái)更多的是保證核心業(yè)務(wù)的穩(wěn)定運(yùn)行,它并不能很好地支撐前臺(tái)快速創(chuàng)新響應(yīng)用戶的需求。
但在目前階段,對(duì)于企業(yè)而言,客戶的體驗(yàn)又是非常重要的,因此企業(yè)通過建設(shè)中臺(tái)解決前臺(tái)的創(chuàng)新問題。通過構(gòu)建中臺(tái),企業(yè)將后端業(yè)務(wù)資源服務(wù)化,用以支撐前端全渠道業(yè)務(wù)、互聯(lián)網(wǎng)業(yè)務(wù)和以客戶為中心的敏態(tài)業(yè)務(wù),如圖1-3所示。
▲圖1-3?業(yè)務(wù)中臺(tái)的實(shí)現(xiàn)方式
整個(gè)業(yè)務(wù)中臺(tái)的全景圖,將包含PaaS平臺(tái)、DevOps、微服務(wù)治理以及微服務(wù)API管理、分布式集成與流程自動(dòng)化,如圖1-4所示。
▲圖1-4?業(yè)務(wù)中臺(tái)全景圖
接下來,我們介紹企業(yè)數(shù)字化轉(zhuǎn)型的步驟。
2. 企業(yè)數(shù)字化轉(zhuǎn)型步驟
筆者在日常工作中,接觸了大量企業(yè)客戶數(shù)字化轉(zhuǎn)型的案例,歸納整理出通常的轉(zhuǎn)型步驟,如圖1-5所示。
▲圖1-5?企業(yè)轉(zhuǎn)型步驟
圖中的縱坐標(biāo)為業(yè)務(wù)敏捷性,企業(yè)業(yè)務(wù)敏捷性方面的轉(zhuǎn)型通常包含以下幾步:
-
第一步:構(gòu)建PaaS平臺(tái)。PaaS平臺(tái)為開發(fā)人員提供了構(gòu)建應(yīng)用程序的環(huán)境,旨在加快應(yīng)用開發(fā)的速度,實(shí)現(xiàn)平臺(tái)即服務(wù),使業(yè)務(wù)敏捷且具有彈性。近幾年容器技術(shù)的崛起更是促進(jìn)了PaaS的發(fā)展,紅帽O(jiān)penShift就是首屈一指的企業(yè)級(jí)容器PaaS平臺(tái)。
-
第二步:基于PaaS實(shí)現(xiàn)DevOps。PaaS平臺(tái)是通過提高基礎(chǔ)設(shè)施的敏捷而加快業(yè)務(wù)的敏捷,而DevOps則是在流程交付上加快業(yè)務(wù)的敏捷。通過DevOps可以實(shí)現(xiàn)應(yīng)用的持續(xù)集成、持續(xù)交付,加速價(jià)值流交付,實(shí)現(xiàn)業(yè)務(wù)的快速迭代。
-
第三步:實(shí)現(xiàn)微服務(wù)治理。通過對(duì)業(yè)務(wù)進(jìn)行微服務(wù)化改造,將復(fù)雜業(yè)務(wù)分解為小的單元,不同單元之間松耦合、支持獨(dú)立部署更新,真正從業(yè)務(wù)層面提升敏捷性。在微服務(wù)的實(shí)現(xiàn)上,客戶可以選擇采用Spring Cloud,但我們認(rèn)為Istio是微服務(wù)治理架構(gòu)的未來方向。
-
第四步:實(shí)現(xiàn)微服務(wù)高級(jí)管理。在微服務(wù)之上實(shí)現(xiàn)API管理、微服務(wù)的分布式集成以及微服務(wù)的流程自動(dòng)化。通過API管理幫助企業(yè)打造多渠道的生態(tài),最終實(shí)現(xiàn)API經(jīng)濟(jì)。通過微服務(wù)的分布式集成和流程自動(dòng)化,企業(yè)可實(shí)現(xiàn)統(tǒng)一的業(yè)務(wù)中臺(tái)。
圖中橫坐標(biāo)是業(yè)務(wù)健壯性的提升,通常建設(shè)步驟為:
-
第一步:建設(shè)單數(shù)據(jù)中心。大多數(shù)企業(yè)級(jí)客戶,如金融、電信和能源客戶的業(yè)務(wù)系統(tǒng)運(yùn)行在企業(yè)數(shù)據(jù)中心內(nèi)部的私有云。在數(shù)據(jù)中心建設(shè)初期,通常是單數(shù)據(jù)中心。
-
第二步:建設(shè)多數(shù)據(jù)中心。隨著業(yè)務(wù)規(guī)模的擴(kuò)張和重要性的提升,企業(yè)通常會(huì)建設(shè)災(zāi)備或者雙活數(shù)據(jù)中心,這樣可以保證當(dāng)一個(gè)數(shù)據(jù)中心出現(xiàn)整體故障時(shí),業(yè)務(wù)不會(huì)受到影響。
-
第三步:構(gòu)建混合云。隨著公有云的普及,很多企業(yè)級(jí)客戶,尤其是制造行業(yè)的客戶,開始將一些前端業(yè)務(wù)系統(tǒng)向公有云遷移,這樣客戶的IT基礎(chǔ)架構(gòu)最終成為混合云的模式。
企業(yè)的IT基礎(chǔ)架構(gòu)與業(yè)務(wù)系統(tǒng)是相輔相成的。在筆者看到的客戶案例中,很多客戶都是兩者同步建設(shè),實(shí)現(xiàn)基于混合云的PaaS、DevOps和微服務(wù),并最終實(shí)現(xiàn)基于混合云構(gòu)建企業(yè)業(yè)務(wù)中臺(tái)。
關(guān)于作者:魏新宇,現(xiàn)為紅帽資深解決方案架構(gòu)師。在IaaS PaaS方面有豐富的經(jīng)驗(yàn),致力于開源解決方案在企業(yè)中的推廣和應(yīng)用。從售前角度主導(dǎo)了紅帽在金融 汽車行業(yè)PaaS多個(gè)項(xiàng)目。
郭躍軍,現(xiàn)為yamaxun AWS專業(yè)服務(wù)團(tuán)隊(duì)云架構(gòu)咨詢顧問。在2019年4月之前任職于Red Hat,擔(dān)任PaaS咨詢顧問。從2015年接觸容器技術(shù)并開始學(xué)習(xí)OpenShift,參與了很多OpenShift項(xiàng)目的競標(biāo)PoC 咨詢和落地實(shí)施,幫助很多企業(yè)實(shí)現(xiàn)了數(shù)字化轉(zhuǎn)型。
本文摘編自《OpenShift在企業(yè)中的實(shí)踐:PaaS DevOps微服務(wù)》,經(jīng)出版方授權(quán)發(fā)布。
有話要說????
Q:?你了解OpenShift嗎?
歡迎留言與大家分享
猜你想看????
-
資產(chǎn)220億轉(zhuǎn)行學(xué)Python?不只是說說,他還買了這些書
-
TensorFlow是什么?怎么用?終于有人講明白了
-
百億身家中年男子告別房地產(chǎn)轉(zhuǎn)行學(xué)Python,我們推薦他讀這6本書
-
吐血整理!萬字原創(chuàng)讀書筆記,數(shù)據(jù)分析的知識(shí)點(diǎn)全在這里了
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的PaaS、DevOps、OpenShift与业务中台的实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新!全球学术排名出炉:22所中国大学位
- 下一篇: 豆瓣9.0,35万读者“搜不到信息”的神