OpenStackとDockerの未来像(その2)
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
CTC教育サービスはコラム「OpenStackとDockerの未来像(その2) 」を公開しました。
はじめに
少し遅くなりましたが、本コラムを愛読いただいている皆様、新年あけましておめでとうございます。今年もまた、クラウドに関連したオープンソースの話題をお届けしていきます。今回は、前回に引き続いて、「OpenStack/Docker/Ansibleハンズオン」の内容を紹介していきたいと思います。
前回は、OpenStackとDockerを組み合わせた活用法として、OpenStackで用意した仮想マシンインスタンスに、Dockerイメージでアプリケーションを配信するという方法を紹介しました。あわせて、Dockerが稼働する仮想マシンインスタンスのテンプレートイメージ作成方法も解説しました。今回は、これを利用して、実際に動作するアプリケーションを配信してみましょう。
OpenStack環境でのコンテナ配置パターン
ここでは、Etherpad-Liteのアプリケーションイメージを配信します。Webブラウザー上でテキストを共同編集するツール「Etherpad」の簡易版です。図1のように、node.jsのWebアプリケーションとMySQLデータベースが連携する構成となります。
fig01
図1 Etherpad-Liteのアプリケーション構成
ここで、node.jsのコンテナとMySQLのコンテナを別々の仮想マシンインスタンスに配置している点に注意してください。1つの仮想マシン上で複数のコンテナを稼働することももちろん可能ですが、ここでは、あえて、1つの仮想マシンに対して、1つのコンテナという配置にしています。これは、コンテナを利用する目的として、「アプリケーションの配信を安全に行う」という点を明確するためです。
従来の環境では、アプリケーションごとに仮想マシンを分けることで、リソース配分を最適化したり、障害発生時の影響範囲を限定するなどの対応を行ってきました。1つの仮想マシンに複数のコンテナを配置した場合は、コンテナのレベルで同じことを実現する必要があるため、設定手順が複雑になったり、問題発生時の対応手順が従来と大きく変わるなどの影響が生まれます。ここでは、リソース配分や障害の影響範囲のコントロールは従来どおり仮想マシンにまかせて、アプリケーション配信という目的に特化して、Dockerを利用していることになります。コンテナでアプリケーション配信を安全にしつつ、設計や運用はなるべく従来から変えない工夫です。Docker活用のファーストステップとして、よい方法ではないでしょうか。
この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/nakai/nakai81.html
ソーシャルもやってます!