やれ仮想化だ,
Jujuとは
「Juju」
Ubuntuにはもともと強力なパッケージ管理システムであるAPTが存在します。APTシステムを使えば多種多様なソフトウェアの依存関係の解決やインストール,
たとえば,
このような従来
- 注1)
- なぜwordpressパッケージにデータベースのパッケージが依存していないかと言うと,
データベースは必ずしもwordpressパッケージをインストールするマシン上に存在する必要はないからです。このためwordpressパッケージをインストールするとき, 「mysql-serverパッケージ」 のインストールが 「提案」 されますが, 自動的にはインストールされません。 - 注2)
- 開発当初,
Jujuはこの 「オーケストラ」 という単語にあわせて 「Ensemble (アンサンブル)」と呼ばれていました。ちなみに 「Juju」 はアフリカの言葉で 「魔法」 や 「魔除け」 を意味します。さらにJujuに必要なスクリプト群は 「Charm (魔力・ おまじない)」と呼ばれています。つまりJujuを使えば 「Charm (魔力) を用いてJuju (魔法) を発動する魔法使い」 になれるのです。
Chefとの違い
サービス構築の自動化という意味では,
よってUbuntu上でどちらを使うかは,
- Jujuは構成スクリプトをBashやPythonなど好きな言語を使って記述できる
- Jujuは構築の中でも,
サービス間の動的な 「Relation」 や 「Scale」 の設定の自動化に注力している - Chefが数多くのプラットフォームに対応しているのに対して,
JujuはUbuntuしかサポートしていない
もちろんJujuとChefを共存させることも可能です。Ubuntuインスタンスの生成とChefを動かすためのセットアップまでをJujuで,
Charm (構築手順書) を共有する
サービス構築にあたっての手順書を,
これらの構築手順書は,
そこでCanonicalでは
インストール方法
以前,
Jujuを使ううえで最低限必要なのは,
クライアントにはJujuを使うためのコマンド群をインストールします。明示的にJujuをインストールする必要があるのはこのクライアントだけです。
サーバとして使うマシンは物理マシンでも仮想マシンでもかまいません。仮想マシンは各種クラウドサービスを利用できますし,
もしまだ持っていないようなら,
$ ssh-keygen -t rsa -b 2048
この鍵は,
次にJujuをクライアントにインストールします。Jujuは頻繁にリリースされており,
$ sudo add-apt-repository ppa:juju/stable $ sudo apt-get update && sudo apt-get install juju-core
最後にJujuの設定ディレクトリと設定テンプレートを生成しておきましょう。次のコマンドは
$ juju init
これでJujuのインストールは完了です。
- 注3)
- Jujuは最近,
MacのOS X上にHomebrewを使ってインストールできるようになりました。詳しいインストール方法は公式のドキュメントを参照してください。ここではUbuntuのインストール方法のみを紹介しますが, インストール方法以外はOS X版と違いはありません。