未來五到十年主流的系統(tǒng)架構(gòu)設計思想
云計算在經(jīng)歷了多年的發(fā)展后已經(jīng)成為主流,F(xiàn)在,無論是企業(yè)建設新系統(tǒng),還是新的創(chuàng)業(yè)公司建設系統(tǒng),都會默認選擇基于云來構(gòu)建。而且,越來越多的企業(yè)選擇將已有系統(tǒng)遷移至云上。在這樣的兩個場景中,都需要面對如何設計一個基于云的系統(tǒng)架構(gòu),充分發(fā)揮新一代架構(gòu)的優(yōu)勢,進而帶來業(yè)務提升的問題。這個問題對企業(yè)的業(yè)務決策者及技術(shù)架構(gòu)團隊都是不小的挑戰(zhàn),更顯而易見的是,基于云的新一代系統(tǒng)架構(gòu)將成為未來五到十年內(nèi)的主流架構(gòu)。
在系統(tǒng)架構(gòu)層面,云帶來的絕不僅僅是 IaaS 或者說機器資源層面的變化,云提供的服務越來越多,更好地直接基于這些云服務(例如存儲、數(shù)據(jù)庫等),而不是靠自研來設計相應的業(yè)務系統(tǒng),將給企業(yè)業(yè)務的迭代效率帶來質(zhì)的提升。除此之外,互聯(lián)網(wǎng)公司本身基于云的實踐,也催生了諸如業(yè)務中臺、數(shù)據(jù)中臺等新的設計理念,這些創(chuàng)新會為業(yè)務業(yè)績帶來實際的提升。
在本書中,來自阿里云智能 - 全球技術(shù)服務團隊的作者很好地回答了上面的問題,詳細闡述了如何基于云的設計理念來設計新一代的系統(tǒng),以及如何將關(guān)鍵的應用、數(shù)據(jù)庫、大數(shù)據(jù)等改造、搬遷上云。由于作者都具有非常豐富的實踐經(jīng)驗,書中更給出了多個實際案例,并進行了剖析,讀者能夠更好地掌握這套方法論。
強烈建議企業(yè)業(yè)務的決策者、業(yè)務系統(tǒng)的架構(gòu)師團隊閱讀此書,以便掌握新一代基于云的設計理念,構(gòu)建基于新理念的業(yè)務系統(tǒng),從而為業(yè)務創(chuàng)造更大的價值。
本書的出版依賴于阿里云智能 - 全球技術(shù)服務事業(yè)部和數(shù)據(jù)庫產(chǎn)品事業(yè)部同學們的努力,感謝所有為本書出版付出努力的同學與工作者:
第 1、2 章:金建明(花名錚明)、譚虎(花名凈能)
第 3 章:何龍(花名周翰)
第 4 章:姜琛(花名昊藍)
第 5 章:彭義評(花名馬柯)、何強(花名回雁)
第 6 章:彭義評、何強
第 7 章:樊文凱(花名唐修)
第 8 ~ 9 章:彭義評
第 10 章:劉洪濤(花名弘銳)、羅海偉(花名一斅)、陳焰(花名傳學)
第 11 章:曾遲(花名沙陌)、崔迪(花名飲冰)
全書內(nèi)容策劃與出版統(tǒng)籌:何強
鑒于技術(shù)的飛速發(fā)展,加之作者的學識有限,本書難免存在疏漏與欠缺,期待各位同行和讀者的批評與指正。
阿里云智能技術(shù)交付總經(jīng)理 畢玄
2019 年 8 月
序
前言
第 1 章 云計算時代的到來
1.1 云計算的起源
1.2 云計算的概念
1.3 云服務的發(fā)展現(xiàn)狀
1.3.1 DaaS
1.3.2 SaaS
1.3.3 PaaS
1.3.4 IaaS
1.4 云計算的未來
第 2 章 企業(yè)數(shù)字化轉(zhuǎn)型與企業(yè)遷云
2.1 企業(yè)數(shù)字化轉(zhuǎn)型之路
2.2 數(shù)字化轉(zhuǎn)型后 IT 管理的改變
2.3 企業(yè)數(shù)字化轉(zhuǎn)型的方法
2.4 數(shù)字化轉(zhuǎn)型的云端實踐
2.4.1 12306
2.4.2 天貓雙十一
2.4.3 視頻點播 / 直播類網(wǎng)站
第 3 章 云上通用架構(gòu)設計與改造
3.1 網(wǎng)絡架構(gòu)設計
3.1.1 網(wǎng)絡產(chǎn)品簡介
3.1.2 網(wǎng)絡接入與規(guī)劃
3.1.3 混合云架構(gòu)實踐
3.2 云上運維管理架構(gòu)設計
3.2.1 基于 RAM 實現(xiàn)賬號權(quán)限管理方案
3.2.2 云上開發(fā)、測試、生產(chǎn)環(huán)境管理方案
3.3 云上安全管理
3.3.1 云上應用安全保障方案
3.3.2 云上安全管理實踐
3.4 應用架構(gòu)設計
3.4.1 負載均衡
3.4.2 可擴展性
3.4.3 微服務
3.4.4 異步化
3.4.5 高可用與容災
3.4.6 云數(shù)據(jù)庫架構(gòu)實踐
3.4.7 大數(shù)據(jù)處理技術(shù)架構(gòu)
3.5 應用改造實踐
3.5.1 應用架構(gòu)改造
3.5.2 數(shù)據(jù)庫改造
3.5.3 文件存儲改造
3.5.4 大數(shù)據(jù)實時計算應用改造
3.5.5 大數(shù)據(jù)離線分析應用改造
第 4 章 業(yè)務中臺
4.1 什么是業(yè)務中臺
4.2 業(yè)務中臺的價值
4.2.1 煙囪式系統(tǒng)開發(fā)方法
4.2.2 基于業(yè)務中臺的系統(tǒng)開發(fā)
4.3 業(yè)務中臺的實踐過程
4.4 需求調(diào)研
4.4.1 需求調(diào)研前的準備工作
4.4.2 開始調(diào)研
4.4.3 調(diào)研內(nèi)容
4.4.4 業(yè)務調(diào)研分析
4.5 企業(yè)業(yè)務中臺的演進路線
4.6 業(yè)務中臺的設計方案和原則
4.6.1 業(yè)務中臺的核心共享服務中心
4.6.2 業(yè)務中臺的設計方法
4.7 業(yè)務中臺的實踐
4.7.1 業(yè)務中臺的最佳技術(shù)實踐方式微服務
4.7.2 微服務的業(yè)務拆分原則
4.7.3 微服務的架構(gòu)設計
4.7.4 微服務技術(shù)框架選型
4.7.5 EDAS 微服務技術(shù)框架剖析
4.8 阿里巴巴業(yè)務中臺能力輸出與案例
第 5 章 應用系統(tǒng)遷云
5.1 應用系統(tǒng)遷云的挑戰(zhàn)
5.2 系統(tǒng)遷云方法
5.2.1 遷云原則
5.2.2 遷云策略
5.2.3 遷云節(jié)奏
5.3 遷云評估
5.4 遷云的整體流程
5.4.1 系統(tǒng)調(diào)研 97
5.4.2 風險評估
5.4.3 云上架構(gòu)設計
5.4.4 系統(tǒng)改造
5.4.5 數(shù)據(jù)遷移驗證
5.4.6 功能 / 性能測試
5.4.7 系統(tǒng)割接交付
5.5 系統(tǒng)遷云技術(shù)選型
5.6 直接遷移上云
5.7 改造遷移上云
5.7.1 OLTP 類型
5.7.2 OLAP 類型
5.7.3 文件 / 內(nèi)容管理類型
5.7.4 大規(guī)模離線計算類型
5.8 云上安全保障
5.9 應用鏡像服務遷云
5.9.1 鏡像遷移概述
5.9.2 鏡像遷移可行性評估
5.9.3 鏡像遷移和轉(zhuǎn)換工具
5.9.4 阿里遷云工具
5.9.5 通用鏡像遷移方案
5.9.6 阿里云上跨 VPC 和區(qū)域、賬號鏡像遷移實踐
第 6 章 數(shù)據(jù)庫服務遷云
6.1 RDS
6.2 DRDS
6.3 異構(gòu)數(shù)據(jù)庫改造上云實踐
6.3.1 Oracle 與 MySQL
6.3.2 MySQL 開發(fā)規(guī)范
6.3.3 MySQL 表設計
6.3.4 MySQL 分布式數(shù)據(jù)庫
6.3.5 關(guān)鍵功能改造
6.3.6 RDS 性能優(yōu)化
6.3.7 RDS 控制臺
6.4 數(shù)據(jù)傳輸服務
6.4.1 DTS 產(chǎn)品架構(gòu)
6.4.2 數(shù)據(jù)遷移
6.4.3 實時同步
6.4.4 數(shù)據(jù)訂閱
6.4.5 DTS 的應用場景
第 7 章 數(shù)據(jù)庫遷云工具ADAM
7.1 數(shù)據(jù)庫遷云面臨的挑戰(zhàn)
7.1.1 傳統(tǒng)企業(yè)數(shù)據(jù)中心的現(xiàn)狀
7.1.2 傳統(tǒng)業(yè)務系統(tǒng)架構(gòu)的局限
7.1.3 數(shù)據(jù)庫架構(gòu)的選擇
7.2 ADAM 及數(shù)據(jù)庫遷云的流程
7.2.1 ADAM 概述
7.2.2 ADAM 遷云的流程
7.3 ADAM 數(shù)據(jù)庫采集工具
7.4 ADAM SaaS 分析平臺
7.5 ADAM SQL 在線翻譯工具
7.6 ADAM Studio
7.6.1 ADAM Studio 客戶端工具概述
7.6.2 ADAM Studio 的安裝
7.6.3 ADAM Studio 主體遷移操作
7.7 ADAM PL/SQL Java 自動轉(zhuǎn)換
7.7.1 P2J 工作原理
7.7.2 PL/SQL 轉(zhuǎn) Java 的背景
7.7.3 PL/SQL 轉(zhuǎn) Java 的難點
7.7.4 PL/SQL 轉(zhuǎn) Java 的功能特點
7.8 ADAM 一鍵遷移工具
7.9 ADAM 在項目中的實踐
第 8 章 文件存儲服務遷云
8.1 OSS 的適用場景
8.2 本地文件平滑遷移到OSS
8.2.1 遷移步驟
8.2.2 OSS 回源規(guī)則設置
8.2.3 遷移工具 OSSImport2
8.3 云上 OSS 應用實踐
8.3.1 OSS 權(quán)限控制
8.3.2 OSS 防盜鏈
8.3.3 客戶端直傳 OSS 的實踐
8.3.4 數(shù)據(jù)傳輸完整性校驗
第 9 章 云上應用容量評估與優(yōu)化
9.1 應用容量規(guī)劃概述
9.2 應用容量壓測評估方法
9.3 應用容量評估工具
9.4 應用監(jiān)控與彈性伸縮
9.5 應用性能容量評估及優(yōu)化案例
第 10 章 大數(shù)據(jù)上云 273
10.1 大數(shù)據(jù)上云概述
10.1.1 阿里云大數(shù)據(jù)架構(gòu)
10.1.2 阿里云大數(shù)據(jù)產(chǎn)品介紹
10.1.3 大數(shù)據(jù)上云工具
10.1.4 大數(shù)據(jù)上云的優(yōu)勢
10.1.5 大數(shù)據(jù)處理場景
10.1.6 常見的大數(shù)據(jù)上云方案
10.2 大數(shù)據(jù)上云工具
10.2.1 客戶調(diào)研
10.2.2 資源評估
10.2.3 數(shù)據(jù)上云
10.2.4 業(yè)務邏輯上云
10.3 大數(shù)據(jù)上云(E-MapReduce)
10.3.1 準備工作
10.3.2 資源評估
10.3.3 數(shù)據(jù)遷移
10.3.4 Hive 遷移
10.3.5 作業(yè)部署
10.3.6 雙跑和校驗
10.4 大數(shù)據(jù)上云案例
10.4.1 某氣象企業(yè)數(shù)據(jù)上云案例
10.4.2 某直播企業(yè)數(shù)據(jù)上云案例
10.4.3 某政務平臺數(shù)據(jù)上云案例
第 11 章 企業(yè)遷云綜合案例
11.1 交通管理行業(yè)案例
11.1.1 行業(yè)背景
11.1.2 OLTP 系統(tǒng)遷云
11.1.3 典型 OLTP 系統(tǒng)平滑遷云
11.1.4 大規(guī)模離線計算系統(tǒng)遷云
11.1.5 典型的大規(guī)模離線計算系統(tǒng)遷云
11.1.6 遷云后的變化
11.2 互聯(lián)網(wǎng)金融行業(yè)案例
11.2.1 遷云背景
11.2.2 遷云解決方案
11.2.3 遷云過程中的問題剖析
11.2.4 遷云后的變化