ubuntu JuJu 介紹
在上一篇文章中, 我們介紹了MaaS,
若以雲端的三種服務類型分類(IaaS, PaaS, SaaS),
MaaS提供一組實體的伺服器叢集, 應該被歸類於IaaS的服務類型.
當我們定義好一個運算支援叢集,
不論其運算資源是來自於虛擬機(例如: Amazon, OpenStack),
或是實體的伺服器群組(例如: MaaS),
都必須要部件相對應的作業系統與程式, 提供叢集內運算或是管理的需求,
以hadoop 1.2.1為例, 運算節點就分成了master和slave,
其中, master節點必須以heart beat的方式控管從集中的節點,
並根據即時的叢集狀態, 進行工作(MapReduce)與儲存(HDFS)的分配.
對於更複雜的叢集, 如OpenStack, 就擁有更多不同的角色與設定,
因此, ubuntu JuJu的目的就在於提供一套映象檔(image)與叢集設定的機制,
使得雲端上的叢集, 可以快速且自動地在運算叢集上建立起服務.
在ubuntu中, 映象檔稱為charmers, 和原生地Linux映象檔不同,
charmers預先定義了功能(例如: hadoop中的Master節點),
並能夠透過指令或是UI, 更改參數設定.
目前提供的charmers: https://jujucharms.com/q/?type=charm
當決定好叢集內的節點, 以及其功能後,
ubuntu就會幫使用者佈建這些charmers, 並且做出相對應的設定,
在以下這篇文章中, 作者利用Linux Container的方式建立虛擬層(hypervisor)環境,
並搭配ubuntu JuJu建立起Wordpress的網站伺服器, 是一個清楚的示範例:
http://fourdollars.blogspot.tw/2013/09/ubuntu-juju-local-provider-linux.html
對於更複雜的佈建環境, 如OpenStack,
ubuntu JuJu也可以幫忙簡化安裝時的參數設定,
甚至提供叢集動態配置(scaling)的功能,
考慮到一些和既有網路的相容設定問題,
目前ubuntu JuJu看起來仍無法全自動的進行資源配置,
因此, ubuntu JuJu也提供了報錯機制, 讓使用者能夠手動修正設定檔,
以完成雲端服務叢集的建置.
ubuntu JuJu的概念在某些角度上已經類似於流計算(Streaming Computing),
將從集中的運算資源(包括實體機與虛擬機), 視為運算的節點,
藉由節點功能的定義, 節點和節點之間關係的定義, 而自動的配置服務,
考慮到網路虛擬化的發展, 或許這樣的架構會是未來雲端的解答.
Reference:
http://askubuntu.com/questions/78314/how-do-i-deploy-an-openstack-cloud-with-juju
http://insights.ubuntu.com/2013/08/29/top-12-questions-about-juju/
http://www.ubuntu.com/cloud/tools/juju
https://jujucharms.com/
留言
張貼留言