通過快速部署、很低的資本成本和可擴展性,云計算給公司企業了巨大的價值。
然而,選擇IaaS解決方案還是PaaS解決方案對云項目的回報速度以及應用程序開發創造價值的時間會有重大影響。
將大數據解決方案部署到云端時,一個早期的討論點和常見的架構決定就是選擇IaaS解決方案,還是選擇PaaS解決方案。大多數大型云服務提供商同時提供高度專業化的PaaS功能和比較靈活的IaaS功能,讓架構師可以選擇合理兼顧功能、成本、速度和可擴展性等方面的部分。
大數據市場的IaaS解決方案據往往是通常部署在企業內部本地的技術,但部署在云服務提供商的環境里面的虛擬機中。像Hadoop、Cassandra和MongoDB這些技術常常部署在公共云上,采用了類似本地部署環境的架構。
PaaS解決方案為廣大用戶提供了一系列功能,這些功能常常通過一套標準的API加以顯露,這些API可通過編程予以利用,以便迅速開發和部署應用程序。AWS的常見PaaS解決方案包括:面向數據倉庫的Redshift和面向NoSQL數據庫服務的DynamoDB。谷歌在提供PaaS功能時,還提供Bigtable(鍵/值存儲系統)和BigQuery(具有高度擴展性的數據分析引擎,支持類似SQL的大型數據集查詢)。
雖然每種解決方案各有獨特的優勢,但實際采用會不一樣,取決于具體的運營需求和技術特性要求。IaaS和PaaS方面需要權衡的一些常見因素如下:
IaaS
讓部署的云能夠酷似用于本地大數據解決方案的技術架構。
讓基于云的架構與提供商認證計劃和首選應用程序框架的聯系更加緊密。
讓應用程序和工作負載在云服務提供商之間更加易于移植。
能夠考慮一系列更廣泛的云,包括提供更為傳統的主機托管服務的提供商。
需要一系列更廣泛的技能,包括系統管理和運營。
通常根據相對計算和存儲資源的每小時費用來進行定價。
PaaS
通過對服務消費使用一種編程方法,可以更迅速地實現價值。
通過完善PaaS功能來獲得成熟的可擴展性:先作為云提供商的內部技術,然后作為PaaS功能提供給外面的用戶。
定價模式通?;谶w移的數據量或者是針對特定API的請求數。
在云端構建大數據解決方案時,你在考慮IaaS和PaaS功能以確定哪個更適合你具體的使用場合和工作負載時,有幾個關鍵的問題需要評估:
技能組合評估――PaaS解決方案需要較低的運營開銷和較少的系統級技能,但確實需要開發人員有相應經驗,并且熟悉用來調用PaaS解決方案的特定API和方法。
應用程序支持――許多大數據部署環境在充分利用商業化工具用于可視化和預測分析,這類工具往往需要數據平臺(比如PaaS和IaaS部署所用的那些平臺)方面有相應認證。你應該評估所有PaaS解決方案,確保API符合將來被集成的額外工具的要求。
成本模式――IaaS和PaaS之間的成本模式全然不同。PaaS系統將基于使用情況,所以預料不到的負載會對成本產生意料之外的影響,而IaaS基于可用計算容量,所以可能存在這種情況:為環境配置過多的資源,為未使用的資源花冤枉錢。
就構建大數據平臺而言,云計算提供了靈活的選擇方案:可以迅速部署的PaaS解決方案,以及靈活、易于移植的IaaS解決方案。貴企業應該從核心需求和技術要求入手,確定哪條道路最適合自己。