Simple Cloud API

Simple Cloud API 為了各種雲服務提供了共用的 API。在 Zend、GoGrid、IBM®、Microsoft®、Nirvanix 和 Rackspace的合作努力下,API 使您能夠編寫出可移植的並可與多個雲供應商進行互操作的的代碼。最好的一點是,API 使您能夠根據需要使用特定於一個具體供應商的服務。

簡介,前沿技術,API 的級別,目標,外界評價,

簡介

雲計算的靈活性和經濟效益產生了巨大的利益。開發人員使用這個技術時,一個明顯關心的問題是供應商壁壘。編寫一個充分利用雲計算的應用程式是一件很棒的事情。但是如果該應用程式把您局限於一個單一的供應商的話該怎么辦呢?Simple Cloud API 是多個供應商共同努力創建的單一API,能夠與來自多個供應商的雲服務一起使用。本文是 API 及其目標的高級概覽。

前沿技術

雲計算可能會極大地改變 IT 技術的面貌,就像 Web 興起以來的許多技術一樣。如果您是一名開發人員或架構師,即使現在沒有使用雲計算,至少也該正在對它進行評估。這的確令人興奮,但還是應該保持警惕。就如其他任何新技術一樣,您應該對雲技術的優缺點有所了解並只在適當的時候使用。
使用任何新技術的最大風險之一就是創建重要的應用程式時可能會受到一個特定供應商的控制。雲計算有著顯著的經濟效益,但是如果使用雲要受到供應商的價格策略的擺布,那就是一個主要問題。即使您對您的雲供應商非常滿意,您的合作夥伴、客戶和供貨商仍可能使用不同的雲供應商。您的應用程式要能夠與儘可能多的供應商和服務一起使用,這一點很重要。
Simple Cloud API的設計目的是為多個雲服務和多個雲供應商提供一個單一、簡單、可互操作的 API。

API 的級別

編寫使用多個雲服務的代碼有幾種方法。為把 Simple Cloud API 放在上下文中,我們將從 4 個級別檢查這個 API :
連線
特定於語言的工具包
特定於服務的工具包
中立於服務的工具包。

目標

Simple Cloud API 是為了可互操作的代碼而設計的。許多雲服務都支持在 Simple Cloud API 中定義操作。最終目標是編寫的與一個雲服務一起使用的代碼要能與所有類似的雲服務一起使用。Simple Cloud API 的 PHP 實現使用了 Factory 和 Adapter設計模式。要使用一個特定的雲服務,您可以使用一組配置參數調用適當的工廠方法(如用於檔案存儲的 Zend_Cloud_Storage_Factory)。工廠方法返回的類用於一個特定於服務的適配器。適配器把 Simple Cloud API 調用映射到每個雲供應商所需的特定於服務的調用中。
為三種類型的雲服務定義 Simple Cloud API:
檔案存儲(File Storage)
文檔存儲(Document Storage)
簡單佇列(Simple Queues)
檔案存儲 指的是傳統雲存儲系統,如 S3 和 Nirvanix。使用檔案存儲服務,您要對了解已經存儲在雲中的數據並對此負責。您能夠獲得一個目錄/存儲桶的清單和每個目錄/存儲桶中的檔案清單,但是要不要對每個檔案表示的意思進行跟蹤,這取決於您。在這個 API 中,典型的方法有 fetchItem()、listItems()、deleteItem(),以及 fetchMetadata()。
文檔存儲 包括更為結構化的系統,如 Amazon 的 SimpleDB。與簡單的檔案存儲不一樣,文檔存儲提供佇列功能幫您查找信息。在一些用例中,基本的服務是有著模式支持的相關資料庫。在其他的用例中,它會是一個類型簡單許多的服務。在這個 API 中,典型的方法有 listCollections()、listDocuments()、insertDocument(),以及 query()。
簡單佇列 是佇列系統,如 Amazon 的 Simple Queue Service。用於簡單佇列 API 的典型方法有 sendMessage()、listQueues() 和 peekMessage()。

外界評價

Simple Cloud API 是幾個主要的雲供應商合作的結晶,用來創建一個能夠與許多雲服務和供應商一起使用的單一、簡單並可互操作的 API。支持更多雲服務和雲供應商的工作正在進行中,而且除了 PHP 以外,多語言 API 的實現也正在進行中。沒有開放性和靈活性,雲計算就不可能充分發揮其潛力。對於保持雲的開放性和您的應用程式到靈活性來說,Simple Cloud API 是一個很重要的工具。

相關詞條

熱門詞條

聯絡我們