Jujuのデプロイ対象環境は、大きく分けて3種類あります。
①ベアメタル環境---「MaaS(Metal as a Service)」「LXDコンテナ」を利用
②パブリッククラウド環境---AWS、Azure、Google Cloud Platformなど
③ローカルマシン仮想化環境---「LXC仮想化」「ローカルプロバイダ」を利用
「アプリケーションモデリング」とは、下から上に構築するのではなく、上から下へ(サービス+関連性)を指定して、意図を明確に表現できるようにするための手法です。
Jujuのアプリケーションモデルは、一連のソフトウェアアプリケーションを管理および操作するための環境です。ユーザーに、シンプルにモデルを表現できるモデリングツールを提供します。
各モデルは「さまざまなプロビジョニング構成」「オペレーティングソフトウェアのセット」「さまざまなレベルのアクセス権を持つ異なるユーザー」など保持します。
「Webアプリケーション」+「ロードバランサー」+「データベース」を「web-app」モデルとして利用できます。
このようなモデルを使用することで、展開について、論理的なソリューションに分離して別々に管理できます。
すべての操作タスクは自動化され、サービスを連携させることで、適切なマシンプロビジョニングを行えます。
どのようなクラウドやコンピューティングリソース上でも「アプリケーションモデルの拡大/縮小」や「同一アプリケーションモデルを別の環境に再配置」などが可能で、繰り返し実行できます。
Jujuのアプリケーションモデルを利用することで、複雑な大規模ソフトウェアトポロジー操作の詳細を抽象化できるため、運用コストが削減され、柔軟性が提供されます。
Jujuは高いレベルの抽象化を提供します。
実行するマシンに関係なく展開および構成管理が行え、周辺範囲についても操作できる管理ツールを提供します。
Jujuの主な利点の1つとして「動的なリレーション構成能力」があります。リレーション構成は、サービスを統合する複雑さについて抽象化できる機能です。
各サービスはリレーションを通じて即座に統合され、「サービスの即時再構成」や「サービス間の関係についての即時再構成」も行えます。
たとえば、データベースサービス「MySQL」とCMSサービス「WordPress」の関係を作成した場合、この2つのサービスは「IP情報」「ユーザー情報」「パスワード情報」「その他の設定情報」などを共有します。
この動的リレーション構成により、WordPressはMySQLにテーブルを作成して、データを自動的にインポートできます。
サービススケーリングに関するすべての複雑さについても抽象化されます。
ユーザーは必要なユニット数を指定するだけでスケーリングが自動的に行われます。
Jujuコントローラーは、管理下にあるJujuクライアントとワークロードマシンの間で発生するすべてのイベント(状態、ユーザーアクティビティなど)を監視して、実行中のアプリケーションモデル内のすべてのマシンを管理します。
Jujuコントローラーは以下を管理します。
・実行中の複数のアプリケーションモデルの管理
・アプリケーションモデル内のすべての仮想マシンの管理
・スケールアウト管理
・設定管理
・配置管理
・ユーザーアカウント管理
・共有管理
・アクセス管理 など
Jujuは、管理インターフェースとして、「コマンドライン管理ツール」と「GUI管理ツール(Juju GUI)」を提供します。
「Juju GUI」は、Webブラウザから操作できるサーバサイドツールで、グラフィカル表現を使用してGUI操作を行えます。
・サービス状態確認(現在どのモデルでどのソフトウェアが実行されているか?)
・構築手順書「チャーム」情報の確認
・ドラッグ&ドロップでのサービスデプロイ(ソフトウェアスタック配置)
・サービスの設定変更
・スケールアウト/スケールダウン
・設定のエクスポート/インポート など
OSS×Cloud ACCESS RANKING