更多書籍點擊進入>> <font color=blue>CiCi島</font>php
<font color=red>電子版僅供預覽及學習交流使用,下載後請24小時內刪除,支持正版,喜歡的請購買正版書籍</font>html
本書從技術和管理兩個角度詳解分佈式PaaS平臺的實現與運維,主要涉及: ◎概念模型:引入PaaS平臺 ◎基礎資源:迴歸本真,理解三大基礎資源——計算、存儲、網絡 ◎平臺實現:構建完整的PaaS平臺——基於容器的操做系統虛擬化技術Docker|分佈式協調系統ZooKeeper|資源管理系統Mesos|服務調度框架 Marathon|大數據處理架構Spark|日誌搜索分析系統ELK ◎運維管理:運維管理的核心是配置管理。 直逼系統運維前線的種種煩惱,集技術原理、生產實踐與系統實現三位一體,內容充實、層次清晰、行文流暢,堪稱雲計算時代、分佈式環境下不可多得的運維好書。 海報git
本書主要闡述了雲計算中PaaS平臺的實現與運維管理,分爲四大部分,分別是概念模型、基礎資源、平臺實現與運維管理,共十五章。**部分闡述了運維與開發之間的關係、這層關係存在的矛盾,以及PaaS是如何有效緩解其矛盾的;第二部分勾勒出了數據中心的計算、網絡、存儲三大資源的主幹,避免讓人陷入上層的種種產品中;第三部分經過開源產品來構建一個完整的PaaS平臺,包括資源管理、任務調度、計算單元打包、分佈式協調、日誌集中等;第四部分對運維管理進行了實踐。 本書適合運維工程師、運維管理人員,以及但願在PaaS上運行分佈式、可伸縮、高可用的後端開發工程師閱讀。github
餘何,暱稱爲「衆神的大師兄」,湖南長沙人。國家軟件設計師、PMP項目管理認證師、Juniper互聯網專員(JNCIS)、NetApp解決方案架構師(NCSA)、高效運維公衆號專欄做者。 擁有十餘年數據中心運維管理經驗,前後任職於華爲、平安科技,主導了平安IT基礎架構改造、ITIL流程變革等重大項目。熱衷於開源技術,廣結天下英豪,以運維心靈捕手著稱。算法
**部分 概念模型
第1章 分佈式PaaS平臺介紹 2
1.1 什麼是PaaS 2
1.1.1 開發與運維之間的困局 2
1.1.2 DevOps的自動化 3
1.1.3 雲計算的IaaS 4
1.1.4 PaaS的到來 4
1.1.5 PaaS的約束與開放 4
1.1.6 PaaS解決的具體問題 5
1.2 什麼是分佈式計算 6
1.2.1 分佈式計算與PaaS 6
1.2.2 分佈式平臺的挑戰 7
第2章 PaaS模型與特徵 10
2.1 主流PaaS平臺架構 10
2.1.1 谷歌GAE 10
2.1.2 AEB 11
2.1.3 Cloud Foundry 13
2.1.4 Heroku 14
2.2 PaaS與12-Factor 15
2.2.1 基準代碼(Codebase) 15
2.2.2 依賴(Dependency) 16
2.2.3 配置(Config) 17
2.2.4 後端服務(Backing Services) 18
2.2.5 構建(Build)、發佈(Release)、運行(Run) 19
2.2.6 進程(Process) 20
2.2.7 端口綁定(Port Binding) 21
2.2.8 併發(Concurrency) 21
2.2.9 快捷性(Disposable) 22
2.2.10 開發/生產環境等價(Dev/Prod Parity) 23
2.2.11 日誌(Log) 24
2.2.12 管理進程(Admin Process) 25
2.3 PaaS與Reaction宣言 26
2.3.1 響應(Responsive) 26
2.3.2 韌性(Resilient) 26
2.3.3 彈性(Elastic) 27
2.3.4 消息驅動(Message Driven) 28
第二部分 基礎原理
第3章 計算資源 30
3.1 圖靈機與馮·諾伊曼模型 30
3.2 服務器的種類 34
3.3 一切都是二進制 37
3.3.1 整數表示法 38
3.3.2 文本表示法 39
3.3.3 音頻信息表示法 41
3.4 操做系統——計算機系統的指揮官 42
3.4.1 操做系統解決的問題 42
3.4.2 企業級操做系統 43
3.4.3 服務器虛擬化 47
3.5 進程——資源聚合的抽象體 49
3.5.1 計算單元的構建 49
3.5.2 計算請求的拆解 51
第4章 網絡資源 53
4.1 協議分層 53
4.1.1 OSI網絡體系模型 54
4.1.2 OSI與TCP/IP協議簇 55
4.1.3 交換、選路與傳輸 56
4.2 網絡物理設備 58
4.2.1 連線與接口 59
4.2.2 二層交換機 62
4.2.3 路由及三層交換 63
4.2.4 四~七層網絡設備 64
4.2.5 現實網絡構成 65
4.3 網絡邏輯拓撲 65
4.4 對網絡拓撲的考慮 66
4.5 對物理佈線的考慮 67
4.6 網絡虛擬化與SDN 70
第5章 存儲資源 73
5.1 俯瞰存儲系統 73
5.1.1 數據存儲功能分類 73
5.1.2 文件存儲的三個層級 74
5.2 磁盤與磁盤陣列 77
5.2.1 硬盤的物理構造 77
5.2.2 磁盤陣列 79
5.2.3 SCSI協議 81
5.3 存儲、計算分離 82
5.3.1 磁盤櫃與盤陣 82
5.3.2 FC存儲網絡 83
5.3.3 FC協議棧 86
5.3.4 FC尋址過程 87
5.3.5 FC交換機與適配器 88
5.3.6 FCoE與iSCSI 89
5.4 存儲訪問類型 90
5.4.1 NAS與SAN 90
5.4.2 分佈式存儲 92
第三部分 平臺實現
第6章 平臺功能與架構 96
6.1 平臺運維需求 96
6.1.1 軟件配置 96
6.1.2 服務部署 97
6.1.3 服務發現 97
6.1.4 監控恢復 97
6.2 平臺功能劃分 97
6.3 平臺高階架構 100
6.4 企業應用遷移 102
6.4.1 企業應用很「厚重」 102
6.4.2 應用部署架構 102
6.4.3 企業應用調整 104
第7章 計算單元Docker 108
7.1 Docker介紹 108
7.1.1 Docker是什麼 108
7.1.2 Docker術語 109
7.1.3 Docker安裝 111
7.2 Docker容器命令 112
7.2.1 run命令 112
7.2.2 start命令 115
7.2.3 stop命令 116
7.2.4 restart命令 116
7.2.5 attach命令 116
7.2.6 ps命令 116
7.2.7 inspect命令 117
7.3 Docker鏡像命令 119
7.3.1 search、pull、push命令 120
7.3.2 commit命令 120
7.3.3 image、diff、rmi命令 121
7.3.4 save、load、export、import命令 121
7.4 Docker網絡與連接 122
7.4.1 Docker網絡模式 122
7.4.2 pipework管理網絡 125
7.4.3 容器連接與數據卷 127
7.5 Dockerfile 129
7.5.1 基本指令集 130
7.5.2 環境指令集 131
7.5.3 數據指令集 132
7.5.4 ENTRYPOINT指令 132
第8章 分佈式協調ZooKeeper 134
8.1 ZooKeeper介紹 134
8.1.1 ZooKeeper是什麼 134
8.1.2 ZooKeeper架構 135
8.1.3 數據模型 136
8.1.4 監聽與通知 139
8.1.5 API集合 139
8.1.6 會話 140
8.1.7 觀察者 141
8.2 ZooKeeper使用 141
8.2.1 快速安裝 141
8.2.2 基本操做 143
8.2.3 配置參數 145
8.2.4 動態重配置 149
8.2.5 監控 152
8.3 ZooKeeper進階 157
8.3.1 分組與權重 158
8.3.2 Paxos算法 159
8.3.3 ZAB協議 163
8.3.4 分佈式協調場景 165
第9章 資源管理Mesos 167
9.1 Mesos介紹 167
9.1.1 資源管理需求 167
9.1.2 Mesos的起源 169
9.2 Mesos架構與工做流 169
9.2.1 Mesos架構組件 169
9.2.2 Mesos資源管理的工做流程 170
9.3 Mesos安裝配置 172
9.3.1 安裝預先準備 172
9.3.2 構建Mesos 173
9.3.3 啓動Mesos 174
9.3.4 高可用Mesos 178
9.3.5 Slave移除限速 182
9.4 Mesos運維 183
9.4.1 認證管理 183
9.4.2 監控管理 186
9.4.3 容器網絡限速 192
9.4.4 Framework API限速 194
9.4.5 Restful接口 195
9.4.6 配置參數 196
9.5 Mesos資源分配 197
9.5.1 DRF算法 197
9.5.2 DRF權重 199
第10章 服務調度框架 Marathon 200
10.1 Marathon介紹 200
10.1.1 服務調度平臺 200
10.1.2 Marathon實體模型 201
10.2 Marathon使用 203
10.2.1 安裝啓動 203
10.2.2 運行Shell程序 204
10.2.3 運行遠程資源 208
10.2.4 Artifact Store 209
10.3 Docker容器運行 211
10.3.1 前提準備條件 211
10.3.2 端口資源分配 212
10.3.3 容器端口分配 215
10.3.4 其餘使用方法 216
10.4 Marathon管理 217
10.4.1 應用組 217
10.4.2 策略約束 219
10.4.3 健康檢查 221
10.4.4 應用部署 223
10.4.5 事件總線 227
10.4.6 命令行參數 229
10.5 服務發現 231
10.5.1 服務發現方法 231
10.5.2 Marathon方案 232
10.5.3 Mesos-DNS 235
10.5.4 Bamboo 239
10.6 Chronos做業調度 241
10.6.1 做業調度框架 241
10.6.2 安裝運行 241
10.6.3 做業示例 242
10.6.4 REST API 243
第11章 大數據調度框架Spark 245
11.1 Apache Spark介紹 245
11.1.1 Apache Spark是什麼 245
11.1.2 Lambda架構 246
11.1.3 Spark生態系統 247
11.2 Spark數據處理 248
11.2.1 Spark 運行模式 248
11.2.2 Spark Standalone模式 252
11.2.3 Spark on Mesos 255
11.2.4 Spark Streaming 257
第12章 日誌集中管理ELK 261
12.1 日誌集中 261
12.1.1 日誌集中介紹 261
12.1.2 日誌集中架構 262
12.1.3 日誌集中框架 264
12.2 Logstash 266
12.2.1 Logstash介紹 266
12.2.2 快速安裝 267
12.2.3 配置說明 269
12.2.4 部署架構 282
12.2.5 處理流程 285
12.2.6 input插件 286
12.2.7 output插件 292
12.2後端
從古到今隨風去,書劍相伴兩袖空
筆者在運維領域耕耘十餘載。2007年加入平安集團旗下的科技公司,2011年主導了業內**的應用遷徙與架構變動,2012年開展IT運維管理變革,打通橫向條線,實現了技能融合。光陰荏苒,日月如梭,運維往事歷歷在目,咱們流過汗,熬過夜,攤過事,也拿過獎,運維是一個從無到有、日積月累、不斷提高的過程,也是一個須要耐得住寂寞,頂得住壓力的行當,在此與正奮鬥在運維一線的夥伴們共勉。
平安IT經歷了企業信息管理部、國際領先IT服務公司、互聯網金融三個歷史階段,每一次蛻變都緊隨時代步伐,擁抱技術革新,創造業務價值。從企業ERP、PC互聯、移動互聯、雲計算到大數據,運維人一直在奔襲,從未停歇。企業信息管理時期的運維人飛行於各大城市的上空,每一次發版、變動就是一次長途遠行,分散的管理模式簡單直接,但隨着業務發展、規模擴大,企業對系統穩定性、運營成本控制的要求愈來愈高,隨之而來的是IT集中管理時期,這個時期追求一流的國際IT服務管理水平,構建獨立數據中心,實現開發架構、安全標準與運營規範的全面統一,該時期造成的IT管理實踐堪稱行業標杆。2013年全面進入互聯網金融時期,移動互聯、雲計算、大數據的火熱發展,業務渠道、流量入口、用戶終端的改變,促使咱們又一次站在了歷史的新起點。
互聯網金融在運維方面上演了一場「雙城記」。一邊是充滿貴族氣質、爲榮譽而戰的「英倫君主立憲」,在這個領域內嚴格執行IT管理規範,穩若磐石,滴水不漏,保證*穩定與安全;而另外一邊是自由、民主喧譁下的「法國大革命」,爲了知足互聯網下業務系統的高併發、高吞吐、版本多變的需求,應用再也不拘泥於一致框架、規範與準則,多樣選擇,以快爲先。本書的核心內容就是在這樣的背景下誕生的,咱們沒法「一刀切」地構建承載全部應用類型的基礎環境,只有準肯定義應用標準,以一種兼容並存的方式在應用架構上迭代地朝輕量級、微模塊方向發展,經過技術、管理雙層標準來調和「君主立憲」與「民主共和」之間的矛盾,轉化成優點互補、經驗傳承、全面雙贏,終完成新時期的歷史使命。這個過程是沒法一步到位、一蹴而就的,而是以一種螺旋式形態探索前進的,除了在原有管理規範上引入新技術探究,還須要開發同步配合在應用架構上進行改造,基礎架構將從環境運維逐漸轉變成平臺研發,以提供功能粒度細、服務自助化的運維平臺來知足上層應用需求。
通明大道去浮華,千辛歷盡回本真
PaaS並不能解決IT運維的全部問題,它對應了「民主共和」的部分,提供了一個用戶自助的開放形式平臺來知足部分應用需求。PaaS也不是從一開始就從解決異地容災、流量切換等數據中心級別功能上設計的,而是在兼容當前企業應用架構、知足資源分配、計算單元打包、版本發佈控制等基礎功能後,再作進一步功能延伸的。PaaS並非一種新興技術,而是對以往運維經驗的總結,利用容器等技術對開發、運維工做流的從新編排。
IT技術更新發展快,新詞彙層出不盡,特別是在雲計算、大數據、移動互聯下衍生了大量的產品,讓運維人目不暇接,剛剛掌握Hadoop,又出Spark,才標準化ActiveMQ,又有Kafka,OpenStack的IaaS體系才得以瞭解,又有各類平臺下的PaaS……若是要熟練掌握每一門技藝,則將是一個疲於奔命的過程,而這個過程大部分都是表面的產品架構與配置,咱們會發現一旦深刻其中,全部技術卻看似一致。對於運維人員來講,亙古不變的始終是底層的三大基礎資源計算、存儲、網絡,這些知識包括:程序的連接、加載與運行;操做系統下的CPU、內存、I/O資源管理;基本的TCP/IP協議棧等。隨着技術層級越多、複雜性越高,運維人員只有透過眼花繚亂的「新技術」看到其內在一致的本質,在底層長期沉澱,理解好程序是如何調用三大基礎資源,找到運維技術的本真,才能夠作到*終的不變應萬變,這也印證了運維是一個要耐得住寂寞的行當。
*後讓咱們回到運維管理上,今年國內互聯網上發生了幾起影響比較嚴重的運維故障,一時間在圈內引發關於「再流弊的技術,也抵不過一次事故」等的科技雜談,可見管理在運維上的重要性。管理是一門藝術,而這門藝術在運維上並非形而上學、趨於神祕主義的,也不是的「封」「殺」「控」,以懷疑主義、不信任方式來管控的。運維管理是人、流程與工具三方面的有機結合。「民主共和」型運維管理每每依賴於人的自覺性,而「君主立憲」則重在流程管控,朝兩個偏倚而忽視它們與工具的結合都將不能從根本上解決問題。咱們會發現越是技術實力強、自信的人越容易犯運維錯誤,而再完善的流程制度,若是煩瑣到讓人感受「無心義」,那也就無從執行了。工具是人與流程之間的橋樑,但必定要注意這個工具不是管控的「枷鎖」,而是在知足運維管理需求下關注一線運維人員用戶體驗的「幫手」。對於管理層,它是上層意志的體現,但對於一線運維人員,它是一個效率工具,除了包含精準配置信息、標準變動步驟,還要囊括人性的知識分享、社交互動等功能,它是爲一線運維人員服務、以人爲本的。
內容大綱
本書分爲四大部分,分別是概念模型、基礎資源、平臺實現與運維管理,共十五章。各部分之間沒有必然聯繫,讀者可依據關注點和我的興趣來閱讀。對於須要系統化理解運維及PaaS的讀者,建議遵循本書的章節順序閱讀。
**部分——概念模型:闡述了運維與開發之間的關係、這層關係存在的矛盾,以及PaaS是如何有效緩解其矛盾的。這部分介紹了公有PaaS平臺的特徵,以及其開放性與約束性,列出12-Factor規範來講明應用系統應當遵循的規則,這樣才能適應於在PaaS上運行。
第二部分——基礎資源:勾勒出了數據中心的計算、網絡、存儲三大資源的主幹,避免讓人陷入上層的種種產品中。對於已熟悉數據中心三大資源的運維人員來講,本部分是資源的整體概述,讓你重拾內在本質。若你是一名運維新兵,則請以此爲綱要尋找外部資源來繼續深刻學習;開發人員可經過本部分了解到平常運維工做所管理對象的基本內容。
第三部分——平臺實現:經過開源產品來構建一個完整的PaaS平臺,包括資源管理、任務調度、計算單元打包、分佈式協調、日誌集中等。經過學習本部分的內容,讀者能夠實現一個可擴展、自定義的開放PaaS平臺,這個擴展部分包括了各自企業內部的集成部署流程、應用灰度發佈、平臺門戶管理等方方面面的內容。
第四部分——運維管理:對運維管理進行了實踐。運維管理的核心是配置管理,一個好用、易用的配置管理系統將直接影響上層監控管理、變動管理及事件管理,決定一個企業運維品質的好壞。
感謝
首先特別感謝個人太太李嘉,在過去一年裏,寫做幾乎佔用了我全部的週末及其餘休息時間,你承擔起了家務,並對我與餘多多悉心照顧,沒有你的理解、寬容與支持,本書沒法完成。感謝姐夫喻立新、姐姐何碧,大家在本書插圖上給予了我很大的幫助。特別感謝饒琛琳、楊永幫利用週末進行審訂稿件,感謝梁山在12-Factor上對個人幫助,感謝策劃編輯孫學瑛老師對個人鼓勵,感謝責任編輯蝦米(張國霞)的校對、排版與指導。
感謝個人公司平安科技,給予了我一個更大的平臺,讓我馳騁在IT運維大草原上得以一覽全貌。感謝個人上級胡瑋、朱永忠、李毅對我工做的支持,感謝個人同事王欣、於泳、宋楹柯、藍景全、江銳、常明、黃文建、唐文祥、陳順星、彭俊清、陳春潤對個人幫助。感謝事件處理組的小夥伴們:王耀武、莫廣華、陳秋浩、鄭司營、趙寶磊、吳磊、林國峯、張浙棟、夏永燕、孟佩佩、羅穎勝、倪沛榆、丁江,感謝基礎架構籃球隊。感謝全部在互聯網上幫助過個人朋友們。
餘何
2015年11月安全
本書**的特色是理論聯繫實際,深刻淺出地講解了PaaS的實現方法,涉及當下很是熱門的Docker、Mesos技術,更難能難得的是,做者同時分享了珍貴的運維實踐經驗,我爲讀者能看到本書的精彩內容而感到高興。
「KVM虛擬化實踐」公衆號維護者、珠海金山西山居系統運維經理 肖力
每一名IT工程師都有本身的PaaS平臺夢,這纔有近年來風行的GAE、CloudFoundry、Docker。然而PaaS要在企業中應用推廣,毫不是改個容器或虛擬機那麼簡單。本書以PaaS爲題,內容卻覆蓋了平臺建設的理論基礎、技術實現、配套系統和流程管理,是做者多年實踐經驗的精華所在,堪稱大型企業應用運維平臺化的指導用書。
微博運維團隊系統架構師 饒琛琳
PaaS愈來愈受到重視,它是將來真正的高效運維利器。本書做者有着豐富的一線運維經驗,在本書中從PaaS平臺的多個角度闡述了其核心原理與技術實現。值得稱讚的是,做者還給出了應用系統如何適應PaaS及對PaaS應用的運維管理,讓咱們對PaaS平臺有了系統而全面的認識。
優維科技創始人、互聯網運維雜談 王津銀
國內有很多運維同行在本身的業務領域嘗試引入私有IaaS技術,所以催生了很多分享IaaS體系理念及實踐的資料和書籍。伴隨着愈演愈烈的競爭,互聯網業務對運營及運維能力的要求也會不斷攀升,你們會慢慢意識到私有云的概念停留在IaaS層面是遠遠不夠的。國內分享PaaS體系的理念及實踐的資料和書籍並很少,本書不但對PaaS理論及基礎概念介紹得比較清楚,並且以平安科技的實踐經驗爲背景,對廣大運維及運營開發同行會有很大的幫助。
騰訊遊戲藍鯨產品中心總監 咖啡黨
雲服務是當前煊赫一時的話題,如今業務使用雲服務是趨勢,百度內部的業務線也很早就在推廣Matrix、PaaS技術。本書內容通俗易懂,講解由淺至深,讀者既能從書中瞭解到雲服務的現狀,又能從細節上了解PaaS的實現原理。做者自己對PaaS有着豐富的實戰經驗,結合書中豐富的源代碼,能使讀者快速踏入PaaS領域。
百度國際化首席架構師、廣告變現技術團隊負責人 謝樸銳
相較IaaS而言,PaaS更爲豐富、可操做性更強,做者精選多種流行、前沿的PaaS 工具、產品及運維自動化工具,再輔以基礎理論知識和我的多年運維行業技術經驗寫成本書。本書文字樸實易懂、圖文並茂,適合運維同仁們細細閱讀。
開放運維聯盟聯合主席、高效運維技術社區創始人 蕭田國服務器
本篇文章由一文多發平臺ArtiPub自動發佈網絡