OpenShift 在企業中的實踐:PaaS DevOps 微服務

魏新宇 郭躍軍 著

買這商品的人也買了...

商品描述

本書從客戶的數字化轉型入手,介紹客戶如何通過OpenShift構建PaaS平臺、實現DevOps、實現微服務治理和微服務的高級管理,共分為四大部分:
PaaS能力建設。即本書的“PaaS三部曲”,包含第2~4章的內容,分別是:基於OpenShift構建企業級PaaS、OpenShift在企業中的開發和運維實踐、OpenShift在公有雲上的實踐。
DevOps能力建設。即本書的“DevOps兩部曲”,包含第5~6章的內容,分別為:在OpenShift上實現DevOps、DevOps在企業中的實踐。
微服務能力建設。即本書“微服務三部曲”,包含第7~9章的內容,分別為:微服務介紹及Spring Cloud在OpenShift上落地、Istio架構介紹與安裝部署、基於OpenShift和Istio實現微服務落地。
微服務高級管理。包含本書第10章的內容。介紹基於OpenShft和紅帽其他解決方案微服務的高級管理(API管理、分佈式集成和流程自動化),並最終實現企業業務中台的建設。
主要亮點
系統性地闡述了PaaS、DevOps、微服務治理、微服務高級管理。
內容均來自兩名作者一線的售前和實施經驗,具有較強的技術指導性。
受到多位全球知名企業(涵蓋:銀行、保險、汽車製造、航空信息行業)IT負責人的聯名推薦,體現了本書巨大的含金量。
不是基本概念或實驗步驟的介紹,而是從企業客戶實戰角度,為客戶通過OpenShift實現IT轉型給出具體的建議和參考架構。
內容兼顧運維和開發,是秉承全棧理念的一本書籍。

作者簡介

魏新宇

現為紅帽資深解決方案架構師。在IaaS、PaaS方面有豐富的經驗,致力於開源解決方案在企業中的推廣和應用。從售前角度主導了紅帽在金融、汽車行業PaaS多個項目。曾就職於:華為、IBM、VMware。工作涉及領域硬件、AIX/Linux、虛擬化、PaaS、DevOps、微服務等。獲得紅帽RHCA Level 5認證、RHCE認證。獲得ITIL V3、Cobit5、C-STAR、TOGAF(鑑定級)相關認證。通過大魏分享(david-share)微信公眾號,分享了很多項目實踐中的經驗。

郭躍軍

現為亞馬遜AWS專業服務團隊雲架構諮詢顧問。在2019年4月之前任職於Red Hat,擔任PaaS諮詢顧問。從2015年接觸容器技術並開始學習OpenShift,參與了很多OpenShift項目的競標PoC、諮詢和落地實施,幫助很多企業實現了數字化轉型。經過多年的技術積累和項目歷練,在PaaS建設運維、DevOps諮詢落地以及微服務改造遷移等方面有豐富的經驗,並一直保持著對開源技術、雲原生技術的深入研究和熱情。

目錄大綱

讚譽

推薦序

前言

致謝

第1 章通過OpenShift 實現企業的數字化轉型

1.1 企業進行數字化轉型的必要性

1.2 企業數字化轉型之PaaS

1.3 企業數字化轉型之DevOps

1.3.1 從瀑布式開發到敏捷開發

1.3.2 從敏捷開發到DevOps

1.4 企業數字化轉型之微服務

1.4.1 微服務架構簡介

1.4.2 微服務架構的主要類型

1.4.3 企業實施微服務架構的收益和原則

1.5 PaaS、DevOps 與微服務的關係

1.6 企業數字化轉型的實現

1.6.1 企業業務中台的建設

1.6.2 企業數字化轉型步驟

1.7 本章小結

第2 章基於OpenShift 構建企業級PaaS 平台

2.1 OpenShift 與Kubernetes 的關係

2.1.1 OpenShift 發展簡史

2.1.2 OpenShift 對Kubernetes 的增強

2.1.3 OpenShift 對Kubernetes生態的延伸

2.2 OpenShift 的架構介紹與規劃

2.2.1 OpenShift 的邏輯架構

2.2.2 OpenShift 的技術架構

2.2.3 OpenShift 的組件架構

2.2.4 OpenShift 的部署架構

2.3 OpenShift 部署架構參考

2.4 OpenShift 安裝與部署

2.4.1 OpenShift3 的私有云部署

2.4.2 OpenShift4.1 的私有云部署

2.5 本章小結

第3 章OpenShift 在企業中的開發和運維實踐

3.1 OpenShift 在企業中面向的對象

3.2 OpenShift 在企業中的開發實踐

3.2.1 應用向OpenShift 容器化遷移方法

3.2.2 基於Fabric8 在OpenShift 上發布應用

3.2.3 OpenShift API 的調用

3.2.4 在OpenShift 上部署有狀態應用

3.3 OpenShift 在企業中的運維實踐

3.3.1 OpenShift 運維指導

3.3.2 OpenShift 安全實踐

3.3.3 OpenShift 性能優化

3.3.4 OpenShift 監控系統與改造

3.3.5 OpenShift 日誌系統與改造

3.3.6 OpenShift 備份恢復與容災

3.4 本章小結

第4 章OpenShift 在公有云上的實踐

4.1 OpenShift 在公有云和私有云上的區別

4.2 OpenShift 在公有云上的架構模型

4.2.1 單個PaaS 共享架構模型

4.2.2 公有云服務自維護架構模型

4.2.3 控制節點託管架構模型

4.2.4 公有云租戶獨享PaaS 架構模型

4.3 OpenShift 在公有云上的部署方式

4.4 OpenShift 在AWS 上的實踐

4.4.1 AWS 服務簡介

4.4.2 OpenShift3 在​​AWS 上的實踐

4.4.3 OpenShift4 在AWS 上的實踐

4.4.4 AWS 上的Service Broker

4.5 OpenShift 在阿里雲上的實踐

4.6 本章小結

第5 章在OpenShift 上實現DevOps

5.1 DevOps 的適用場景

5.2 DevOps 的實現路徑

5.2.1 組織與角色

5.2.2 平台與工具

5.2.3 流程與規範

5.2.4 文化與持續改進

5.2.5 總結

5.3 基於OpenShift 實現CI/CD 的幾種方式

5.3.1 使用自定義的S2I 模板

5.3.2 自定義模板實現Binary部署

5.3.3 在源碼外構建Pipeline

5.3.4 在源碼內構建Pipeline

5.3.5 OpenShift 中Jenkins 的工作方式選擇

5.4 在OpenShift 上實現持續交付

5.4.1 OpenShift 上的持續交付工具介紹

5.4.2 持續交付的實現

5.4.3 可以優化的部分

5.5 Ansible 實現混合雲中的DevOps

5.5.1 Ansible 介紹

5.5.2 Ansible 基本使用場景

5.5.3 Ansible 在DevOps 中的應用

5.6 本章小結

第6 章DevOps 在企業中的實踐

6.1 成功實踐DevOps 的關鍵要素

6.1.1 定義全景視圖和目標

6.1.2 標準化的流程和組織

6.1.3 建立DevOps 基石:自動化

6.1.4 協同工作的文化

6.2 某大型客戶DevOps 案例分析

6.2.1 客戶現狀及項目背景

6.2.2 DevOps 落地實踐

6.2.3 實踐收益

6.3 本章小結

第7 章微服務介紹及Spring Cloud在OpenShift 上的落地

7.1 企業應用的發展

7.1.1 Jakarta EE 介紹

7.1.2 Jakarta EE 應用架構

7.1.3 Web Services 的大量使用

7.1.4 現代應用客戶端開發方式

7.1.5 Web Services 的兩種類型

7.1.6 企業應用發展的未來

7.2 微服務介紹

7.2.1 微服務方法論與設計原則

7.2.2 MicroProfile微服務框架

7.2.3 Spring Cloud 微服務框架

7.2.4 Istio微服務框架

7.2.5 微服務架構的選擇

7.3 企業對微服務治理的需求

7.4 Spring Cloud 在OpenShift 上的落地

7.4.1 Spring Cloud 在OpenShift上實現的不同

7.4.2 Spring Cloud 在OpenShift上的實現

7.5 本章小結

第8 章Istio架構介紹與安裝部署

8.1 Istio的技術架構

8.1.1 兩個平面的定義

8.1.2 控制平面

8.1.3 數據平面

8.1.4 Sidecar 的注入

8.2 在OpenShift 上部署Istio

8.2.1 基於OpenShift 的Istio與社區版本Istio的區別

8.2.2 在OpenShift 上安裝Istio

8.3 Istio的工具集簡介

8.3.1 Istio的工具集:Grafana

8.3.2 Istio的工具集:Prometheus

8.3.3 Istio的工具集:Kiali

8.3.4 Istio的工具集:Jaeger

8.4 在Istio中部署Bookinfo微服務

8.4.1 Bookinfo微服務架構

8.4.2 在OpenShift 中部署Bookinfo

8.4.3 Bookinfo微服務效果展示

8.5 Bookinfo微服務源碼分析

8.5.1 Productpage微服務的源碼

8.5.2 Reviews 微服務的源碼

8.5.3 源碼中Mongodb和Mysql的配置

8.5.4 Ratings 微服務的源碼

8.5.5 Bookinfo訪問效果展示

8.6 本章小結

第9 章基於OpenShift 和Istio實現微服務落地

9.1 Istio的基本功能

9.1.1 Istio路由基本概念

9.1.2 基於目標端的灰度/ 藍綠髮布

9.1.3 微服務的灰度上線

9.1.4 微服務的限流

9.1.5 微服務的熔斷

9.1.6 微服務的黑名單

9.2 對OpenShift 上Istio的重要說明

9.2.1 OpenShift 上Istio入口訪問方式的選擇

9.2.2 OpenShift Router 和IstioIngessgateway的聯繫與區別

9.2.3 Istio配置生效的方式和選擇

9.3 企業應用向Istio遷移

9.3.1 使用本地構建方式將應用遷移到Istio的步驟

9.3.2 三層微服務源碼分析

9.3.3 三層微服務向Istio中遷移展示

9.4 Istio納管微服務

9.4.1 納管場景重要說明

9.4.2 三層微服務配置路由管理

9.4.3 三層微服務配置限流和熔斷

9.4.4 三層微服務配置超時和重試

9.4.5 三層微服務配置錯誤注入

9.4.6 三層微服務配置黑白名單

9.4.7 三層微服務配置驗證與授權

9.5 Istio生產使用建議

9.5.1 Istio的性能指標

9.5.2 Istio的調優參考

9.5.3 Istio的運維建議

9.6 基於OpenShift 實現的企業微服務治理需求

9.7 本章小結

第10 章微服務的高級管理

10.1 微服務的API 管理

10.1.1 API 經濟的由來

10.1.2 API 經濟的實現

10.1.3 API 網關與API 管理的區別

10.2 微服務的API 管理方案

10.2.1 紅帽API 管理方案的市場地位

10.2.2 紅帽3Scale 的技術架構與實現效果

10.2.3 紅帽3Scale 對容器化應用的管理

10.2.4 紅帽3Scale 與Istio的集成

10.3 微服務的分佈式集成

10.3.1 分佈式集成方案

10.3.2 基於OpenShift 和Camel 的微服務集成

10.4 微服務的流程自動化

10.4.1 流程與規則

10.4.2 紅帽的微服務流程自動化方案

10.4.3 RHPAM 與微服務的集成案例環境準備

10.4.4 RHPAM 與微服務的集成實驗流程驗證

10.5 業務中台的技術實現

10.6 本章小結

附錄OpenShift 投資回報率分析