云端运算

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

## 沿革

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

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

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

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

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

## 基本特徵

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

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

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

一般認為還有如下特徵：

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

## 參考形態

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

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

## 發展歷史

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

## 服務模式

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

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

## 部署模型

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

### 公用雲

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

### 私有雲

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

### 社群雲

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

### 混合雲

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

## 對比

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

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

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

## 體系架構

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

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

## 核心特性

* 敏捷（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 （頁面存檔備份，存於網際網路檔案館）