コンテナ技術Dockerのエンタープライズ利用に向けた技術検証を開始 ~「Fingerprintを活用したメディア探索サービス」基盤のコンテナ化による完全運用自動化を検証~

サービスインフォメーション

2015年9月15日

株式会社NTTデータ

株式会社NTTデータ(以下:NTTデータ)はDockerのエンタープライズシステムへの適用を目的として、同社が提供する「Fingerprint注1を活用したメディア探索サービス」(以下:メディア探索サービス)へのDocker適用の技術検証を10月1日より開始します。

「メディア探索サービス」は膨大な音声・映像データを高速かつ高精度で検索・検出できるサービスで、インターネット上の不正コンテンツ投稿の防止や違法流通監視等を行えるサービスです。本サービス基盤は複数のサーバーで構成され、分散して検索処理を行いますが、アプリケーション再配置作業が複雑であり、特にサーバー障害時の再配置作業が自動化できず、運用コストが削減しにくいといった課題がありました。

そこで今回NTTデータはエンタープライズシステムの運用完全自動化によるコストの削減を目指し、アプリケーションを動作環境ごとにイメージ化したコンテナの作成・コンテナのサーバー上へのデプロイ注2を容易に行うことができるDockerと、複数コンピューターの一元管理が可能な「Hinemos®(ヒネモス)」を活用し、「メディア探索サービス」の運用完全自動化の技術検証を開始します。今年度中に本サービス基盤のコンテナ基盤への移行を目指して技術検証を行い、その検証成果を基に2016年度より移行開始すると同時に、本技術検証の成果をシステム基盤自動化のためのDockerソリューションとして整備し提供することを目指します。

背景と概要

近年、より柔軟なシステム基盤の運用を実現するための技術として、Dockerに代表されるコンテナ型の仮想化技術に注目が集まっています。しかしコンテナ型仮想化技術は開発環境での導入が進む一方で、商用サービスを支えるエンタープライズシステムにおいては、システム運用を改善につなげる活用法が現在確立されておらず、導入が進んでいないといった状況があります。

NTTデータが提供する「メディア探索サービス」基盤は複数のサーバーから構成され、分散して検索処理を行うエンタープライズシステムです。本基盤では、十分な処理性能を確保するために、サーバーのハードウエアスペックに応じてアプリケーションの分散配置をきめ細やかに制御する必要があるため、アプリケーションの初期配置やサーバー障害発生時の再配置作業が複雑で自動化できず、運用コストが削減にくいといった課題がありました。また、アプリケーションの配置を容易にする方法として仮想化技術の導入を検討していましたが、従来の仮想化マシン型の仮想化技術ではハードウエアの性能を十分に活用することが難しく、サービスに必要な性能が得られない問題があり、導入には至りませんでした。

そこで今回、コンテナに関するNTTソフトウェアイノベーションセンタの研究成果等を活用しながら、コンテナを用いたエンタープライズシステムの運用改善の取り組みとして、コンテナ型の仮想化技術をメディア探索サービス基盤に導入し、本基盤における「大規模な分散処理環境へのアプリケーションの動的なデプロイ作業」および「サーバー障害発生時の復旧作業」の2つの運用作業における自動化・効率化の検証を開始することとしました。

技術検証の概要

本技術検証では、軽量なコンテナ型の仮想化技術を利用してハードウエア性能を十分に生かしつつ、オープンソースの統合運用管理ツールHinemosと連携し、アプリケーションの配置制御を自動化します。具体的には、アプリケーションの実行環境をコンテナとしてイメージ化し、Hinemosによって、複数サーバーにコンテナを自動配置します。またHinemosの監視機能を利用し、サーバーに障害が発生した場合には、障害サーバー上のコンテナを余剰リソース量を考慮して、正常に稼動しているサーバーに自動で再配置します。これにより性能影響を抑えつつ、自動かつ高速な縮退運転を実現します。

【図】

図1:コンテナとHinemosを用いたアプリケーションの配置制御のイメージ

技術検証の効果

本技術検証では、コンテナによる基盤の運用自動化によって、次の効果を実証します。

  • コンテナを利用し、アプリケーションの柔軟なデプロイを実現
  • HinemosとDockerの連携によって、アプリケーション基盤の管理を自動化・一元化

今後について

NTTデータは本技術検証の成果を基に、2016年度以降、メディア探索サービス基盤のコンテナ基盤への移行を目指します。また本技術検証の成果は、システム基盤自動化のためのDockerソリューションとして提供予定です。

なお本技術検証の詳細については、「Hinemos World 2015」にて講演を行います。

「Hinemos World 2015」

NTTデータならびにHinemosソリューションパートナーによるHinemosの最新動向やソリューション/サービス、導入事例などの役立つ情報を紹介します。

参考

「Docker」について

Dockerは、Docker社(旧dotCloud社)が開発したオープンソースソフトウエアで、コンテナによってアプリケーションを管理することができるソフトウエアです。従来のサーバー仮想化技術では、物理的なサーバー上のOS(ホストOS)で、仮想化を管理するソフトウエア(ハイパーバイザー)を稼動させて仮想サーバーを構築し、仮想サーバー上に独立したOS環境(ゲストOS)を実行します。そのため、ゲストOSごとの環境が完全に分離できる一方で、仮想サーバーのエミュレーション注3にオーバーヘッド注4があり、物理サーバーのハードウエアリソースを最大限に活用できない課題がありました。

一方コンテナは、物理的なサーバー上のOS(ホストOS)の内部で、アプリケーションが動作する環境(ユーザー空間)を分離し、サーバーリソースの分割を行います。コンテナでは仮想サーバーのエミュレーションが不要となるため、従来のサーバー仮想化技術と比較し、ハードウエアのリソースをより活用することが可能です。

Dockerは、コンテナの管理ソフトウエアであり、アプリケーションの実行環境をコンテナとしてイメージ化します。開発者・システム管理者は、Dockerによって、アプリケーションの実行環境を管理することが可能です。作成したコンテナイメージは、物理サーバー・仮想サーバー・クラウド上のサーバーなどの複数の環境のサーバー上で動作させることが可能です。各サーバー上のコンテナについては、Dockerによって起動・終了などの稼動状態を制御することができます。

【図】

図2:コンテナによる仮想化のイメージ

「Hinemos」について

Hinemosとは、複数のコンピューターを単一のコンピューターのようなイメージで運用管理することを可能にする、オープンソースソフトウエア(OSS)です。近年、仮想化対応やクラウドにも対応し、コンテナ技術であるDockerにも積極的に対応を進めています。本技術検証で利用しているDocker環境の管理・監視のノウハウの一部を、Hinemosポータルサイトに技術報告書として公開を本日より開始します。

注釈

  • 注1Fingerprintとは音声や映像の指紋照合技術で、音声や映像の断片が、大量にある音声・映像情報の中から該当する情報を高速かつ高精度で検出する技術です。NTTデータは、照合技術として、NTTコミュニケーション科学基礎研究所が開発したロバストメディア探索技術(RMS技術)を用いた、コンテンツ特定サービスなどを提供しています。
  • 注2デプロイとは、システムを利用可能な状態にすることを指します。
  • 注3エミュレーションとは、特定のハードウエア向けに開発されたソフトウエアを別のハードウエアで実行させることです。
  • 注4オーバーヘッドとは、ある処理を行うために間接的にかかってしまうコストのことです。
  • 「Hinemos」は日本国内における株式会社NTTデータの登録商標です。
  • その他の商品名、会社名、団体名は、各社の商標または登録商標です。

本件に関するお問い合わせ先

株式会社NTTデータ
基盤システム事業本部
システム方式技術事業部
第三技術統括部
第三技術担当
三浦、梶波
TEL:050-5546-2301