本書重點講解金融行業(yè)的技術選型、實踐和相關的案例分析。
每一章都會先從一個具有代表性的客戶案例入手,然后對客戶的背景、需求、痛點進行深入分析,然后由此推導出適用于金融行業(yè)的IT技術選型和建設參考。
本書14章包括:
金融行業(yè)的IT架構分析、容器化的適用場景以及z佳實踐、如何選型SDS以及z佳實踐、如何做自動化管理以及z佳實踐?、金融行業(yè)安全z佳實踐、分布式架構的探究和z佳實現(xiàn)、數(shù)據(jù)庫的選擇和z佳實踐等。
目前市面上介紹Kubernetes技術、分布式架構、安全、自動化等內容的書很多,但大多停留在單一技術的功能介紹和使用層面,缺乏實際的行業(yè)案例分析,未完整地描繪企業(yè)數(shù)字化轉型路線。
本書作者均有多年開源軟件架構、運維和開發(fā)的經歷,在數(shù)字化轉型方面擁有大量項目實踐經驗,幫助很多金融行業(yè)客戶實現(xiàn)了數(shù)字化轉型。為了讓這些經驗能夠幫助更多的客戶,我們決定合著一本真正從實踐落地角度出發(fā)的書,將開源技術和金融行業(yè)客戶數(shù)字化轉型的需求相結合,為金融企業(yè)的數(shù)字化轉型拋磚引玉。
本書主要內容
本書從金融行業(yè)客戶的數(shù)字化轉型入手,通過具體案例介紹金融行業(yè)客戶如何通過開源技術完成金融級IT架構與運維,實現(xiàn)數(shù)字化轉型。全書共14章,分為五部分。
部分:金融企業(yè)IT系統(tǒng)(第1章)
本部分介紹金融企業(yè)IT系統(tǒng)的發(fā)展歷史,重點介紹銀行業(yè)和保險業(yè)的發(fā)展歷史,然后總結了金融科技的建設路徑,為讀者了解金融級IT架構與運維奠定基礎。
第二部分:金融企業(yè)的容器云建設(第2~4章)
本部分首先介紹建設容器云的關鍵考量,然后通過兩個具體的容器云建設案例分析如何進行容器云建設,后介紹容器云上的實踐。
第三部分:金融企業(yè)的分布式架構與分布式事務(第5~8章)
本部分首先分析并總結金融行業(yè)IT分布式架構的整體發(fā)展趨勢,接著分析微服務在容器及非容器架構下的注冊中心與服務發(fā)現(xiàn)過程以及開放API技術平臺的建設思路,后介紹分布式事務的架構與實現(xiàn),以及分布式事務的實踐。
第四部分:金融企業(yè)的穩(wěn)態(tài)與敏態(tài)安全(第9~11章)
本部分主要討論穩(wěn)態(tài)中心安全建設與敏態(tài)中心安全建設。首先分析金融行業(yè)安全現(xiàn)狀與建設思路;然后探討穩(wěn)態(tài)中心安全建設,內容包括防火墻、SSL卸載和基于數(shù)據(jù)中心的應用安全防護,以及安全設備編排方案;接著介紹敏態(tài)中心安全建設,內容包括可編程蜜罐、iptables防火墻在云原生中的應用、軟件化SSL卸載資源池等。
第五部分:金融企業(yè)的自動化運維(第12~14章)
本部分首先通過一個具體案例講解如何基于Ansible實現(xiàn)自動化運維,包括如何進行Ansible項目的配置、主機、任務、輸出管理,然后通過兩個客戶的具體實踐案例介紹RHEL的性能優(yōu)化與配置管理,后講解虛擬化與分布式存儲的相關內容。
本書亮點
一線售前和實施經驗總結,具有較強的指導性。
將容器云建設、分布式架構與分布式事務建設、穩(wěn)態(tài)與敏態(tài)安全建設、自動化運維建設綜合起來進行系統(tǒng)闡述。
從金融行業(yè)客戶的實際案例角度出發(fā),為金融行業(yè)客戶通過開源技術實現(xiàn)IT轉型提供具體的建議和參考架構。
秉承全棧理念,兼顧運維和開發(fā)。
讀者對象
本書適合金融行業(yè)的架構師、IT經理、應用架構師、開源技術愛好者等閱讀。
資源獲取
本書中演示使用的全部代碼均放到了作者自建的GitHub倉庫中。由于開源產品的版本迭代較快,因此建議讀者站在架構的角度來閱讀,不必過于糾結小的版本的差別。
為了控制篇幅并方便讀者重現(xiàn)實驗,我們?yōu)槊恳徽聞?chuàng)建了對應的GitHub Repo,可通過瀏覽器直接訪問,地址為https://github.com/davidsajare/FSI-IT-construction。
本書勘誤
由于開源產品迭代較快,書中的內容難免有過時之處。另外,因編寫倉促,筆誤或不足之處也在所難免。讀者可以關注公眾號“大魏分享”(david-share)反饋相關問題,還可以在公眾號留言申請加入本書的微信讀者群。
后,祝你在閱讀本書的過程中能夠有所收獲。讓我們在開源技術與企業(yè)相結合的道路上共同成長!
贊譽
前言
部分 金融企業(yè)IT系統(tǒng)
第1章 銀行業(yè)和保險業(yè)中IT系統(tǒng)的發(fā)展2
1.1 銀行業(yè)中IT系統(tǒng)的發(fā)展2
1.1.1 銀行業(yè)的挑戰(zhàn)2
1.1.2 銀行業(yè)的業(yè)務轉型4
1.1.3 銀行業(yè)的信息化建設4
1.2 保險業(yè)中IT系統(tǒng)的發(fā)展6
1.2.1 保險業(yè)的信息化建設7
1.2.2 保險業(yè)的發(fā)展展望8
1.3 金融科技的建設之路8
1.4 本章小結10
第二部分 金融企業(yè)的容器云建設
第2章 建設容器云的關鍵考量12
2.1 容器云構建金融業(yè)敏態(tài)業(yè)務的考量12
2.1.1 國內企業(yè)敏態(tài)IT建設趨勢分析12
2.1.2 敏態(tài)IT的構建路徑14
2.1.3 容器云承載的應用15
2.1.4 應用上容器云的準入條件和實踐17
2.1.5 應用容器化遷移步驟19
2.1.6 容器應用基礎鏡像的選擇20
2.1.7 C語言應用上容器云的方法23
2.1.8 容器云的混沌工程29
2.1.9 微服務治理框架的選擇36
2.1.10 容器云常用的中間件與數(shù)據(jù)服務選擇40
2.2 微服務與容器云的邊界44
2.2.1 微服務注冊中心的選擇45
2.2.2 微服務配置中心的選擇49
2.2.3 平臺與應用級相結合的注冊和配置中心50
2.3 本章小結54
第3章 容器云建設案例55
3.1 H公司容器云建設案例55
3.1.1 H公司業(yè)務需求56
3.1.2 業(yè)務需求的技術實現(xiàn)56
3.1.3 項目實施成功的關鍵因素與難點59
3.2 S公司容器云建設案例61
3.2.1 S公司業(yè)務需求61
3.2.2 項目實施內容與效果64
3.3 本章小結75
第4章 容器云上的實踐76
4.1 容器云的安全加固76
4.1.1 手工安全加固手段76
4.1.2 傳統(tǒng)的DevSecOps81
4.1.3 借助StackRox實現(xiàn)DevSecOps87
4.2 容器云的備份與雙活97
4.2.1 容器云的備份97
4.2.2 容器云的多集群管理100
4.2.3 容器云的雙活與災備109
4.3 容器原生存儲的選擇113
4.3.1 OpenShift 容器存儲架構114
4.3.2 創(chuàng)建OCS存儲115
4.3.3 使用rbd為應用提供持久化存儲121
4.3.4 使用CephFS為應用提供持久化存儲123
4.3.5 OCS Operator對接外部存儲124
4.4 容器云上的數(shù)據(jù)庫定制化方案125
4.4.1 分布式數(shù)據(jù)庫的發(fā)展125
4.4.2 MySQL的復制與高可用126
4.4.3 OpenShift提供的MySQL容器鏡像127
4.4.4 以命令行和模板方式部署MySQL128
4.4.5 使用S2I方式定制化部署MySQL130
4.4.6 使用模板部署MySQL主從復制134
4.4.7 MySQL主從復制的限制與不足136
4.4.8 CDC方案的選擇136
4.5 本章小結138
第三部分 金融企業(yè)的分布式架構與分布式事務
第5章 金融行業(yè)的IT分布式趨勢141
5.1 應用架構分布式演進141
5.1.1 應用服務器技術演進142
5.1.2 微服務拆分案例147
5.2 分布式應用開發(fā)框架選型152
5.2.1 Spring為什么一直很受歡迎152
5.2.2 Dubbo分布式開發(fā)框架155
5.2.3 某銀行微服務開發(fā)框架選型規(guī)范159
5.3 金融行業(yè)案例分析161
5.3.1 M銀行SDN網絡資源池建設163
5.3.2 H銀行微服務架構下軟負載資源池的應用165
5.4 本章小結166
第6章 微服務注冊發(fā)現(xiàn)與開放API平臺167
6.1 微服務應用在Kubernetes內的注冊與發(fā)現(xiàn)機制167
6.1.1 Kubernetes自身分布式架構分析167
6.1.2 Kubernetes上微服務應用的注冊與發(fā)現(xiàn)169
6.2 容器應用發(fā)布174
6.2.1 容器應用發(fā)布三大方案174
6.2.2 容器應用發(fā)布建設方案選型建議182
6.2.3 M銀行容器應用發(fā)布案例184
6.3 全局注冊中心與服務發(fā)現(xiàn)185
6.3.1 七層應用注冊中心建設186
6.3.2 四層應用注冊中心建設189
6.4 開放API技術平臺191
6.4.1 API網關與API安全193
6.4.2 API管理系統(tǒng)201
6.5 本章小結206
第7章 分布式事務的架構與實現(xiàn)207
7.1 分布式事務概述207
7.1.1 什么是事務207
7.1.2 分布式事務產生的原因208
7.1.3 分布式事務的整體實現(xiàn)方式209
7.2 單體應用的拆分210
7.2.1 單體應用到微服務的演進210
7.2.2 按照業(yè)務領域進行垂直拆分213
7.2.3 關系型數(shù)據(jù)庫的分庫分表215
7.2.4 再拆分217
7.2.5 按照功能進行水平拆分219
7.2.6 微服務架構的異步實現(xiàn)220
7.3 分布式事務在微服務中的實現(xiàn)221
7.3.1 剛性事務2PC的實現(xiàn)222
7.3.2 柔性事務中事務消息的實現(xiàn)223
7.3.3 通過RocketMQ半消息實現(xiàn)事務消息224
7.3.4 通過本地事務表實現(xiàn)事務消息225
7.4 本章小結231
第8章 分布式事務的實踐232
8.1 業(yè)務高可用的考量232
8.2 應用的無狀態(tài)設計233
8.3 性能設計235
8.4 應用的無狀態(tài)化事務的冪等性設計239
8.5 分布式鎖的設計241
8.6 緩存一致性考量244
8.7 Redis Cluster的跨數(shù)據(jù)中心復制246
8.8 微服務間的通信協(xié)議和消息格式247
8.9 消息中間件的考量250
8.10 分布式追蹤系統(tǒng)的考量252
8.11 本章小結254
第四部分 金融企業(yè)的穩(wěn)態(tài)與敏態(tài)安全
第9章 金融行業(yè)安全現(xiàn)狀與建設思路257
9.1 某銀行安全攻防對抗紀實257
9.2 安全監(jiān)管法律法規(guī)與國家護網行動260
9.3 某銀行信息安全建設思路分享263
9.4 本章小結266
第10章 穩(wěn)態(tài)中心安全建設267
10.1 防火墻267
10.2 SSL卸載設備270
10.3 基于數(shù)據(jù)中心的應用安全防護272
10.4 安全設備編排方案276
10.5 本章小結279
第11章 敏態(tài)中心安全建設280
11.1 主動防御可編程蜜罐280
11.2 iptables防火墻在云原生中的應用283
11.3 軟件化SSL卸載資源池289
11.4 基于單個應用的安全防護293
11.5 開放API技術平臺安全能力建設298
11.5.1 金融開放生態(tài)安全方法論298
11.5.2 API技術平臺安全建設實踐302
11.6 本章小結310
第五部分 金融企業(yè)的自動化運維
第12章 基于Ansible的自動化運維312
12.1 Ansible項目配置管理314
12.2 Ansible項目主機管理318
12.3 Ansible項目任務管理326
12.4 Ansible項目輸出管理340
12.5 Ansible項目實踐345
12.6 本章小結347
第13章 RHEL的性能優(yōu)化與配置管理348
13.1 RHEL 7與RHEL 8的技術參數(shù)與生命周期348
13.1.1 RHEL 7的技術參數(shù)與生命周期348
13.1.2 RHEL 8的新特性350
13.2 RHEL 8的性能調優(yōu)與管理355
13.2.1 RHEL 8的性能調優(yōu)工具355
13.2.2 自定義性能配置文件357
13.2.3 利用Ansible Role實現(xiàn)RHEL 8的自動化管理359
13.3 Z客戶實現(xiàn)RHEL的補丁管理和配置管理362
13.3.1 客戶對RHEL操作系統(tǒng)的管理需求362
13.3.2 實施環(huán)境總體架構363
13.4 C客戶使用Ansible管理大規(guī)模Linux的設計與優(yōu)化365
13.4.1 C客戶使用Ansible管理2000個異地Linux系統(tǒng)365
13.4.2 Ansible的調優(yōu)368
13.4.3 Ansible優(yōu)化前后對比373
13.4.4 Ansible安全374
13.5 本章小結376
第14章 虛擬化與分布式存儲377
14.1 虛擬化方案的選擇377
14.1.1 KVM大量普及377
14.1.2 傳統(tǒng)KVM虛擬化方案的選擇377
14.1.3 Kubernetes統(tǒng)一納管的虛擬化380
14.2 F公司OpenStack案例382
14.2.1 項目背景382
14.2.2 需求分析382
14.2.3 建設目標382
14.2.4 總體架構383
14.2.5 云主機容量評估386
14.2.6 項目收益387
14.3 存儲虛擬化的選擇387
14.3.1 Ceph的背景387
14.3.2 Ceph的架構388
14.3.3 Ceph的配置規(guī)范389
14.4 T客戶案例389
14.4.1 案例背景390
14.4.2 紅帽Ceph節(jié)點服務器配置391
14.4.3 BlueStore的設計392
14.4.4 故障域設計393
14.4.5 網絡設計394
14.5 本章小結395