2012年6月20日 星期三

要使用大象,真的得養頭大象嗎?為何不使用AWS EMR


Amazon 在6/12宣布Amaozn EMR (Elastic MapReduce) 增加支援HBase的功能[1],對於一般開發者來說真是一大福音,因為可以減少要自己養大象的痛苦,套句現在企業經營節省成本的一句名言:要喝牛奶,真的要養頭牛嗎?同樣的想要使用MapReduce 一定要自己養一群大象嘛?更讓人心煩的是大象一點都不好養,因為更精確的來說大象其實是個航空母艦戰鬥群,是由許多戰艦組合而成:


  • Master 
    • HDFS - NameNode
    • Hbase - Master
    • Hadoop - JobTracker
  • Slave
    • HDFS - DataNode
    • Hbase - Region Server 
    • Hadoop - TaskTracker
  • OA&M
    • Zookeeper



所以必須要管理、調教許多台機器(Instance),而且在有限的機器(資源)下,還得測試怎樣的配置是最好的,真的是得花很多心思,事先都得規劃好,下圖是我們在開發一個SaaS model的Private Cloud 案子,為了讓方便調度,以及資源利用最大化,我們在三台刀鋒等級機器,搭配Xen的虛擬化技術,開了許多vm (instance),每個instance 都有著不同的角色。


也正因位在開發案子遇到這樣問題,我們在開發MeshCloud時,才會加入群組管理(Server Template)圖像化監控的概念。對照上圖,如果變成下面的顯示方式,會不會比較好理解和管理呢?



以敏捷式開發團隊來說,有一個很重要的概念就是DevOps
它的出現是由於軟體行業日益清晰地認識到:為了按時交付軟體產品和服務,開發和運營工作必須緊密合作[2]
Dev帶表開發人員,Ops帶表營運人員或是MIS,為了要達到敏捷式的快速迭代交付,一定要Dev與Ops密切合作,甚至有時候你本身就必須具備這兩種能力,這也墊高使用Hadoop來開發的門檻。

現在有了Amazon EMR 也算是一種解套方案,你不用自己去管理那麼多台機器,不用去調教Hadoop,你就只要專注在如何利用MapReduce [3]處理你的大量資料就好。

不過如果還是希望自己調教大象,或者是需要管理與監控各種不同類型的主機?

那現在就趕快來註 MeshCloud 吧!!

 (現在還在免費測試期內唷~XD)

[Update] 公司收起來摟~所以服務也收起來摟~:P

Reference:
[1] Apache HBase on Amazon EMR - Real-time Access to Your Big Data
[2] Wiki - DevOps
[3] Amazon Elastic MapReduce Documentation