首页 » 正文

[論文解讀] A View of Cloud Computing

1.本文系課程報告的相關內容,亦系論文A View of Cloud Computing的報告和解讀。
2.全文為對於云計算的討論,非專業的知識普及,可能存在疏漏或錯誤,如需要相對準確的內容,請直接閱讀原文。
3.文章圖片部分來源於網路,表格則為根據原文內容自製,解讀過程中加入的自己的部分觀點,不代表原作者立場。
4.對於目前云提供商的分析,雖已充分查閱相關資料但難免疏漏,所述不代表其實際的功能和定價,亦不會因為未來功能的更新而更新本文。
5.為了幫助學習者更好的了解雲端計算的相關內容,文中附上了原文下載,同樣對於部分引用于網路的圖片,遵循知識產權保護,如有問題請申訴。
原論文下載: [暫未公佈]
演講PPT下載: [暫未公佈]
演講影片下載:[暫未公佈]
———————– Page 1———————–
A View of Cloud Computing
原文作者: MICHAEL ARMBRUST, ARMANDO FOX, REAN GRIFFITH,ANTHONY D.JOSEPH, RANDY KATZ, ANDY KONWINSKI,GUNHO LEE, DAVID PATTERSON, ARIEL RABKIN, ION STOICA,MATEI ZAHARIA
報告者:[動漫技術宅隱私保護]
2020年3月20日

———————– Page 2———————–
目錄
1.1 起源:為什麼使用雲端運算…..3
1.2 定義:雲計算的具體含義…..4
1.3 爭議:雲計算範圍的討論…..5
1.4 經濟:雲計算的成本計算…..6
1.5 比較:雲計算和常規數據中心差異…..7
1.6 比較:常規數據中心的欠負載…..8
1.7 發展:雲計算的發展歷史…..9
1.8 模式:雲計算的三種服務模式…..10
2.1 :雲計算的阻礙與機遇…..11
2.2 :服務可用性和業務連續性…..12
2.3 :資料鎖定…..13
2.4 :資料機密性和可審查性…..14
2.5 :資料傳輸瓶頸&性能不可預測性…..15
2.6 :存儲擴展&大型分佈式系統中的錯誤…..16
2.7 :快速擴展&聲譽維護與共用&軟件許可…..17
3.1 :常見雲計算平臺分析…..18
3.2 :Amazon…..19
3.3 :Google&Alibaba…..20
3.4 :比較分析…..21
4 :總結…..22

———————– Page 3———————–
1.1 起源:為什麼使用雲端運算
1. 減少在硬體上的大量投入。–雲端運算無需在前期投入大量硬體資源 ,而是根據需要一點點的擴展需要的資源,也可以根據實際情況增刪設備。
2. 減少維護成本開支。 –在傳統的結構中,每個企業管理自己的設備,要付出相當的人力來以備萬一,由於設備故障是相當罕見的,多數時候人員處於待命狀態,而雲端運算將所有的設備集中管理 ,大大減少了人力成本。
3. 降低對功能過度配置的風險。 –在項目的一開始,我們不能準確預估出實際使用的硬體資源,而是僅僅使用最大包括原則,即按照可能的情況進行最高配置 ,以免在運行高峰期出現故障,但這樣的配置也包括大量的冗餘。
4. 即使有大量的處理任務仍然能快速得出結果。 –有一些任務面臨大量的處理任務,傳統的計算僅包括單個節點和多節點負載平衡,單節點一定無法處理好,即使多節點也會出現無法應對的情況。
5. 各種資源能夠彈性使用,而不必因為固定而失去靈活性。 –在使用過程中,傳統的方式配置相對固定,而雲計算可以根據需要隨時修改配置。如果增加設備,則會在公共池裡找到一些未被使用的硬體;而刪除設備則是將自己空餘的設備添加到公共池中。

圖1 :傳統伺服器與雲端運算

———————– Page 4———————–

1.2 定義:雲計算的具體含義
雲計算指使用Internet作為主要服務的應用程式,也指提供這些服務的硬體和軟體。 雲計算的前提使用網路,最廣泛的定義涵蓋硬體和軟體就是我們所說的雲。當按即付即用的方式任何軟體以及在本地運行但通過遠端進行許可形式向公眾提供雲時,我們稱其為公共雲。私有雲指在企業或組織的內部公眾無法使用的資料中心。

圖2 :闡述雲計算的用戶和提供者之間的關係。雲提供商和雲用戶之間互相影響。頂層可以是遞迴的,因為提供程式的人也有機會成為用戶。

圖3 :雲計算示意圖

———————– Page 5———————–
1.3 爭議:雲計算範圍的討論
從雲計算中忽略私有雲已經引起了科技界的廣泛爭論。
Q :ISP(互聯網服務提供者)是否屬於雲計算?
A :ISP可以託管面向公眾的Internet服務,該服務可以連接或分配大量的電腦。但通常公共Internet上的負載激增速度仍然會快得多,因此ISP不是雲計算。
Q :類似Amazon的硬體虛擬機器是否屬於雲計算?
A :Amazon 雲計算實例看起來很像物理硬體,且使用者可以從內核向上控制幾乎整個軟體堆疊。其應用程式運行在一種與語言無關的託管環境上( .NET ),該框 架 比AppEngine的框架要靈活得多,但仍然限制了使用者對存儲模型和應用程式結構的選擇。因此,其介於應用程式框架和硬體虛擬機器之間,而非真正意義上的雲計算。
Q :企業搭建的資料中心是否屬於雲計算?
A :由企業搭建的資料中心可能仍然會受到資源的限制,不能滿足雲計算相對隨意的添加請求。私有資料中心也不具備可觀的經濟效應, 除了擁有數十萬台電腦的超大型資料中心之外,大多數資料中心不能算為是雲計算。作者認為在雲計算的定義中包括傳統數據中心將導致較小的私有雲的誇大主張,聲稱自己是公有雲計算,但是也不否認更多的私有雲可以通過混合計算獲得公共雲的更多好優點。

———————– Page 6———————–
1.4 經濟:雲計算的成本計算
很多時候雲計算在成本上比公用程式託管更低。
1. 服務需求隨時間變化的軟體更適合雲計算。例如,某軟體每月只有幾天會有高負載,而總是使用過高的配置會導致其它時間的利用率不足。相反,雲計算按小時支付,即使從雲提供商那裡租用電腦的費率比較高卻仍有可能節省成本。
2. 事先對需求未知的應用也適用於雲計算。例如, Web初創公司在某軟體風靡時將需要大量的資源,一旦用戶減少,其需求量也可能會減少。
3. 執行大量計算的企業可以使用雲計算來更快地完成計算: 使用1,000台電腦一小時的成本與使用一台電腦1,000小時的成本相同,但前者效率顯然更高。“即用即付” 的理念可以為買方帶來更多的經濟利益。

———————– Page 7———————–
1.5 比較:雲計算和常規數據中心差異雲計算與常規數據中心相比,優勢明顯。

從表中可以看出雲計算相比常規數據中心,在很多方面都有極大的優勢,所以越來越多的企業選擇把自己的應用託管在雲計算平臺。

———————– Page 8———————–
1.6 比較:常規數據中心的欠負載雲計算與常規數據中心相比,優勢明顯。

圖4 :雲計算中心在符合負載和欠載情況下的資源使用情況
從圖中我們可以看出,在傳統計算中,當我們的負載資源較高時,我們可以滿足用戶的要求,但是當用戶所需求的資源沒有那麼高的時候,會造成一定程度的資源浪費;而如果我們將負載調低,則無法滿足用戶最高的資源要求;而如果用戶所需求的資源並不均衡,則統一的負載無法響應用戶最高的需求。

———————– Page 9———————–

1.7 發展:雲計算的發展歷史
1983年,SUN公司提出網路即電腦的概念。
1996年,Compaq公司在公司內部文件中,首次提及“雲計算”這個詞彙。
2006年3月,亞馬遜推出彈性計算雲服務。
2007年10月,Google與IBM開始在美國大學校園推廣雲計算的項目,希望能降低分散式運算技術在學術研究方面的成本,並為這些大學提供相關的軟硬體設備及技術支持。學
生則可以透過網路開發各項以大規模計算為基礎的研究項目。
2008年1月30日,Google宣佈在臺灣引導“雲計算學術專案”,將這種技術推廣到校園。
2008年7月29日,YAHOO、HP和INTEL宣佈一項涵蓋美國、德國和新加坡的聯合研究計畫,推出雲計算研究測試。
2008年8月3日,美國專利商標局網站資訊顯示,DELL正在申請“雲計算”(Cloud Computing )商標,此舉旨在加強對這一未來可能重塑技術架構的術語控制權。
2010年3月5日,Novell與雲安全聯盟(CSA)共同宣佈一項供應商中立專案,名為“可信任雲計算項目”。
2010年7月,美國國家航空航天局和包括Rackspace、AMD、Intel、DELL等支持廠商共同宣佈“OpenStack”開放源碼項目
2010年10月表示支持OpenStack與Windows Server 2008 R2的集成;而Ubuntu已把OpenStack加至11.04版本中。
2011年2月,思科系統正式加入OpenStack,重點研製OpenStack的網路服務。

———————– Page 10———————–
1.8 模式:雲計算的三種服務模式
軟體即服務(SaaS ):消費者使用應用程式,但並不掌控作業系統、硬體或運作的網路基礎架構。是一種服務觀念的基礎,軟體服務供應商,以租賃的概念提供客戶服務,而非購買,比較常見的模式是提供一組帳號密碼。它是一種軟體交付模式。軟體僅需透過互聯網,不須經過傳統的安裝步驟即可使用,軟體及其相關的資料集中託管於雲端服務。用戶通常使用精簡用戶端,一般即經由網頁瀏覽器來訪問軟體即服務。SaaS 最大的特色在於軟體本身並沒有被下載到使用者的硬碟,而是存儲在提供商的雲端或者伺服器。對比傳統軟體需要花錢購買,下載。軟體即服務只需要使用者租用軟體,線上使用,不僅大大減少了用戶購買風險也無需下載軟體本身,無設備要求的限制。

平臺即服務(PaaS ):是一種雲計算服務,提供運算平臺與解決方案服務。在雲計算的典型層級中,PaaS層介於軟體即服務與基礎設施即服務之間。PaaS提供用戶將雲端基礎設施部署與創建至用戶端,或者借此獲得使用程式設計語言、程式庫與服務。使用者不需要管理與控制雲端基礎設施(包含網路、伺服器、作業系統或存儲),但需要控制上層的應用程式部署與應用託管的環境。PaaS將軟體研發的平臺做為一種服務,以軟體即服務(SaaS )模式交付給使用者。因此,PaaS也是SaaS模式的一種應用。但是, PaaS的出現可以加快SaaS的發展,尤其是加快SaaS應用的開發速度。

基礎設施即服務(IaaS ):消費者使用“基礎計算資源”,如處理能力、存儲空間、網路元件或中介軟體。消費者能掌控作業系統、存儲空間、已部署的應用程式及網路元件(如防火牆、負載平衡器等), 但並不掌控雲基礎架構。

———————– Page 11———————–
2.1 :雲計算的阻礙與機遇
下麵的表格總結了雲計算的十大障礙和機遇。1到3主要影響利用率,4-8主要影響業務增長,9到10是政策和業務的障礙。而事實上每一個所謂障礙都伴隨著可觀的機遇。

———————– Page 12———————–
2.2 :服務可用性和業務連續性
服務可用性指的是服務的效果、效能和效率。互聯網行業中指用戶是否可以隨時使用網路資源 ,換言之,就是網路的平均無故障率。所以,為了保證網路的無故障率,除了選擇高性能、高可靠性的設備外,還要在網路結構上充分考慮冗餘和備份。用戶常常擔心自己的程式是否具有足夠的可用性,目前很多雲服務的提供商自己設定了高標準。Google搜索素以其高可用性而著稱,任何小的錯誤都有可能引發混亂,很少有企業IT基礎架構如此出色。除了可用性方面的諸多問題外,雲提供商可能會因非技術原因而遭受停運 ,包括停業或成為監管的目標。高可用性的雲計算提供商長期以來一直遵循“沒有故障” 的口號,但是由一家公司管理雲計算服務實際上很可能發生故障。而作為用戶,可以使用多個服務提供商的業務,當災害發生時,迅速從發生故障的運營商遷移到非故障的運營商。

圖5 :常見的破壞服務可用性的原因包括施工、自然災害或停電等。

———————– Page 13———————–
2.3 :資料鎖定
軟體堆疊改善了平臺之間的關聯性 ,但是由於雲計算的API是專有的,因此客戶無法輕鬆地從一個網站提取其數據在另一個網站上運行。從雲中提取資料的困難使一些公司無法採用雲計算。資料鎖定可能對雲計算提供商有幫助,利於它們鎖定客戶 ,但他們的用戶容易受到價格上漲,可靠性等問題甚至是提供商倒閉的影響。一種解決方案是提供標準化的API,即開發人員可以在多個雲計算提供商之間部署服務和數據,這樣一家公司的倒閉就不會導致所有客戶數據丟失。有人可能會擔心這會導致雲計算定價困難,並使雲計算提供商的 利潤較少。

———————– Page 14———————–
2.4 :資料機密性和可審查性
許多公司使用外部電子郵件服務來保存敏感資訊 ,但是安全性是人們最常關心的問題之一。從某些法規上講,也存在可審核性的要求 ,必須將企業資料轉移到雲中。保護雲免受外部威脅是很多大型數據中心所面臨的問題。但由於此職責可能牽涉到多個方面,包括雲用戶,雲供應商以及用戶依賴的軟體或配置所依賴的任何廠商供應商。雲用戶負責應用程式級別的安全性。雲提供商負責物理安全性,並負責執行外部防火牆策略。用戶和操作員之間共用軟

圖6 :密碼是保護敏感資料的方式之一。

记忆體堆疊中間層的安全性;暴露給用戶的抽象級別越低,承擔的責任就越大。諸如EC2之類的平臺的同質性和標準化API使公司可以提供配置管理等服務。雲計算同樣面臨來自內部的安全問題 ,雲提供商必須防範用戶的盜竊或拒絕服務攻擊。用戶需要彼此保護。當今的主要安全機制是虛擬化。這是一種強大的防禦措施,可防止使用者攻擊對方或底層雲基礎架構。不正確的網路虛擬化可能會允許用戶代碼訪問提供商的敏感部分或其他用戶的資源。但是任何大型Internet服務都需要確保單個安全漏洞不會損害其他所有功能。

圖7 :虛擬化處理內部問題的方式之一。

———————– Page 15———————–
2.5 :資料傳輸瓶頸&性能不可預測性
現代雲計算經常遇到資料傳輸瓶頸。如果我們設定過多的傳輸路徑,則可能會使資料存儲和傳輸複雜化。這些成本很快的加總,使傳輸成本成為一個新的問題。雲用戶和雲提供商要想最小化成本,就必須考慮系統各個節點的佈局和流量的影響。為了克服Internet傳輸成本高昂的一個方法是運送硬碟。亞馬遜發現發送大量資料最便宜的方法是運送硬碟甚至整個電腦,可以有效地處理點對點傳輸的延遲和錯誤。

圖8 :傳輸瓶頸示意

在雲計算中,多個虛擬機器可以很好地共用CPU和主記憶體 ,但是網路和磁片I / O共用則存在許多問題。不同的程式在I / O性能上的變化很大,作者經過測量發現虛擬機器之間存在I / O干擾問題。改進方法可以是更新體系結構和作業系統 ,以有效地虛擬化中斷和I / O通道。也可能通過快閃記憶體減少I /O干擾。快閃記憶體是一種半導體記憶體,在斷電時可以像機械硬碟一樣保留信息,但是由於它沒有活動部件,因此存取速度更快,並且能耗更低。多個虛擬機器的I/O衝突可以更好地共存於同一台物理電腦上,而不會遇到機械磁片干擾。另一個問題是在大量處理問題時的虛擬機器調度。可以在雲中的大型集群上運行這些任務,從而節省大量資金。

———————– Page 16———————–
2.6 :存儲擴展&大型分佈式系統中的錯誤
三個特性使得雲計算具有吸引力,包括設備可擴展 ,無前期成本以及按需提供的無限容量。儘管將其應用於計算很簡單,但是如何將其應用于持久性存儲尚不清楚。作者認為實現高可用性的唯一可行解決方案是多個雲計算提供商。但需要提供的性能保證以及可靠的一致性。通常可以創建一個存儲系統滿足現有程式設計師對持久性,高可用性以及管理和查詢資料的能力。

圖9 :設備可擴展性是雲計算的重要特點之一

大型分散式系統中困難挑戰之一就是消除系統中的錯誤。這些錯誤往往無法在較低的配置中重現,因此調試必須在數據中心大規模的進行。雲計算中也可以依賴虛擬機器。許多傳統的雲計算提供商都在不使用虛擬機的情況下開發了其基礎架構,這可能是因為它們早於虛擬機而流行,或是虛擬機的性能損失過大。

圖10 :消除系統錯誤是大型系統的困難挑戰之一

———————– Page 17———————–
2.7 :快速擴展&聲譽維護與共用&軟件許可
即付即用適用於存儲和網路頻寬。根據虛擬化級別,計算略有不同。GoogleAppEngine會根據負載的增加和減少自動進行調整 ,並由使用的週期向用戶收費。即使您的電腦處於空閒狀態, AWS也會按小時收取費用。然後有方法實現自動響應負載而快速地擴展 ,以節省資金。加州大學伯克利分校可靠性自適應分散式系統實驗室廣泛地使用統計機器學習作為診斷和預測工具,以實現動態擴展,對實際效果進行自動反應,以最小的經濟代價獲得最大的收益。

圖11 :機器學習可作為雲端自動擴展的工具

限制可以運行軟體的電腦。用戶購買軟體,然後支付年度維護費。許多雲計算提供商最初依賴於開源軟體,部分原因是商務軟體的許可與程式實際需求不符。開源仍然流行,使得雲計算更為普及。

圖12 :一份Windows許可秘鑰

———————– Page 18———————–
3.2 :常見雲計算平臺分析
論文寫於2009年,而經過十多年的發展,雲計算平臺已經產生了非常大的變化,本小節我們注重觀察雲計算市場 ,對他們共同的特點和各自的優勢進行比較。

圖13:部分雲計算供應商,包括Amazon,Google和Alibaba

———————– Page 19———————–
3.1 :Amazon
官方網站:https://aws.amazon.com/
價格:在Amazon官網,支援用戶自定義配置。我使用2核心,2GB記憶體 (硬碟,帶寬另付)的配置,得出價格為0.0752美元(2.27台幣 )每小時。
架構:Amazon的每個應用層單獨收費,分別為伺服器的費用,存儲的費用,網路的費用和管理的費用。Amazon認為這種彈性計費方式會比傳統方式更省錢。

圖14:Amazon的付費架構
配套:在我查找相關資料的過程中,發現幾乎所有的雲供應商都支持CDN內容分發,高性能存儲等擴展,這對公司開展配套業務是非常有利的。但是由於我們討論的主要是雲端運算,所以這些內容沒有寫入我們的報告內。

圖15:部分Amazon的方案價格

———————– Page 20———————–
3.3 :Google&Alibaba
官方網站: https://cloud.google.com
價格:在GoogleCloud官網,我同樣使用2核心,2GB記憶體,得出價格為0.0971美元(29.33台幣 )每小時。
架構:Amazon的每個應用層單獨收費,分別為伺服器的費用,存儲的費用,網路的費用和管理的費用。Amazon認為這種彈性計費方式會比傳統方式更省錢。

圖16:部分Google的方案價格

官方網站:https://cn.aliyun.com/
價格:在Alibaba官網,依舊是使用2核心,2GB記憶體,得出價格為0.65RMB(2.28台幣 )每小時。

圖17:部分Alibaba的方案價格

———————– Page 21———————–
3.4 :比較分析
我比較了幾個常用的雲平臺架構,配置和收費方式。找出他們的異同點。

———————– Page 22———————–
4 :總結
雲計算將持續增長 ,無論雲提供商出售的是低層抽象的服務還是較高級別的服務,我們都認為計算,存儲和網路必須具有多節點、可擴展的特性 ,而不是單節點的計算。此外,軟體既需要快速增加配置,又需要快速降低配置。按使用者付費的許可滿足現代雲計算的需求。同樣對於內容分發和安全性的需求也逐步顯現。
基礎架構軟體在虛擬機中而不會在機器上直接運行。虛擬的空間提供了更多的擴展性,使得雲計算的一些特性的實現成為可能。
我對主流的雲計算廠商進行了功能和價格上的分析。它們大多提供多種付費方式,隨意增刪設備等特性,具備雲計算的基本特性,但在負載均衡和價格上存在一些差異。

发表评论