1. 程式人生 > >大規模服務設計部署經驗談(1) | 引言

大規模服務設計部署經驗談(1) | 引言

本文中提出的最佳實踐,來自於作者多年大規模服務設計和部署的經驗,為設計、開發對運營友好的服務提供了一系列良好的解決方案。

■文/James Hamilton 譯/賴翥翔

1               引言

本文就設計和開發運營友好的服務的話題進行總結,得出一系列最佳實踐。設計和部署大規模服務是一個高速發展的領域,因而隨著時間的流逝,任何最佳實踐集合都可能成熟並完善。我們的目的是為了幫助人們:

l      快速交付運營友好的服務;

l      避免清早電話鈴聲的騷擾,幫助備受運營不友好的服務侵擾的客戶儘量擺脫窘境。

這篇論文是我們在過去的20年中在大規模以資料為中心的軟體系統和網際網路級大規模服務的智慧結晶,包括Exchange Hosted Services 團隊、Microsoft Global Foundation Services

Operations團隊以及Windows Live! 平臺多個團隊的經驗。這些貢獻經驗的服務中,有不少規模已經增長到擁有超過二億五千萬名使用者。同時,本論文也大量吸取了加州大學伯克利分校

在面向恢復計算(Recovery Oriented Computing)方面取得的成果和斯坦福大學在只崩潰軟體(Crash-Only Software)方面的研究經驗。

Bill Hoffman為本論文貢獻許多最佳實踐。此外,他還提出三條簡單原則,值得大家在進入正題之前進行考量:

1. 做好發生故障的心理準備。

2. 保持簡單化。

3. 將所有的工作自動化。

這三條原則形成了貫穿後續討論的主軸。

本文的十個小節涵蓋了設計和部署運營友好服務所必須做到的各個方面。它們是:整體服務設計;以自動化和預置(Provisioning)為目標進行設計;依賴關係管理;釋出週期及測試;硬體的選擇和標準化;運營和容量規劃;稽核、監控和警報;體面降級和管理控制;客戶及媒體溝通計劃;以及客戶自我預置和自我幫助。