云計算服務模型,第 2 部分: 平臺即服務(PaaS)

作者: Dan Orlando  發布時間: 2013-07-05 12:11  閱讀: 4345 次  推薦: 0   原文鏈接   [收藏]  

  英文原文:Cloud computing service models, Part 2: Platform as a Service

  平臺即服務 (PaaS) 常常是最容易讓人迷惑的云計算類別,因為很難識別它,常常把它誤認為是基礎設施即服務 (IaaS) 或軟件即服務 (SaaS)。在這個分三部分的文章系列的第二部分中,了解 PaaS 的特點以及如何在企業中應用它。

  PaaS 的獨特特點是,它讓開發人員可以在駐留的基礎設施上構建并部署 web 應用程序。換句話說,PaaS 讓您能夠使用云基礎設施似乎無窮的計算資源。

  當然,計算資源的數量看起來無窮只是幻想,限制取決于基礎設施的規模。但是,正如在本系列的第一篇中了解到的,Google 基礎設施大約包含超過一百萬臺基于 x86 的計算機。另外,因為用于 PaaS 的基礎設施是彈性的(第1部分中討論過這個概念),在需要時云可以擴展以提供更多的計算資源,所以無窮的資源并不完全是想像。

  PaaS 對于開發人員的意義

  開發人員常常誤以為云計算只適用于網絡管理員。但是,這個錯誤的觀念忽視了云計算可能給開發和質量保證團隊帶來的許多好處。

  在軟件開發過程中,一些東西常常會出問題。以我的經驗,設置服務器環境以駐留開發團隊要構建的 Web 應用程序可能會帶來許多爭吵。即使在最大的企業中,通常一位網絡管理員要負責為幾個開發團隊服務。在不使用 PaaS 的情況下,設置開發或測試環境通常需要完成以下任務:

  • 獲取并部署服務器。
  • 安裝操作系統、運行時環境、源代碼控制存儲庫和必需的所有其他中間件。
  • 配置操作系統、運行時環境、存儲庫和其他中間件。
  • 轉移或復制現有的代碼。
  • 測試并運行代碼以確保一切正常。

  在很多情況下,管理員已經非常忙了,所以讓他們抽出時間部署新環境會很困難。對于客戶機和服務器端的 web 應用程序開發人員來說,另一個主要問題是在本地復制運行時環境以便執行測試。

  現在,想像一下您是使用 PaaS 的開發團隊的成員。在這種情況下,您會有一個虛擬機 (VM),其中包含完整的服務器環境,可以把它放在 USB 閃存驅動器中帶在身邊。

  我希望您把注意力轉到第1部分中給出的概念交叉矩陣上,使用它作為參考分析 PaaS。表1再次給出這個矩陣。

  表 1. 三類云計算的概念交叉矩陣 

  范型轉變 特征 關鍵詞匯 優點 缺點和風險 不應該使用的場合
IaaS 基礎設施即資產 常常獨立于平臺;分擔基礎設施成本,因此會降低成本;服務水平協議 (SLA);按使用量付費;自我伸縮 網格計算,效用計算,計算實例,系統管理程序,暴雨 (cloudbursting),多租用者計算,資源池 避免在硬件和人力資源方面花費資產費用;降低 ROI 風險;降低進入門檻;簡化和自動化伸縮過程 企業效率和生產力很大程度上取決于廠商的能力;可能會增加長期成本;集中化需要新的/不同的安全措施 當資產預算大于運營預算時
PaaS 許可證購買 消費云基礎設施;能夠滿足敏捷的項目管理方法 解決方案堆 簡化的版本部署 集中化需要新的/不同的安全措施
SaaS 軟件即資產(企業和消費者) SLA;由 “瘦客戶機” 應用程序提供 UI;云組件;通過 API 進行通信;無狀態;松散耦合;模塊化;語義性互操作能力 瘦客戶機;客戶機-服務器應用程序 避免在軟件和開發資源方面花費資產費用;降低 ROI 風險;簡化和迭代式的更新 數據的集中化需要新的/不同的安全措施

  了解 PaaS 的最好方法可能是把它分解為主要組件:平臺和服務。現在,考慮提供的服務,這稱為解決方案。也就是說,PaaS 的兩個主要成分是計算平臺和解決方案堆。

  為了說明這兩個 “成分”,我們進一步研究一下它們的定義。按照最簡單的形式,計算平臺是指一個可以一致地啟動軟件的地方(只要代碼滿足平臺的標準)。平臺的常見示例包括 Windows™、Apple Mac OS X 和 Linux® 操作系統;用于移動計算的 Google Android、Windows Phone 和 Apple iOS;以及作為軟件框架的 Adobe® AIR™ 和 Microsoft® .NET Framework。要記住的重點是,計算平臺不是指軟件本身,而是指構建并運行軟件的平臺。圖1提供一張示意圖以幫助理解這種關系。

  圖 1. 云計算分類與 PaaS 元素之間關系的圖形化解釋 
云計算分類與 PaaS 元素之間關系的示意圖

  既然理解了計算平臺的概念,現在就來看看什么是解決方案堆。解決方案堆由應用程序組成,這些應用程序有助于開發過程和應用程序部署。這些應用程序是指操作系統、運行時環境、源代碼控制存儲庫和必需的所有其他中間件。

  選擇提供商

  解決方案堆也反映不同 PaaS 公司的差異,在決定采用 PaaS 之前,需要深入考察各個提供商提供的解決方案堆。

  在與某家 PaaS 提供商簽約之前,您應該問幾個基本問題:

  • 它支持哪些框架和語言?理想情況下,PaaS 應該支持基于此平臺選用的語言的任何框架。
  • 可以創建多少個應用程序?大多數 PaaS 提供商會根據您簽訂的計劃或服務包限制可以構建的應用程序數量。要確保提供商提供的計劃或服務包能夠滿足您的需要。
  • 允許哪些內容類型?支持 PaaS 的基礎設施通常涉及多租用者計算的概念,也就是說許多 “租用者” 分享單一服務器上的 “空間”,這些空間由系統管理程序(hypervisor)管理的 VM 實例分隔。PaaS 提供商可能會對要駐留的應用程序和內容的類型加以限制。
  • 支持哪些數據庫類型?如果您的數據要隨應用程序轉移,這個問題就是非常重要的。必須確保提供商提供的數據庫與您想要用來導入數據的格式兼容。
  • 它是否支持 SSL (HTTPS)?這個問題對于確保安全性非常重要。如果您打算通過應用程序處理事務,但是發現不支持 SSL,您就遇到大麻煩了。

  PaaS 剖析

  既然已經了解了 PaaS 的基本知識,現在研究一下在比較 PaaS 提供商時應該考慮的特性:

  • 應用程序開發框架。健壯的應用程序開發框架應該基于廣泛使用的技術。理想情況下,您應該避免廠商鎖定。使用 Java™ 技術等開放源碼框架通常比較好。
  • 容易使用。PaaS 應該附帶容易使用的 WYSIWYG 工具,應該有預先構建的部件、現成的 UI 組件、拖放工具和對某些標準 IDE 的支持。這應該會促進快速的迭代式應用程序開發。
  • 業務流程建模 (BPM) 工具。需要使用強大的 BPM 框架對業務流程進行建模,圍繞業務流程構建應用程序。
  • 可用性。應該能夠在任何時候從任何地方訪問并使用所選的平臺。
  • 可伸縮性。平臺應該足夠智能化,能夠利用底層基礎設施的彈性計算能力處理應用程序將承受的負載。
  • 安全性。為了有效地防御安全威脅,平臺應該解決跨站點腳本、SQL 注入、拒絕服務和通信流加密等問題,并讓安全措施完全融入應用程序開發中。另外,平臺必須支持單點登錄功能,讓您能夠把它與現有的內部應用程序或其他云應用程序集成起來。
  • 包容性。平臺應該能夠包容、嵌入和集成在相同平臺或其他平臺上構建的其他應用程序。
  • 可移植性。平臺應該不限制底層基礎設施類型,允許公司把應用程序從一個 IaaS 轉移到另一個。
  • 移植工具。為了輕松、快速地把數據從陳舊的內部應用程序遷移到基于新平臺的應用程序中,平臺的工具包中必須有批量導入轉換工具。
  • API。為了執行各種任務,比如用戶身份驗證、存儲和獲取文件(例如 Web 應用程序文件和資產)甚至直接調用數據庫,平臺應該有文檔齊全的 API。這讓企業能夠靈活地創建和定制軟件應用程序以與平臺交互,從而滿足公司的特殊需要。

  避免廠商鎖定

  廠商鎖定 (Vendor lock-in) 意味著消費者依賴于某一廠商,除非花費巨大的轉換成本,否則無法使用另一廠商的產品。當采用像云計算這樣的正在流行起來的新技術時,會增加出現廠商鎖定局面的機會。早期的使用者必須很清楚他們將處于什么境地,然后才能夠簽署長期的 IaaS 和 PaaS 協議。

  避免廠商鎖定的方法之一是通過 API 和平臺技術的標準化。Simple Cloud 等組織已經開始與參與這個開放源碼項目的各種規模的廠商協作,力求讓云中的 PHP 保持一致。為了創建 Simple Cloud,Zend Technologies、Microsoft、IBM 和 Rackspace 正在共同努力,其目標是跨不同的平臺提供一個抽象層。

  Simple Cloud API 的目標是為文件存儲、文檔存儲和簡單隊列服務創建通用的接口。這讓開發人員能夠編寫出可跨主要云平臺移植的應用程序。參與云計算標準化的廠商應該得到贊揚,應該鼓勵他們繼續努力。在選擇為您的公司提供 PaaS 服務的廠商時,我強烈建議優先考慮支持標準化的提供商。標準化會讓 IT 部門的工作更輕松,更重要的是,這會節省公司的資金。

  為了避免 PaaS 市場上出現廠商鎖定,需要支持相同底層 API 的服務提供商。答案很簡單:堅持采用專有技術的服務提供商必須同意支持 Simple Cloud 等標準化項目。

  在這個分三部分的云計算文章系列的第二部分中,您了解了 PaaS 的特點。還了解了在選擇 PaaS 提供商時應該問的問題以及應該關注的事項,比如廠商鎖定。本系列的最后一篇文章將分析 SaaS,介紹它的特點。還將學習在選擇 SaaS 提供商時為了保護企業需要注意的事項。請通過參考資料中的鏈接獲取關于 PaaS 的更多信息。

  參考資料

  關于作者

  http://www.ibm.com/developerworks/i/p-dorlando.jpg

  Dan Orlando 是企業開發社區公認的領導者。作為長期顧問,Dan 經常向行業領導者以及 IBM developerWorks、Adobe Developer Connection 和 Amazon Web Services 等出版物提供 Adobe 技術平臺方面的專業經驗。Dan 還在DanOrlando.com 上定期發表博客文章。

0
0
 
標簽:云計算
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()