[Cloud Computing] 公有雲與私有雲的差別

最近有很多讀者來信詢問公有雲與私有雲的差別,在課堂上也有學問詢問這個問題,所以我就以這篇文章說明我的觀點。

最近有很多讀者來信詢問公有雲與私有雲的差別,在課堂上也有同學詢問這個問題,所以我就以這篇文章說明我的觀點。

我的 Windows Azure 教戰手札的主要標的是公有雲 (Public Cloud),也就是建置於 Microsoft Datacenter 中的應用程式,使用的是 Windows Azure Platform 以及其上的應用程式平台 (API/Services),在 PaaS (Platform as a Service) 的架構下,基本上 Client (用戶) 是不會處理到 OS, Virtualization, Patch, Networking 的細節部份,所以供應商 (Microsoft) 提供的文件就顯得非常重要,而且也需要有一個系統的整理與教學,這也是我的這本書會誕生的原因之一。 但私有雲 (Private Cloud) 是植基於企業自己的資料中心,而有能力建置資料中心的企業,通常都會有專業的網管人員以及系統管理人員,同時也必須擁有大量的伺服器硬體 (server hardware) 與網路基礎建設 (network infrastructure),通常也會有 AD 或是自己的安全管理機制,這些工具與軟體是現在市面上很多 Windows Server 系列的書籍有介紹和教學的,因此目前即便是國外,也幾乎沒有私有雲的建置專書 (理論的倒是有啦 :) )。

如果想要知道自己企業建置的是否為雲端平台或應用,請檢視自己的資料中心或是主機群是否具有下列的特性 (這是 NIST Cloud Computing 定義的五項特性):

  • 自我控制的隨選服務 (On-demand Self-service):簡單的說,就是自己可調控需要的服務類型,不論是 Compute Instances, Storage Resources 或平台應用等,當然服務可以視經營的平台是什麼,IaaS, PaaS 和 SaaS 有各自專注的領域。
  • 充足的網路頻寬 (Broad Network Access):這在公有雲非常重要,因為要處理所有 client 運作需要的頻寬,對私有雲來說,企業的資料中心對內可以承受所有企業內部需要的流量的頻寬,對外則是可以支援外部員工,合作廠商與行動裝置的流量。
  • 資源池 (Resource Pools):這是雲端核心特性之一,如果沒有資源池的話根本就不能算是雲端,包含隨選服務以及快速且具彈性的擴充能力都要由資源池來提供,若沒有資源池的話,就無法對服務的運算資源進行調控 (Scale-Up/Scale-Out),而資源可能是運算資源 (CPU/RAM),網路頻寬或是儲存資源等。
  • 快速且具彈性的擴充能力 (Rapid Elasticity):這是雲端核心特性之一,若服務無法彈性的進行調控的話,根本不能算是雲端服務,這也是為什麼虛擬化技術會成為雲端運算的關鍵技術之一的原因。
  • 可評量的服務 (Measured Service):這對公有雲十分重要,因為這是收費以及確保服務品質 (SLA) 的關鍵,但對私有雲也很重要,因為可以計算目前服務以及資料中心目前的使用成本與效益,IT 人員也可以動態的監測服務的健康狀態 (Health),以即時反應服務應有的品質。

當然,以微軟的產品線與技術能量,在公有雲和私有雲間都有完整的產品線,對於企業的私有雲建置來說,只要選擇適當的產品線,以及適當的規劃部署,就能成功的建置出私有雲架構,但還是要滿足上述的五大特性,才可以真的稱為私有雲。

而對於公有雲的應用上,Windows Azure 還是最佳平台,微軟對於 Windows Azure 和公有雲基礎架構的發展仍然會持續,並且提供公有雲和私有雲間的整合能力 (Windows Azure Connect 即是一例)。

希望以上的說明能解除你對公有雲和私有雲差異的疑惑。有問題亦可留言討論。