構建云應用

出版時間:2012-3-10  出版社:機械工業(yè)出版社華章公司  作者:Christopher M. Moyer  譯者:顧毅  
Tag標簽:無  

前言

   前言:  作為一家小型創(chuàng)業(yè)公司的開發(fā)人員,做了幾個月將既有服務移植到云環(huán)境的開發(fā)工作之后,我開始意識到這些工作由我一個人來做的話工作量實在太大了。于是,我開始尋找其他的開發(fā)人員來協(xié)助我,或者當我找到更好、更有意思的工作機會時讓他頂替我。不久,我就發(fā)現(xiàn)真正徹底理解開發(fā)基于云平臺的應用程序所必需的復雜度的人相當少,而且這些人幾乎都對自己目前的公司很滿意。  就如何使用云平臺的話題,我開始在博客中寫專題文章,網址是http://blog. coredumped.org,但我很快又意識到,我可以花上整整一年寫下所有這些人們應該知道的東西。這些文檔應該更適合放在參考書中而不是隨隨便便地散落在博客各處,所以我決定寫一本書?! ”緯哪康摹 ”緯⒉皇且槐拘枰獜念^至尾去讀完的教程,而是一本教你如何在云環(huán)境中創(chuàng)建應用程序的指南,也是一本可以在遇到特定問題時隨時參考的手冊。當公司為你安排新的項目,并告訴你要讓它具有伸縮性時,看看本書中所討論的模式是不是適用于該項目。當你在項目中發(fā)現(xiàn)了特定的問題卻束手無策時,翻一翻本書。如果你嘗試開始一個新的項目,并且你有一個非常完美的想法,卻不知道該如何讓系統(tǒng)能夠收縮自如時,翻一翻本書。如果你正嘗試改造一個既有的項目,使其能在云環(huán)境中自由擴展時,翻一翻本書。如果你不知道在云計算環(huán)境中能構建什么樣的應用程序時,翻一翻本書?! ”緯胁]有發(fā)明許多新的模式,而僅僅是向你展現(xiàn)了一些技巧和新技術,這些都是在云環(huán)境中運行系統(tǒng)時所需要考慮的。盡管你可以將書中討論的模式用于任何形式的集群環(huán)境,但這些模式是為云計算所提供的服務量身定做的?! ∪绾问褂帽緯 ”緯譃槿齻€部分。每個人都應該閱讀第一部分,從而對云計算有一個基本的理解。在第二部分中,你可以挑選最感興趣的模式閱讀。如果你從未開發(fā)過任何形式的云應用程序,建議看一下第三部分中的范例應用程序,從而使你對該系統(tǒng)究竟最適合于什么樣的應用程序有一個確切的了解?! 〉谝徊糠郑?ldquo;概念”  第一部分旨在讓你掌握一些在云平臺上進行開發(fā)的基本概念。你應該全部閱讀這一部分,該部分分為以下幾章。  第1章:“云服務的基礎”—提供了一些使用云計算解決方案時的基本概念,對于任何對云計算平臺感興趣的開發(fā)人員來說,本章是絕不容錯過的?! 〉?章:“把軟件做成服務”—針對如何實現(xiàn)軟件即服務(SaaS)提供了一些基本的指南。本章詳細討論了為什么軟件即服務是個好主意,以及如何正確構建SaaS?! 〉?章:“云服務提供商”—提供了一些由不同云服務提供商所提供的服務的實例。  第二部分:“模式”  第二部分更像是一本手冊,給出了構建系統(tǒng)時的問題以及相應的解決方案。  第4章:“設計鏡像”—包括基本的構建基礎鏡像的模式,這些鏡像是構建應用程序的基礎?! 〉?章:“設計架構”—包括讓系統(tǒng)與外部系統(tǒng)(不是你所采用的云服務提供商的系統(tǒng))進行交互的模式?! 〉?章:“操作數(shù)據”—包括針對數(shù)據執(zhí)行代碼片段的模式?! 〉?章:“集群系統(tǒng)”—包括為了充分發(fā)揮集群部署優(yōu)勢而設計的基礎框架中使用的模式。  第三部分:“項目”  第三部分以真實世界中的應用程序為例,并將書中所介紹的模式運用進去。這兩章都采用了相同的入門教程,但實現(xiàn)的方式不同?! 〉?章:“簡單的博客系統(tǒng)”—詳細介紹了如何從頭開始構建一個簡單的博客系統(tǒng),且不采用任何既有的框架。  第9章:“使用Marajo開發(fā)博客系統(tǒng)”—詳細介紹了如何使用Marajo這一基于云環(huán)境的Web應用框架來構建博客系統(tǒng)?! 暮伍_始  現(xiàn)在,許多人的第一個問題就是:從何開始?該如何迅速開始開發(fā)應用程序?如果不想完整地閱讀本書,怎樣做才能簡單快速地了解到書中這些概念的實際工作原理?  選擇了本書,你就已經走上了正確的軌道。如果隨隨便便地選擇一家云服務提供商,啟動幾臺服務器,期待能從這些服務商那里得到你所想要的東西,毋庸置疑,這是不切實際的。如果只是挑選一家云服務提供商,而不做足夠的事前研究,其結果往往會讓人們陷入一大堆問題中,而且還會把這些問題歸咎于云服務提供商。這就相當于你買了一輛手動擋的汽車,但完全不了解該如何駕駛,結果卻向銷售商抱怨說是他們把車賣給了你。如果你在事前沒有做研究或準備,那么在云環(huán)境中遇到問題時,完全不應該感到意外。如果你不是開發(fā)人員,找第三方來幫你管理云環(huán)境可能會更合適,但如果你閱讀了本書,我想你絕對不會滿足于“找一群家伙來搞定它”?! ≈轮x  我要感謝我的伙伴和導師Mitch Garnaat,感謝他給予我的幫助和激勵,讓我進入了云計算領域。我也要感謝Amazon Web Services的團隊,感謝他們推動云計算的市場不斷向前,且持續(xù)不斷地帶來新的產品,使本書中的內容成為可能。

內容概要

  《構建云應用:概念、模式和實踐》沿用大家所熟悉的“設計模式”格式,介紹了云計算平臺上行之有效的模式。通過基于python和amazon
web
services(aws)平臺的詳細的范例代碼和應用程序,向讀者演示了這些模式的實際運用。本書內容包括掌握成功的云計算解決方案的核心原則,如何正確地構建軟件即服務(software
as a
service,saas)模式,理解不同的云服務提供商所提供的服務,如何設計主機鏡像、為云平臺上的應用打造一個堅實的基礎,如何針對與外部系統(tǒng)的交互行為選擇最合適的模式,如何實現(xiàn)高效的數(shù)據處理以及如何充分發(fā)揮多主機集群部署的優(yōu)勢。
  《構建云應用:概念、模式和實踐》適合軟件開發(fā)人員和對云計算感興趣的讀者閱讀。

作者簡介

  Chris Moyer畢業(yè)于美國羅切斯特理工大學(Rochester Institute of Technology,RIT),并獲得軟件工程學士學位。Chris擁有5年以上的編程經驗,主要集中在云計算領域。他的大部分時間都在開發(fā)大受歡迎的boto客戶端類庫,該類庫用于與Amazon Web Services進行通信。通過向boto的創(chuàng)始人Mitch Garnaat學習,Chris隨后開始基于該客戶端類庫開發(fā)Web框架,也就是Marajo和botoweb?;谶@些框架,他還創(chuàng)建了大規(guī)模的應用程序?! hris目前是Newstex公司的技術部副總裁,負責管理技術研發(fā)工作,這些技術用于將應用程序遷移到云平臺,同時他也管理著自己的部門,該部門正在積極地維護和開發(fā)幾個應用程序。Chris與妻子Lynn住在紐約。

書籍目錄

譯者序
前言
關于作者
 第0章 引言
  0.1 云計算是什么
  0.2 云計算的革命
  0.2.1 主機
  0.2.2 pc革命
  0.2.3 高速互聯(lián)網
  0.2.4 云
  0.2.5 html5和本地存儲
  0.2.6 移動設備的黎明
  0.3 線程化,并行處理,并行計算
  0.4 基于云的開發(fā)過程與其他應用開發(fā)過程有何不同
  0.5 應該避免什么
  0.6 開始用云
  0.6.1 選擇一種云模式
  0.6.2 實現(xiàn)一種云模式
第一部分 概念   
 第1章 云服務的基礎
  1.1 云計算的起源
  1.2 云服務是什么
  1.2.1 計算
  1.2.2 存儲
  1.2.3 聯(lián)接
  1.3 遺留模式
  1.4 運行在云中的應用并不會自主擴展
  1.5 失效是必然的
  1.6 一致性,有效性,分區(qū)容錯性
  1.6.1 一致性
  1.6.2 有效性
  1.6.3 分區(qū)容錯性
  1.7 最終一致性
  1.8 本章小結
 第2章 把軟件做成服務
  2.1 本書中使用的工具
  2.1.1 注冊amazon web services
  2.1.2 安裝boto
  2.1.3 環(huán)境設置
  2.1.4 測試
  2.2 什么是應用程序所需要的
  2.3 數(shù)據層
  2.4 應用層
  2.4.1 使用elastic load balancing
  2.4.2 向負載均衡器添加服務器
  2.4.3 自動向負載均衡器注冊實例
  2.5 http和rest
  2.5.1 http header
  2.5.2 body
  2.5.3 方法
  2.6 授權層
  2.7 客戶端層
  2.7.1 基于瀏覽器的客戶端
  2.7.2 本地應用程序
  2.8 本章小結
 第3章 云服務提供商
  3.1 amazon web services
  3.1.1 simplestorageservice(s3)
  3.1.2 cloudfront
  3.1.3 simple queue service (sqs)
  3.1.4 elastic compute cloud (ec2)
  3.1.5 elastic block storage (ebs)
  3.1.6 elastic load balancing (elb)
  3.1.7 simpledb
  3.1.8 relational database service(rds)
  3.1.9 simple notification service (sns)
  3.1.10 virtual private cloud(vpc)
  3.2 google云
  3.2.1 appengine
  3.2.2 google storage
  3.3 rackspace云
  3.3.1 cloudfiles
  3.3.2 cloudservers
  3.3.3 cloudsites
  3.4 本章小結
第二部分 模式
 第4章 設計鏡像
  4.1 預打包鏡像
  4.1.1 概要
  4.1.2 使用動機
  4.1.3 詳述
  4.1.4 實現(xiàn)
  4.1.5 范例
  4.1.6 總結
  4.2 單例實例(singleton instance)
  4.2.1 概要
  4.2.2 使用動機
  4.2.3 詳述
  4.2.4 實現(xiàn)
  4.2.5 范例
  4.2.6 總結
  4.3 原型鏡像
  4.3.1 概要
  4.3.2 使用動機
  4.3.3 詳述
  4.3.4 實現(xiàn)
  4.3.5 范例
  4.3.6 總結
 第5章 設計架構
  5.1 適配器
  5.1.1 概要
  5.1.2 使用動機
  5.1.3 詳述
  5.1.4 實現(xiàn)
  5.1.5 范例
  5.1.6 總結
  5.2 門面模式
  5.2.1 概要
  5.2.2 使用動機
  5.2.3 詳述
  5.2.4 實現(xiàn)
  5.2.5 范例
  5.2.6 總結
  5.3 負載均衡代理
  5.3.1 概要
  5.3.2 使用動機
  5.3.3 詳述
  5.3.4 實現(xiàn)
  5.3.5 范例
  5.3.6 總結
 第6章 操作數(shù)據
  6.1 隊列(queuing)模式
  6.1.1 概要
  6.1.2 使用動機
  6.1.3 詳述
  6.1.4 實現(xiàn)
  6.1.5 范例
  6.1.6 總結
  6.2 命令模式
  6.2.1 概要
  6.2.2 使用動機
  6.2.3 詳述
  6.2.4 實現(xiàn)
  6.2.5 范例
  6.2.6 總結
  6.3 迭代器模式
  6.3.1 概要
  6.3.2 使用動機
  6.3.3 詳述
  6.3.4 實現(xiàn)
  6.3.5 范例
  6.3.6 總結
  6.4 觀察者模式
  6.4.1 概要
  6.4.2 使用動機
  6.4.3 詳述
  6.4.4 實現(xiàn)
  6.4.5 范例
  6.4.6 總結
 第7章 集群系統(tǒng)
  7.1 web分層模式
  7.1.1 概要
  7.1.2 使用動機
  7.1.3 詳述
  7.1.4 實現(xiàn)
  7.1.5 范例
  7.1.6 總結
  7.2 信號和鎖模式
  7.2.1 概要
  7.2.2 使用動機
  7.2.3 詳述
  7.2.4 實現(xiàn)
  7.2.5 范例
  7.2.6 總結
  7.3 map/reduce
  7.3.1 概要
  7.3.2 使用動機
  7.3.3 詳述
  7.3.4 實現(xiàn)
  7.3.5 范例
  7.3.6 總結
第三部分 項目
 第8章 簡單的博客系統(tǒng)
  8.1 存儲
  8.1.1 創(chuàng)建sdb域
  8.1.2 user對象
  8.1.3 post對象
  8.1.4 comment對象
  8.2 應用邏輯層
  8.2.1 wsgi的簡單介紹
  8.2.2 db處理器
  8.2.3 user、post、comment對象的處理器
  8.2.4 處理垃圾評論
  8.3 表現(xiàn)層
  8.3.1 設置http代理
  8.3.2 博客文章(post)
  8.3.3 評論
  8.4 部署
  8.4.1 啟動基礎實例
  8.4.2 安裝軟件
  8.4.3 安裝應用程序
  8.4.4 安裝apache
  8.4.5 打包鏡像
  8.4.6 創(chuàng)建代理
  8.5 本章小結
 第9章 使用marajo開發(fā)博客系統(tǒng)
  9.1 初始化開發(fā)環(huán)境
  9.1.1 handlers
  9.1.2 resources
  9.1.3 static
  9.1.4 templates
  9.2 創(chuàng)建資源(resource)
  9.3 創(chuàng)建處理器
  9.4 配置應用程序
  9.5 運行應用程序
  9.6 創(chuàng)建自定義模板
  9.6.1 清單頁面的模板
  9.6.2 編輯博客的模板
  9.7 本章小結
術語表

編輯推薦

  詳述如何打造性能、可擴展性、可用性俱佳的云計算架構模式?! 崿F(xiàn)高效的數(shù)據處理以及如何充分發(fā)揮多主機集群部署的優(yōu)勢。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    構建云應用 PDF格式下載


用戶評論 (總計10條)

 
 

  •   詳述如何打造性能、可擴展性、可用性俱佳的云計算架構模式
      實現(xiàn)高效的數(shù)據處理以及如何充分發(fā)揮多主機集群部署的優(yōu)勢
  •   構建云應用:概念、模式和實踐(詳述如何打造性能、可擴展性、可用性俱佳的云計算架構模式)(云計算技術系列叢書)這本書不錯
  •   是進行IaaS開發(fā)程序員的入門級好書,詳細 介紹了如何由傳統(tǒng)應用向云計算IaaS服務開發(fā)的方法。
  •   書中的具體案例很詳細,不是屬于專業(yè)術語非常強的書籍,大多能看懂。不錯
  •   喜歡 謝謝
  •   詳實,講解比較深入
  •   學習用了
  •   補充這方面的知識
  •   發(fā)貨速度比較快,書的質量也比較好
  •   一般般,了解一下概念
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7