- 撥得云開見日出:解構一個典型的云計算系統
- 劉川意 袁玉宇
- 1226字
- 2018-12-30 15:20:01
前言
我們需要說明的第一句話是:這本書主要是寫給“要動手”的人們的!
如何構建一個云計算系統,這是從事云計算相關工作的程序員和工程師最關心的問題之一。但是很遺憾的是,市面上的絕大多數書籍主要介紹的是云計算的模式、架構、應用、接口等,無法使讀者站在一個云計算系統的內部,清楚地獲知一個典型的云計算系統是如何構成,以及如何編碼實現的。
本書以一個典型的開源基礎設施云Eucalyptus為例,解構了一個典型的云計算系統的主要構成模塊,并在源代碼層面上詳細講解了如何構建一個典型的云計算系統。更進一步的,本書通過動手實驗的方式,使讀者能直觀地掌握如何編譯一個云系統,其代碼結構是怎么樣的;并通過寫測試代碼,使讀者掌握如何去調用云系統的API,如何添加和定制化功能。
通過這本書,我們希望讀者有以下的收獲:
? 如何根據需求選擇合適的云計算系統?隨著云計算模式的逐漸普及和廣泛使用,可以想象,越來越多的企業、機構和個人用戶主要面臨的問題不再是如何采購硬件、軟件,再組織人或外包進行系統開發,然后進行系統部署和運維。他們經常要做的事情是根據應用的需求,選擇合適的云計算系統來承載相應的應用或選擇合適的云計算系統部署自己的私有云。本書在對工業界和學術界的主流云計算系統進行廣泛調研的基礎上,提出了典型的云集算系統體系結構,并以目前代表性的開源云系統為例,對主要子系統、關鍵功能和性能參數、核心技術等進行了系統的介紹和對比分析,從而為讀者分析和判斷市場上的云平臺提供了系統的評價方法。更進一步的,本書在各子系統的相應章節,通過使用該子系統的接口 API,定量測試和評價云平臺的各項指標,以及示例如何將云平臺與用戶的應用平臺進行對接。
? 從源代碼層面,一個典型的云計算系統是如何構建和實現的?我們可以發現一個普遍存在的事實:絕大多數的云計算系統,包括商業云平臺,如Amazon、Microsoft Azure等,其物理服務器的主流配置是 Linux 或 UNIX 類操作系統。而我們知道,在這類操作系統中,有大量優秀的產品級開源系統或工具可供使用和集成,如何將這些開源系統和工具用于構建云平臺?本書分別針對云計算系統的主要核心子系統,如虛擬機管理器、存儲網絡軟件、模塊互連框架等,詳細介紹了如何使用這些工具,并在此基礎上實現云計算系統的核心模塊。
? 如何實現一個產品級的云計算系統?如何尋找典型的云計算系統中有價值的關鍵技術點?本書分析的不是玩具系統或原型系統,而是真實應用于工業生產的產品系統!本書選擇的Eucalyptus私有云系統已經被世界500強中25%的企業所部署和使用。讀者以此為基礎,可以實現和構建具有商業意義和價值的關鍵技術與功能點。
最后,要特別感謝北京郵電大學可信分布式計算與服務教育部重點實驗室 2009 級和2010 級的同學們,沒有你們的辛苦工作和努力付出,這本書的出版將沒有可能。在此請允許一一列舉你們的名字:2009 級的宋小寶、李思揚、唐博、王珂、王彥丞、萬磊、張路、陳晏民同學;2010 級的李春文、劉彬、劉瀟健、王小亮、頡夏青同學。這本書是大家共同奮斗,并肩合作的見證!
著者
2012年9月于北京郵電大學