內容簡介
本書分為兩個部分——設計和運營。一部分捕捉我們在大規模、復雜、基於雲的分布式計算係統設計上的想法。在引言之後,我們從底嚮上逐層介紹設計的每個要素。我們從係統管理員(而非計算機科學傢)的角度介紹分布式係統,要運營一個係統就必須理解其內部原理。第二部分描述如何運營這些係統。前麵幾章介紹基本的問題。後麵幾章深入更為復雜的技術活動,然後是概要規劃和將以上要素組閤起來的戰略。
目錄
第一部分設計:構建係統
第1章分布式世界中的設計概述分布式係統的設計
第2章為運營而設計為瞭實現平穩運營而應該具備的軟件功能
第3章選擇服務平颱物理機和虛擬機,私有雲和公共雲
第4章應用程序架構創建Web和其他應用程序的基本組件
第5章伸縮性設計模式擴增服務所用的基本組件
第6章彈性設計模式
創建可幸免於故障的係統的基本組件
第二部分運營:運行係統
第7章分布式世界中的運營
分布式係統運行方式概述
第8章 DevOps文化
DevOps文化、曆史和實踐簡介
第9章服務交付:構建階段
如何構建服務和準備投産
第1 0章服務交付:部署階段
服務如何測試、批準和投産
第11章升級運行中的服務
如何在不停機的情況下升級服務
第1 2章 自動化
創建工具和自動化運營工作
第1 3章設計文檔
書麵交流設計和意圖
第14章隨時待命
處理異常情況
第1 5章災難準備
通過規劃和實踐強化係統
第1 6章監控基礎知識
監控術語和策略
第1 7章監控架構與實踐
監控組件和方法
第1 8章容量規劃
在需要之前規劃並提供附加資源
第19章建立KPI
通過計量和反思科學地推動行為
第20章卓越運營
持續改善的戰略
第三部分附錄
附錄A評估
附錄B分布式計算和雲的起源及未來
附錄C伸縮性術語和概念
附錄D模闆和示例
附錄E推薦讀物
後記
參考文獻
前言/序言
下麵的錶述是否真實?1)最為可靠的係統是使用廉價、不可靠的組件構建的。 2) Google為數十億用戶服務所用的技術遵循的模式,與你處理數韆名用戶的係統所遵循的模式相同。 3)某種過程的風險越大,你越應該嘗試。 4)某些最重要的軟件功能是用戶從未發現的。 5)你應該隨意選擇一些機器,並關閉其電源。 6) Facebook在接下來六個月中所要發布的代碼,其功能可能已經在你的瀏覽器中齣現瞭。 7)每天多次更新軟件所需要的人工很少。 8)隨時待命並不一定是一種緊張、痛苦的體驗。 9)你不應該監控機器是否啓動。 10)運營和管理可以通過試驗和證明的科學原理進行。 11)Google已經對僵屍攻擊時的對策進行瞭演練。 這些錶述都是真實的,當你讀完本書,就會知道原因。 本書講述的是大規模雲服務(數百萬甚至數十億用戶使用的基於互聯網的服務)的構建和運行。每天,都有越來越多的企業采用這些技術,因此,本書是為所有人寫的。 本書的目標讀者是係統管理員和他們的經理。你無需計算機科學的背景,但是你應該有Unix/Linux係統管理、聯網的經驗,以及操作係統的概念。 我們重點關注構建和運營組成“雲”的服務,而不是指導雲服務的使用。 雲服務必須是可用的、快速的和安全的。考慮到雲的規模,這將是獨特而傑齣的工程成就。因此,雲規模服務設計不同於典型的企業服務。可用性很重要,因為互聯網是7×24開放的,用戶處於各個時區。快速的重要性在於用戶會因為慢速的服務而感到沮喪,所以緩慢的服務會被更快的競爭者所取代。安全的重要性則在於,作為他人數據的托管者,我們義不容辭(而且負有法律責任)地要保護人們的數據。 這些要求是互相交織的。如果網站不安全,當然也就不可能可靠。如果網站速度不快,可用性也就不足。如果網站下綫,當然就不可能快速。 最明顯的雲規模服務是網站。但是,還有一個巨大的無形互聯網訪問服務生態係統,這些服務不是通過瀏覽器訪問的。例如,智能手機應用通過API調用訪問雲服務。 在本書餘下的部分中,我們傾嚮於使用“分布式計算”而非“雲計算”。雲計算是一個營銷用語,對不同的人有不同的含義。分布式計算描述瞭使用許多機器(而非單一機器)提供應用程序和服務的一種架構。 本書介紹的是不受時間影響的基本原理及方法。因此,我們不推薦使用特定的産品或者技術。我們可以提供前5種最流行的Web服務器、NoSQL數據庫或者持續構建係統的對比,但是如果這麼做,本書就會在齣版的那一刻過時。相反,我們討論的是選擇這些係統時應該注意的特質,提供一種工作模式。這種方法的意圖是幫助你在技術不斷變化的漫長職業生涯中始終做好準備。當然,我們將用具體的技術和産品說明我們的觀點,但是不代錶我們支持這些産品和服務。 本書有時看似理想化,這是故意為之。我們想為讀者提供事物將會如何發展、該堅持什麼原則的願景,目的是更上一層樓。 關於本書本書分為兩個部分——設計和運營。 第一部分捕捉我們在大規模、復雜、基於雲的分布式計算係統設計上的想法。在引言之後,我們從下嚮上逐層介紹設計的每個要素。我們從係統管理員(而非計算機科學傢)的角度介紹分布式係統,要運營一個係統就必須理解其內部原理。 第二部分描述如何運營這些係統。前麵幾章介紹最基本的問題。後麵幾章深入更為復雜的技術活動,然後是概要規劃和將以上要素組閤起來的戰略。 最後是附加材料,包括運營團隊的評估係統、被歪麯的分布式計算曆史、正文中提及的錶單模闆、建議閱讀的材料以及其他參考材料。 我們滿懷興奮之情介紹本係列書籍中的一個新特徵:運營評估係統。這個係統由一係列評估活動組成,你可以用它們評估自己的運營,找齣需要改進的領域。評估問題和“搜索”建議可以在附錄A中找到。第20章是該係統的說明。 緻謝沒有我們所在社區及來自全球的幫助及反饋,本書就不可能齣版。DevOps社區慷4慨地提供瞭幫助。 首先,我們要感謝我們愛人和傢人:Christine Polk、Mike Chalup、Eliot和Joanna Lear。 他們的愛和耐心成就瞭一切。 之所以我們能夠看得更遠,那是因為我們站在巨人的肩上。某些章節在很大程度上得到瞭下列人士的支持和建議:John Looney和Cian Synnott(第1章);Marty Abbott和Michael Fisher(第5章);Damon Edwards Alex Honor和Jez Humble(第9章和第10章);John Allspaw(第12章);Brent Chapman(第15章);Caskey Dickson和Theo Schlossnagle(第16章和17章);Arun Kejariwal和Bruce Yan(第18章);Benjamin Treynor Sloss(第19章);Geoff Halprin(第20章和附錄A)o感謝Gene Kim“有策略”的啓發和鼓勵。有幾十位人士幫助過我們——有些人提供奇聞軼事,有些人審核某些部分或者整本書。感謝他們所有人的公平方式是按照字母順序排列,並預先嚮我們遺漏的所有人道歉:Thomas Baden. George Beech. RaymondBlum. Kyle Brandt. Mark Burgess. Nick Craver. Geoff Dalgas Robert P.J.Day,Patrick Debois. Bill Duane. Paul Evans. David Fullerton. Tom Geller. Peter Grace.Elizabeth Hamon Reid. Jim Hickstein Zachary Hueras. Matt Jones. Jennifer Joy. JimmyKaplowitz. Daniel v.Klein. Steven Levine. Cory Lueninghoener. Shane Madden. JimMaurer. Stephen McHenry. Dinah McNutt. Scott Hazen Mueller Steve Murawski. MohitMuthanna. Lenny Rachitsky. Amy Rich. Adele Shakal Bart Silverstrim. Josh Simon.Joel Spolsky. Desiree Sylvester. Win Treese. Todd Underwood Nicole Forsgren Velasquez和Dave Zwiebacko最後(但並非不重要),感謝Addison-Wesley的所有人,特彆要感謝Debra WilliamsCauley將我們引見給Addison-Wesley,並在整個過程中為我們掌舵;感謝Michael Thurston對本書初稿的編輯和改進,使之更加完美;感謝Kim Boedigheimer的協調工作以及在我們驚慌的時候幫助我們保持鎮靜;感謝我們的LaTeX奇纔Lori Hughes;感謝産品經理Julie Nahil;感謝文字編輯Jill Hobbs;還要感謝John Fuller和Mark Taub忍受我們的特殊要求! 第一部分設計:構建係統第1章分布式世界中的設計概述分布式係統的設計。 第2章為運營而設計為瞭實現平穩運營而應該具備的軟件功能。 第3章選擇服務平颱物理機和虛擬機,私有雲和公共雲。 第4章應用程序架構創建Web和其他應用程序的基本組件。 第5章伸縮性設計模式擴增服務所用的基本組件。 ?第6章彈性設計模式 創建可幸免於故障的係統的基本組件。 第二部分運營:運行係統 第7章分布式世界中的運營 分布式係統運行方式概述。 第8章 DevOps文化 DevOps文化、曆史和實踐簡介。 第9章服務交付:構建階段 如何構建服務和準備投産。 第1 0章服務交付:部署階段 服務如何測試、批準和投産。 第11章升級運行中的服務 如何在不停機的情況下升級服務。 第1 2章 自動化 創建工具和自動化運營工作。 第1 3章設計文檔 書麵交流設計和意圖。 第14章隨時待命 處理異常情況。 第1 5章災難準備 通過規劃和實踐強化係統。 第1 6章監控基礎知識 監控術語和策略。 第1 7章監控架構與實踐 監控組件和方法。 第1 8章容量規劃 在需要之前規劃並提供附加資源。 第19章建立KPI 通過計量和反思科學地推動行為。 第20章卓越運營 持續改善的戰略。 第三部分附錄 附錄A評估 ?附錄B分布式計算和雲的起源及未來 附錄C伸縮性術語和概念 附錄D模闆和示例 附錄E推薦讀物 後記 最後的一些想法。 參考文獻
雲係統管理:大規模分布式係統設計與運營 下載 mobi epub pdf txt 電子書 格式