第17回 忘れ物する人やデータの積み残しにコンテナが効く――どういうこと?クラウド社会とデータ永久保存時代の歩き方(2/2 ページ)

» 2016年06月22日 08時25分 公開
前のページへ 1|2       

コンテナって? そう、あの「Docker」とかです

Dockerのロゴ

 「Docker」という言葉を聞いたことがある人はかなり多いと思います。これはコンテナ技術を提供する一つの会社名です。よく仮想化とコンテナの違いを聞かれることが多いのですが、分かりやすく言うと、仮想化が大量の仮想サーバーを作るのに適しているのに対し、コンテナはアプリケーションを大量に作ったり更新したりするのに適しています。

 「DevOps」という言葉を聞かれた方も多いかもしれません。ソフトウェアの開発から運用のプロセスを従来に比べて飛躍的に短縮できる手法ですが、ここで効果を発揮するのがコンテナ技術です。なぜ、コンテナがDevOpsに便利なのでしょうか。

 それは、ソフトウェアを動作させるために必要なものを「積み残しなく」「丸ごと運ぶ」箱だからです。読者の皆さんも、あるアプリケーションを使いたくてダウンロードしようとしたら、ソフトウェアの動作条件が書いてあるのを見たことがあると思います。「この条件でないと動作保障しませんよ」というものですが、ほとんどの市販のソフトウェアは、最近のノートPCでも十分動作するようなものがほとんどなので、気にすることはまずないです。

 しかし、開発中の新しいソフトウェアや、逆に相当古いソフトウェアの場合、どの環境でも動くというものではありません。そこで、アプリケーションとミドルウェア、その関連ライブラリなどを1つのコンテナに入れてしまい、それをどこに移動しても確実に実行できるようにします。従来は数分程度かかっていたアプリケーションの起動時間を数秒に短くできるのも、コンテナ技術の大きな魅力でしょう。

IT業界のコンテナ、本当に積み残しなし?

 このように非常に便利なコンテナ技術ですが、本当に「積み残しは」ないのでしょうか。実は、そこで使われているデータは積み残されてしまう可能性があるのです。というのは、コンテナを削除、または移動した場合、Dockerはそこで使われていたデータまでは移動や削除をしてくれないのです。これではデータベース等を利用するアプリケーションは非常に使いにくいですね。「それでは困る!」ということで、「Flocker」といったものをプラグインとして使うことで解決します。

 Flockerを使うことで、従来マニュアル作業で行っていた、コンテナの移動や削除に伴うデータの移動、削除を自動化できます。さらに、データベースを扱うアプリケーションのフェイルオーバーが可能になったり、別のアプリケーションから同じデータを使うようにすることも可能になります。これまでオープンソースの開発環境などに使われてきたコンテナ技術も、実運用のデータベースなどを含むIT環境でも利用できるようになってきています。

 スピードが一層求められる現代において、準備に時間をかけず、忘れ物なく素早く移動できるこのコンテナ技術を、日常生活だけでなく今後のアプリケーション開発や運用にも生かしてみてはいかがでしょうか?

※参考……ClusterHQ Flockerは、Dockerアプリケーション向けのオープンソースのデータボリューム管理システムです。Dockerのコンテナとデータボリュームをセットで管理することにより、データベースなどのステートフルコンテナとデータの継続的アクセスを可能にします。

著者:井上陽治(いのうえ・ようじ)

日本ヒューレット・パッカード株式会社 ストレージテクノロジーエバンジェリスト。ストレージ技術の最先端を研究、開発を推進。IT業界でハード設計10年、HPでテープストレージスペシャリストを15年経験したのち、現在SDS(Software Defined Storage)スペシャリスト。次世代ストレージ基盤、特にSDSや大容量アーカイブの提案を行う。テープストレージ、LTFS 関連技術に精通し、JEITAのテープストレージ専門委員会副会長を務める。大容量データの長期保管が必要な放送 映像業界、学術研究分野の知識も豊富に有する。

井上氏の最新記事が読めるブログはこちら


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ