- OpenShift在企業(yè)中的實踐:PaaS DevOps微服務(第2版)
- 魏新宇 郭躍軍
- 2158字
- 2021-11-05 10:17:10
1.6.2 企業(yè)數(shù)字化轉(zhuǎn)型之路
企業(yè)數(shù)字化轉(zhuǎn)型的實現(xiàn),總結(jié)起來可分為以下五個步驟,如圖1-3所示。

圖1-3 企業(yè)數(shù)字化轉(zhuǎn)型之路
圖1-3中的縱坐標為業(yè)務敏捷性,企業(yè)業(yè)務敏捷性方面的轉(zhuǎn)型通常包含以下幾步:
第一步:構(gòu)建PaaS平臺。PaaS平臺為開發(fā)人員提供了構(gòu)建應用程序的環(huán)境,旨在加快應用開發(fā)的速度,實現(xiàn)平臺即服務,使業(yè)務敏捷且具有彈性。近幾年容器技術(shù)的崛起更是促進了PaaS的發(fā)展,紅帽O(jiān)penShift就是首屈一指的企業(yè)級容器PaaS平臺。
第二步:基于PaaS實現(xiàn)DevOps。PaaS平臺是通過提高基礎(chǔ)設施的敏捷而加快業(yè)務的敏捷,而DevOps則是在流程交付上加快業(yè)務的敏捷。通過DevOps可以實現(xiàn)應用的持續(xù)集成、持續(xù)交付,加速價值流交付,實現(xiàn)業(yè)務的快速迭代。
第三步:借助于輕量級應用服務器,為現(xiàn)有單體應用提速。在開啟云原生應用之旅時,企業(yè)不能只關(guān)注開發(fā)新的應用。很多傳統(tǒng)應用都是確保企業(yè)順利運營和不斷創(chuàng)收的關(guān)鍵所在,不能簡單地取而代之。企業(yè)需將這類應用與新的云原生應用整合到一起。但是,問題是我們?nèi)绾渭涌飕F(xiàn)有單體式應用的運行速度。正確的方法是:將現(xiàn)有的單體式架構(gòu)遷移到模塊化程度更高且基于服務的架構(gòu)中,并采用基于API的通信方式,從而實施快速單體式方案。在開始實施將單體式應用重構(gòu)為微服務的艱巨任務前,企業(yè)應該先為單體式架構(gòu)奠定堅實的基礎(chǔ)。雖然單體式應用的敏捷性欠佳,但其受到詬病的主要原因是自身的構(gòu)建方式。運行快速的單體式應用可以實現(xiàn)微服務所能帶來的諸多敏捷性優(yōu)勢,而且不會增加相關(guān)的復雜性和成本。
通過對快速單體式方案進行評估,可以確保應用在構(gòu)建時遵循嚴苛的設計原則,并且正確定義了域邊界。這樣,企業(yè)就能在需要時以更加循序漸進、風險更低的方式過渡至微服務架構(gòu)。如能以這種方式實現(xiàn)快速單體式應用的轉(zhuǎn)型,即可為優(yōu)良的微服務架構(gòu)打下扎實的基礎(chǔ)。借助于Red Hat OpenShift和輕量級的應用服務器Red Hat JBoss EAP、JBoss Web Server,我們可以將傳統(tǒng)單體應用遷移到容器中,為現(xiàn)有單體應用提速。此外,隨著OpenShift承載的單體應用越來越多,就會涉及通過數(shù)據(jù)網(wǎng)格為單體應用提速。此外,隨著越來越多的業(yè)務遷移到OpenShift,這必然會牽扯到不同業(yè)務系統(tǒng)之間的協(xié)議轉(zhuǎn)換,即分布式集成。
第四步:選擇云原生的應用開發(fā)和運行框架。隨著物聯(lián)網(wǎng)(IoT)、機器學習、人工智能(AI)、數(shù)據(jù)挖掘、圖像識別、自動駕駛汽車等新興技術(shù)的興起,應運而生的應用開發(fā)框架也越來越多,我們需要根據(jù)特定的業(yè)務應用需求來選擇語言或框架,因此不同的云原生應用會采用不同的應用開發(fā)框架。這就要求容器PaaS平臺能夠支持多種應用開發(fā)框架。紅帽O(jiān)penShift不僅支持傳統(tǒng)JavaEE應用和Spring Boot應用,紅帽也發(fā)布了基于Java的云原生開發(fā)框架Quarkus。此外,隨著IoT、AI的普及,實時數(shù)據(jù)流平臺顯得越來越重要。在IoT平臺上,如何實現(xiàn)對數(shù)據(jù)庫的變化數(shù)據(jù)捕獲也是我們需要考慮的。此外,如何在OpenShift上更進一步地運行Serverless也是我們需要關(guān)注的。
通過IT自動化管理,避免手動執(zhí)行IT任務,是加速交付云原生應用的重點。IT自動化管理工具會創(chuàng)建可重復的流程、規(guī)則和框架,以替代或減少會導致延遲上市的勞動密集型人工介入。這些工具可以進一步延伸到具體的技術(shù)(如容器)、方法(如DevOps),再到更廣泛的領(lǐng)域(如云計算、安全性、測試、監(jiān)控和警報)。因此,自動化是IT優(yōu)化和數(shù)字化轉(zhuǎn)型的關(guān)鍵,可以縮短實現(xiàn)價值所需的總時長。
第五步:實現(xiàn)微服務治理。通過對業(yè)務的微服務化改造,將復雜業(yè)務分解為小的單元,不同單元之間松耦合,支持獨立部署更新,真正從業(yè)務層面提升敏捷性。在微服務的實現(xiàn)上,客戶可以選擇采用Spring Cloud,但我們認為Istio是微服務治理架構(gòu)的未來方向。
圖1-3中的橫坐標是業(yè)務健壯性的提升,通常分為以下幾步:
第一步:建設單數(shù)據(jù)中心。大多數(shù)企業(yè)級客戶(如金融、電信和能源客戶)的業(yè)務系統(tǒng)運行在企業(yè)數(shù)據(jù)中心內(nèi)部的私有云。在數(shù)據(jù)中心初期建設時,通常是單數(shù)據(jù)中心。
第二步:建設多數(shù)據(jù)中心。隨著業(yè)務規(guī)模的擴張和重要性的提升,企業(yè)通常會建設災備或者雙活數(shù)據(jù)中心,這樣可以保證當一個數(shù)據(jù)中心出現(xiàn)整體故障時,業(yè)務不會受到影響。
第三步:構(gòu)建混合云。隨著公有云的普及,很多企業(yè)級客戶,尤其是制造行業(yè)的客戶,開始將一些前端業(yè)務系統(tǒng)向公有云遷移,這樣客戶的IT基礎(chǔ)架構(gòu)最終成為混合云的模式。
企業(yè)的IT基礎(chǔ)架構(gòu)與業(yè)務系統(tǒng)是相輔相成的。在我們看到的客戶案例中,很多客戶都是兩者同步建設,實現(xiàn)基于混合云的PaaS、DevOps和微服務,并最終實現(xiàn)基于混合云構(gòu)建云原生能力。
本書將以本小節(jié)列出的企業(yè)數(shù)字化轉(zhuǎn)型步驟為整體脈絡,分析企業(yè)如何以OpenShift為核心逐步實現(xiàn)這些能力,共分為四大部分:
·PaaS能力建設。本書的“PaaS五部曲”,包含第2~6章的內(nèi)容,分別是:OpenShift技術(shù)解密及架構(gòu)設計、基于OpenShift構(gòu)建企業(yè)級PaaS平臺、OpenShift在企業(yè)中的開發(fā)實踐、OpenShift在企業(yè)中的運維實踐、OpenShift在公有云上的實踐。即企業(yè)數(shù)字化轉(zhuǎn)型的第一步。
·DevOps能力建設。本書的“DevOps兩部曲”,包含第7~8章的內(nèi)容,分別是:在OpenShift上實現(xiàn)DevOps、DevOps在企業(yè)中的實踐。即企業(yè)數(shù)字化轉(zhuǎn)型的第二步。
·云原生能力建設。本書的第9章,即基于OpenShift構(gòu)建云原生。這部分介紹如何為單體應用提速以及云原生開發(fā)和運行環(huán)境的選擇,即企業(yè)數(shù)字化轉(zhuǎn)型的第三步和第四步。需要指出的是,作者在《云原生應用構(gòu)建:基于OpenShift》一書中全面闡述了構(gòu)建云原生的方法,重復的內(nèi)容本書第9章不會進行贅述。
·微服務能力建設。包含第10章的內(nèi)容,包括微服務介紹及Spring Cloud在OpenShift上落地、Istio架構(gòu)介紹與安裝部署、基于OpenShift和Istio實現(xiàn)微服務落地。即企業(yè)數(shù)字化轉(zhuǎn)型的第五步。
- 基于粒計算模型的圖像處理
- Visual Basic程序開發(fā)(學習筆記)
- Visual C++實例精通
- Machine Learning with R Cookbook(Second Edition)
- SQL語言從入門到精通
- 匯編語言程序設計(第2版)
- 深入RabbitMQ
- 碼上行動:用ChatGPT學會Python編程
- Arduino家居安全系統(tǒng)構(gòu)建實戰(zhàn)
- C++反匯編與逆向分析技術(shù)揭秘(第2版)
- Arduino計算機視覺編程
- Practical Microservices
- 監(jiān)控的藝術(shù):云原生時代的監(jiān)控框架
- UI設計基礎(chǔ)培訓教程(全彩版)
- Java從入門到精通(視頻實戰(zhàn)版)