コンテナ技術とは
従来のサーバ仮想化が物理サーバのホストOSの上に仮想的なサーバを作り出すのに対し、コンテナ技術はホストOSのユーザ空間を分離して隔離されたアプリケーション動作環境を実現します。サーバ仮想化よりもオーバヘッドが小さく軽量であることと、コンテナ内に構成した内容をパッケージングして持ち運ぶことができるポータビリティの高さから、主にアプリケーション開発を効率化する技術として普及しつつあります。コンテナの実行環境(コンテナエンジン)を提供する代表的なソフトウェアが「Docker」です。
![図1 コンテナ技術の特徴 図1 コンテナ技術の特徴](/jp/ja/-/media/nttdatajapan/images/data-insight/2018/20181217/ima01.jpg?la=ja-jp&hash=5BC9EFCD7EB4E655DD98DB92424B24EDBB80E6AF)
コンテナオーケストレーション
1ホスト1コンテナの環境であればDockerだけでも問題ありませんが、実際のシステムでは複数台のサーバにまたがりコンテナを実行・管理する必要があります。その課題を解決するのが「コンテナオーケストレーション」です。コンテナオーケストレーションは、複数台のサーバにまたがるコンテナの管理、死活監視、負荷分散を実現します。現在、コンテナオーケストレーションを実現するソフトウェアとしては、Googleが開発しオープンソース化した「kubernetes(k8s)」が事実上のデファクトの地位を確立しており、クラウド事業者も独自実装のコンテナサービスに加え、k8sベースのコンテナサービスの提供を進めています。
レガシーシステムへのコンテナ適用
コンテナが注目を集めている理由の一つに、クラウドネイティブやマイクロサービスのような、デジタルアーキテクチャとの親和性が挙げられます。それらのアーキテクチャのメリットを最大化するために、コンテナの軽量さやポータビリティが求められるためです。しかし、従来のレガシーシステム、モノリシック(一枚岩)なアプリケーションをコンテナ化する場合でも、次のようなメリットが期待できます。
環境維持運用の効率化
コンテナ化により、アプリケーション動作環境を環境差分なく、迅速かつ省リソースで構築可能になるため、サーバ仮想化では難しかった開発者一人一つ、オンデマンドな開発環境が実現できます。これにより、環境維持運用の効率化、環境差分に起因する不具合の低減などの効果が得られます。
![図2 環境維持運用の効率化 図2 環境維持運用の効率化](/jp/ja/-/media/nttdatajapan/images/data-insight/2018/20181217/ima02.jpg?la=ja-jp&hash=1152FB4124A269E473421B3F5458F62E33C58954)
インフラ高度化・運用自動化
コンテナオーケストレーションは、コンテナ化したアプリケーションのスケーリングや障害検知・復旧を自動化する機能や、ローリングアップデートのような安全・無停止のデプロイ機能を提供します。コンテナオーケストレーションをフル活用することにより、従来これらの機能を実現するために必要であったインフラ設計や実装、運用整備を行うことなく、レガシーシステムのインフラ高度化・運用自動化が実現できます。
![図3 インフラ高度化・運用自動化 図3 インフラ高度化・運用自動化](/jp/ja/-/media/nttdatajapan/images/data-insight/2018/20181217/ima03.jpg?la=ja-jp&hash=8D22D2088713A7954866FB213DD1663A04B217EE)
ハイブリッドクラウドの実現
「進化するプライベートクラウド(※1)」の通り、クラウドのトレンドは、プライベートクラウドとパブリッククラウドを組み合わせたハイブリッドクラウドへと向かっています。ハイブリッドクラウドでは、クラウド間でのアプリケーションの移動を可能とする必要がありますが、コンテナ化によりインフラレイヤに依存しないアプリケーション動作環境が実現できます。レガシーシステムをコンテナ化し、ハイブリッドクラウドに移行することにより、システムのワークロードやビジネスニーズの変化に合わせて柔軟なインフラ選択が可能となり、ITコストの最適化やビジネスの即応性が期待できます。
![図4 ハイブリッドクラウドの実現 図4 ハイブリッドクラウドの実現](/jp/ja/-/media/nttdatajapan/images/data-insight/2018/20181217/ima04.jpg?la=ja-jp&hash=D8FBB4ED8538842CA3567473B5C30A84AC81695D)
レガシーデジタルインテグレーション
上記の通り、レガシーシステムにコンテナを適用した場合でも、インフラの運用効率化やコスト削減などの効果が期待できます。NTTデータでは、今回紹介したコンテナ技術を含め、既存IT資産を活用しつつデジタル化を実現する技術を「Legacy Digital Integration(レガシーデジタルインテグレーション)(※2)(※3)」として提供しています。
- ※1 イマ旬!2.0「進化するプライベートクラウド」:
http://www.nttdata.com/jp/ja/insights/blog/20181025.html - ※2 NTTデータ、既存IT資産のデジタル化推進を目的に、レッドハットとDell EMCと3社で協業を開始:
http://www.nttdata.com/jp/ja/news/release/2017/101901.html - ※3 「デジタルテクノロジ推進室」の設置について:
http://www.nttdata.com/jp/ja/news/release/2018/040202.html