雲端運算

雲端運算（cloud computing），也被意譯為網路計算，是一種基於網際網路的計算方式，通過這種方式，共享的軟硬體資源和資訊可以按需求提供給電腦各種終端和其他設備，使用服務商提供的電腦基建作運算和資源。

## 沿革

雲端運算是繼1980年代大型計算機到客戶端-伺服器的大轉變之後的又一種巨變。使用者不再需要了解「雲」中基礎設施的細節，不必具有相應的專業知識，也無需直接進行控制。雲計算描述了一種基於網際網路的新的IT服務增加、使用和交付模式，通常涉及通過網際網路來提供動態易擴展而且經常是虛擬化的資源。

在「軟體即服務（SaaS）」的服務模式當中，使用者能夠存取服務軟體及資料。服務提供者則維護基礎設施及平台以維持服務正常運作。SaaS常被稱爲「隨選軟體」，並且通常是基於使用時數來收費，有時也會有採用訂閱制的服務。

推廣者認爲，SaaS使得企業能夠藉由外包硬體、軟體維護及支援服務給服務提供者來降低IT營運費用。另外，由於應用程式是集中供應的，更新可以即時的發佈，無需使用者手動更新或是安裝新的軟體。SaaS的缺陷在於使用者的資料是存放在服務提供者的伺服器之上，使得服務提供者有能力對這些資料進行未經授權的存取。

使用者透過瀏覽器、桌面應用程式或是行動應用程式來存取雲端的服務。推廣者認爲雲端運算使得企業能夠更迅速的部署應用程式，並降低管理的複雜度及維護成本，及允許IT資源的迅速重新分配以因應企業需求的快速改變。

雲端運算依賴資源的共享以達成規模經濟，類似基礎設施（如電力網）。服務提供者整合大量的資源供多個使用者使用，使用者可以輕易的請求（租借）更多資源，並隨時調整使用量，將不需要的資源釋放回整個架構，因此使用者不需要因爲短暫尖峰的需求就購買大量的資源，僅需提升租借量，需求降低時便退租。服務提供者得以將目前無人租用的資源重新租給其他使用者，甚至依照整體的需求量調整租金。

## 基本特徵

網際網路上匯聚的計算資源、存儲資源、數據資源和應用資源正隨著網際網路規模的擴大而不斷增加，網際網路正在從傳統意義的通信平台轉化為泛在、智能的計算平台。與電腦系統這樣的傳統計算平台比較，網際網路上還沒有形成類似電腦作業系統的服務環境，以支持網際網路資源的有效管理和綜合利用。在傳統電腦中已成熟的作業系統技術，已不再能適用於網際網路環境，其根本原因在於：網際網路資源的自主控制、自治對等、異構多尺度等基本特性，與傳統電腦系統的資源特性存在本質上的不同。為了適應網際網路資源的基本特性，形成承接網際網路資源和網際網路應用的一體化服務環境，面向網際網路計算的虛擬計算環境（Internet-based Virtual Computing Environment，iVCE）的研究工作，使使用者能夠方便、有效地共享和利用開放網路上的資源。

<image>

網際網路上的雲計算服務特徵和自然界的zh-hans; zh-hant;|雲、水循環具有一定的相似性，因此，雲是一個相當貼切的比喻。根據美國國家標準暨技術研究院的定義，雲計算服務應該具備以下幾條特徵：

- 隨需應變自助服務。
- 隨時隨地用任何網路裝置存取。
- 多人共享資源池。
- 快速重新部署靈活度。
- 可被監控與量測的服務。

一般認為還有如下特徵：

- 基於虛擬化技術快速部署資源或獲得服務。
- 減少使用者終端的處理負擔。
- 降低了使用者對於IT專業知識的依賴。

## 參考形態

虛擬計算環境是一個學術上的概念，不同的研究組織對其有不同的實現方式。下面是虛擬計算環境的一種參考形態：

從應用視角上，iVCE以新型的資源管理模型，為終端用戶提供了組織、共享和管理資源的方式和機制，以支持網際網路資源的有效共享和綜合利用。從開發視角上，iVCE是網際網路新型應用的軟體開發平台，提供了與資源管理模型一致的程序設計模式與運行支撐，能方便、快捷地幫助開發人員構造面向網際網路的應用系統。從系統視角上，iVCE包括了支持iVCE資源管理模型的程序設計語言，網路延遲探測、支持網路資源按需聚合和協同的虛擬節點、資源聚合管理、資源協同管理、虛擬網路記憶體、虛擬網路外存和虛擬執行網路等基礎服務，以及iVCE應用管理與運行支撐環境。

## 發展歷史

<image>

1983年，昇陽電腦提出「網路是電腦」（「The Network is the computer」）。

1996年，Compaq公司在其公司的內部文件中，首次提及「雲計算」這個詞彙。

2006年3月，亞馬遜推出彈性運算雲端服務。

2007年10月，Google與IBM開始在美國大學校園，包括卡內基美隆大學、麻省理工學院、史丹佛大學、加州大學柏克萊分校及馬里蘭大學等，推廣雲端運算的 計劃，這項計劃希望能降低分散式運算技術在學術研究方面的成本，並為這些大學提供相關的軟硬體設備及技術支援（包括數百台個人電腦及BladeCenter與System x伺服器，這些運算平台將提供1600個處理器，支援包括Linux、Xen、Hadoop等開放原始碼平台）。而學生則可以透過網路開發各項以大規模運算為基礎的研究計劃。

2008年1月30日，Google宣佈在台灣啟動「雲端運算學術計劃」，將與台灣台大、交大等學校合作，將這種先進的大規模、快速運算技術推廣到校園。

2008年7月29日，雅虎、惠普和英特爾宣布一項涵蓋美國、德國和新加坡的聯合研究計劃，推出雲計算研究測試床，推進雲計算。該計劃要與合作夥伴建立6個數據中心作為研究試驗平台，每個數據中心配置1400個至4000個處理器。這些合作夥伴包括新加坡資訊通信發展管理局、德國卡爾斯魯厄大學Steinbuch計算中心、美國伊利諾大學香賓分校、英特爾研究院、惠普實驗室和雅虎。

2008年8月3日，美國專利商標局網站資訊顯示，戴爾正在申請「雲計算」（Cloud Computing）商標，此舉旨在加強對這一未來可能重塑技術架構的術語的控制權。戴爾在申請文件中稱，雲計算是「在數據中心和巨型規模的計算環境中，為他人提供電腦硬體定製製造」。

2010年3月5日，Novell與雲端安全聯盟（CSA）共同宣佈一項供應商中立計畫，名為「可信任雲端運算計畫」。

2010年7月，美國太空總署和包括Rackspace、AMD、Intel、戴爾等支援廠商共同宣佈「OpenStack」開放源碼計畫。

微軟在2010年10月表示支持OpenStack與Windows Server 2008 R2的整合；而Ubuntu已把OpenStack加至11.04版本中。2011年2月，思科系統正式加入OpenStack，重點研製OpenStack的網路服務。

### 日本

2022年，日本的雲端運算市場由亞馬遜雲端運算服務、微軟和谷歌三家公司壟斷，日經新聞認為過分依賴海外公司存在風險，在發生網路攻擊等情況時，有受到美國干涉等隱憂。日本政府在2022年5月通過《經濟安全保障推進法》，和國內大型資訊科技公司合作，發展國產雲端運算服務

## 服務模式

美國國家標準暨技術研究院的雲端運算定義中明確了三種服務模式：

- 軟體即服務（SaaS）：消費者使用應用程式，但並不掌控作業系統、硬體或運作的網路基礎架構。是一種服務觀念的基礎，軟體服務供應商，以租賃的概念提供客戶服務，而非購買，比較常見的模式是提供一組帳號密碼。例如：Adobe Creative Cloud，Microsoft CRM與Salesforce.com。
- 平台即服務（PaaS）：消費者使用主機操作應用程式。消費者掌控運作應用程式的環境（也擁有主機部分掌控權），但並不掌控作業系統、硬體或運作的網路基礎架構。平台通常是應用程式基礎架構。例如：Google App Engine。
- 基礎設施即服務（IaaS）：消費者使用「基礎運算資源」，如處理能力、儲存空間、網路元件或中介軟體。消費者能掌控作業系統、儲存空間、已部署的應用程式及網路元件（如防火牆、負載平衡器等），但並不掌控雲端基礎架構。例如：Amazon AWS、Rackspace。

### 雲端服務提供者

雲端服務提供者（Cloud Service Provider，簡稱：CSP）或稱雲端服務供應商，為提供可擴充的運算資源的第三方公司，讓企業透過網際網路以隨選方式存取運算資源，包括提供雲端運算能力、資料儲存空間、平台或應用程式服務。一般而言，北美4大CSP指的分別是Google GCP、微軟Azure、亞馬遜AWS以及Meta。

## 部署模型

<image>

美國國家標準暨技術研究院的雲計算定義中也涉及了關於雲計算的部署模型：

### 公用雲

簡而言之，公用雲（Public Cloud）服務可透過網路及第三方服務供應者，開放給客戶使用，「公用」一詞並不一定代表「免費」，但也可能代表免費或相當廉價，公用雲並不表示使用者資料可供任何人查看，公用雲供應者通常會對使用者實施使用存取控制機制，公用雲作為解決方案，既有彈性，又具備成本效益。

### 私有雲

私有雲（Private Cloud）具備許多公用雲環境的優點，例如彈性、適合提供服務，兩者差別在於私有雲服務中，資料與程序皆在組織內管理，且與公用雲服務不同，不會受到網路頻寬、安全疑慮、法規限制影響；此外，私有雲服務讓供應者及使用者更能掌控雲端基礎架構、改善安全與彈性，因為使用者與網路都受到特殊限制。

### 社群雲

社群雲（Community Cloud）由眾多利益相仿的組織掌控及使用，例如特定安全要求、共同宗旨等。社群成員共同使用雲端資料及應用程式。

### 混合雲

混合雲（Hybrid Cloud）結合公用雲及私有雲，這個模式中，使用者通常將非企業關鍵資訊外包，並在公用雲上處理，但同時掌控企業關鍵服務及資料。

## 對比

雲端運算常與網格運算（分散式計算的一種，由一群鬆散耦合的電腦集組成的一個超級虛擬電腦，常用來執行大型任務）、效用計算（IT資源的一種打包和計費方式，比如按照計算、存儲分別計量費用，像傳統的電力等公共設施一樣）、自主計算（具有自我管理功能的電腦系統）相混淆。

事實上，許多雲計算部署依賴於電腦集群（但與網格的組成、體系機構、目的、工作方式大相逕庭），也吸收了自主計算和效用計算的特點。

它從硬體結構上是一種多對一的結構，從服務的角度或從功能的角度它是一對多的。例如，今天要設計一供應鏈管理系統，可以先從市面上提供的免費雲端伺服器主機，將Application放置主機上，使用MS所提供資料庫，這樣一來，硬體成本大幅降低，將Application放置雲端上，且隨時隨地於任何終端裝置上連結網際網路，就能存取資料（因為基於公開的標準協定）。

## 體系架構

使用者端應用程式平台基礎設備伺服器

截止到2009年，大部分的雲計算基礎構架是由通過數據中心傳送的可信賴的服務和建立在伺服器上的不同層次的虛擬化技術組成的。人們可以在任何有提供網路基礎設施的地方使用這些服務。「雲」通常表現為對所有使用者的計算需求的單一訪問點。人們通常希望商業化的產品能夠滿足服務質量（QoS）的要求，並且一般情況下要提供服務水平協議。開放標準對於雲計算的發展是至關重要的，並且開源軟體已經為眾多的雲計算實例提供了基礎。

雲端的基本概念，是透過網路將龐大的運算處理程序自動分拆成無數個較小的子程序，再由多部伺服器所組成的龐大系統搜尋、運算分析之後將處理結果回傳給使用者。透過這項技術，遠端的服務供應商可以在數秒之內，達成處理數以千萬計甚至億計的資訊，達到和「超級電腦」同樣強大效能的網路服務。它可分析DNA結構、基因圖譜定序、解析癌症細胞等高階運算，例如Skype以點對點（P2P）方式來共同組成單一系統；又如Google透過MapReduce架構將資料拆成小塊運算後再重組回來，而且Big Table技術完全跳脫一般資料庫資料運作方式，以row設計儲存又完全的配合Google自己的檔案系統（Google檔案系統），以幫助資料快速穿過「雲端」。

## 核心特性

<image>

- 敏捷（Agility）使使用者得以快速且以低價格的獲得技術架構資源。
- 應用程式界面（API）的可達性是指允許軟體與雲以類似「人機互動這種使用者界面設施交互相所相一致的方式」來交互。雲計算系統典型的運用基於REST（Representational State Transfer）網路架構的API。
- 在公有雲中的傳輸模式中支持已經轉變為運營成本，故費用大幅下降。很顯然的降低了進入門欄，這是由於體系架構典型的是由第三方提供，且無需一次性購買，且沒有了罕見的集中計算任務的壓力。稱為計算資源包的通用計算基礎上的原則在細粒度上基於使用者的操作和更少的IT技能被內部實施。
- 設備和本地依賴允許用戶通過網頁瀏覽器來獲取資源，而無需關注使用者自身是通過何種設備，或在何地介入資源（如PC、行動裝置等）。通常設施是在非本地的（典型的是由第三方提供的），並且通過網際網路獲取，使用者可以從任何地方來連接。
- 體系結構的中央化使得本地的耗用更少（例如不動產、電力等）。
- 峰值負載能力增加（使用者無需建造最高可能的負載等級）。
- 原先利用率只有10-20%的系統利用效率增加了。
- 如果使用多個冗餘站點，則改進了可靠性，這允許我們設計雲計算以符合商業一致性以及災備。
- 可擴展性經由在合理粒度上按需的服務開通資源，接近實時的自服務 (注意，並非完全實時，服務的啟動時間根據虛擬機的類型，地點，作業系統和雲提供商的不同而不同)，無需使用者對峰值負載進行工程構造。
- 性能受到監控，同時一致性以及鬆散耦合架構通過web services作為系統接口被構建起來。
- 因為數據集中化了，故安全性得到了提升，增加了關注安全的資源等，但對特定敏感數據的失控將是持續關注的，且內核存儲的安全性缺少關注。較傳統系統而言，安全性的要求更加高。部分原因是提供商可以專注於使用者所無法提供的資源之安全性解決方案。然而當「數據分布在更廣的範圍以及更多數量的設備上」時，以及在由「不相關的多個使用者使用的多終端系統」時，安全性的複雜性極大的增加了。使用者獲取安全審計日誌變得不太可能了。私有雲的發展動力部分是源自客戶對設備的掌控以及避免丟失安全資訊。
- 維護雲計算應用是很簡單的，因為顯而易見使用者無需再在本機上進行安裝。一旦改變達到了客戶端，它們將更容易支持以及改進。

## 雲計算的隱私安全問題

雲計算受到業界的極大推崇並推出了一系列基於雲計算平台的服務。然而在使用者大量參與的情況下，不可避免的出現了隱私問題。使用者在雲計算平台上共享資訊使用服務，那麼雲計算平台需要收集其相關資訊。實際上，雲計算的核心特徵之一就是數據的儲存和安全完全由雲計算提供商負責。對於許多用戶來說，這一方面降低了組織內部和個人成本，無需搭建平台即可享受雲服務。但是，一旦數據脫離內網被共享至網際網路上，就無法通過物理隔離和其他手段防止隱私外洩。因此，許多的使用者擔心自己的隱私權會受到侵犯，其私密的資訊會被洩露和使用。

雲計算的隱私安全問題主要包括：

- 在未經授權的情況下，他人以不正當的方式進行數據侵入，獲得使用者數據。
- 政府部門或其他權利機構為達到目的對雲計算平台上的資訊進行檢查，獲取相應的資料以達到監管和控制的目的。
- 雲計算提供商為獲取商業利益對使用者資訊進行收集和處理。

## 外部連結

- DRBD®
- OpenNbula
- Eucalyptus
- Nimbus - cloud computing for science
- CloudStack - The Apache Software Foundation!
- Deltacloud API - The Apache Software Foundation!
- Cloud Foundry by VMware
- OpenStack