在灣區人盡皆知的 OpenStack 雲端系統簡單介紹...
不知道台灣有多少人知道此 project, 許多相關資料為英文,本文用中文簡述概念
Swift 為類似 Amazon S3 的雲端存儲,有別與以往傳統儲存空間,它擁有"低成本"、"極高擴展性"等特性。OpenStack 為 Open Source 軟體,目標是在一般硬體上實作雲端,因此人人都可以自行建立雲端環境。希望藉由這篇文章,讓對雲端存儲或 Swift 不熟悉的讀者更瞭解它的優勢架構。
Swift 簡介
swift 是一個多租戶技術(multi-tenant)、擴展性高、耐久的物件儲存系統。 他的高度擴展性可以從數個節點擴展到數千個機器。水平擴展的特性預防單點故障的情況發生。swift 已被全球 Fortune 500企業、網路公司及服務提供者應用。swift 一般用於存放非結構性資料,如文件、網路內容、備份、影像和 VM 快照。swift 並非傳統 file system或 raw block 裝置。反之,它透過 REST API 操作(儲存、刪除、取得) 物件(object) 。
程式開發者可以使用 swift API 或是使用現有程式語言如 Java、 Python、Ruby、C# 所提供的library。
Swift 特色
Swift 可擴展性高
為了同時支援千萬個用戶,儲存系統必須可隨著應用程式的需求擴展。可用空間並不是唯一的考量,主要的關鍵在於儲存系統的並行能力,其是否能夠在資料中心內處理龐大的連線數目,以滿足應用程式的需求。Swift 可線性擴展,當系統的使用量和連線需求數目成長時,效能仍能夠維持一定的水準。需要擴展時,只需要新增儲存點(storage node) 因應儲存空間的需求; 新增伺服系點(proxy node) 因應連線需求的增加。
Swift 非常耐久
Amazon S3 號稱他們的雲端中心的耐久度為 99.999999999%。欲達到此程度的耐久度,所有儲存在Swift的物件(Object) 都以一式三份的複製,分散於叢集(cluster)中。所以每一次的資料寫入,都會確認是否也同時寫入其他兩個位置才會視為成功。
另一個特性是能夠定義"容錯區域"(failure zone)。容錯區域能讓一個叢集建立在多個實體界線上,而每個實體界線都能夠容許有個別出錯的可能。例如:一個雲端叢集建立在多個鄰近的資料中心上,如此一來可以容許一個或多可資料中心停擺/錯誤。
Swift 為開放原始碼軟體
與其他自由軟體不同的是,早在第一次公開發佈前,Swift 早已在 Rackspace 受過大規模的嚴謹測試。身為開放原始碼軟體,Swift有幾項好處:沒有廠商壟斷問題、社群支援以及大量開發快速的 swift 工具和服務。
Swift 類似於 AWS S3
存取 Swift 存儲完全需要透過 REST API。他與 Amazon S3 API 和 Rackspace Cloud Files API 相類似。這代表目前使用 S3 的應用程式,也可以使用 Swift 且程式碼不需作大幅更改。
Swift 建立在業界標準的元件上
Swift 使用成熟、標準的元件像是rsync、MD5、xfs 和 python。Swift執行在現有的 Linux 版本上,與其他使用專利、高客制化的儲存系統不同。從硬體的角度來說,由於Swift 被設計成能夠容許錯誤的特性,對於硬體的要求相較來說沒這麼高。因此,一般電腦的硬碟可使用在Swift 叢集中,而不是高價位的“企業級”硬碟。更因為可以使用一般的硬體,不會發生只能向某個存儲廠商購買硬體的情形。
Swift 可以部署在組織內部或是一項服務
對於某些不放心將資料除存在公有雲的公司,在內部部署 swift 可以達到降低成本、相似效能並可以完全掌控網路存取和安全性。Swift 也可以以公有存儲的形式部署為一項服務。對於想要提供類似 S3 的服務提供者可以考慮使用 swift。
Swift 廣受支援
swift 受到廣大的社群,包括100+個公司和1000+ 位開發者支援。
文章來源網址:http://zmanda-taiwan.blogspot.com/2012/05/openstack-swift.html