【Special】

これからのアプリケーション実装に不可欠なコンテナ技術~DockerベースのPaaSでユーザー価値を最大化するレッドハット

2015年12月21日(月)

次世代のコンテナ技術として注目されるDockerは、いよいよエンタープライズシステム領域での活用に広がりを見せている。2015年10月14日に開催された「PaaSコンファレンス2015」(主催:インプレス)のセッションにおいてレッドハットは、Dockerおよびそのオーケスレーション機能Kubernetesをベースに同社が提供開始したPaaS基盤の最新版「OpenShift Enteprise 3」を紹介し、今後の自律的なシステム運用のあり方を示唆した。以下に主要トピックを紹介する。

エンタープライズシステムをDockerで“賢く”活用する

 ひとつのアプリケーションをサービスインするまでに企業は、開発環境、テスト環境、事前環境、本番環境など、いくつものシステム環境を用意するのが通例だ。この作業には何人ものエンジニアがかかわり、膨大な手間と時間、コストをかけているのが実情である。

 しかも、そのステップでは様々な障害が避けられない。パラメータシートなどのドキュメントを用いてそれぞれの基盤の仕様を一致させているつもりでも、人手を介する以上、必ずそこにはケアレスミスや誤認が発生してしまうのである。

 また、本番環境の障害対策はどうだろうか。高価なハードウェアやソフトウェアを導入し、HAクラスタリング構成を組んでいるものの、いざ障害が発生した際には「待機系ノードの反応→OS起動→ミドルウェア起動→アプリケーション起動」といった手順を踏み、サービスが再開するまでには15分以上のタイムロスが発生してしまう。

 ライブのチケット予約など大量のトランザクションを短時間で処理しなければならないWebサイトでは、急激な負荷増大に対応するため水面下でシステム管理者が悪戦苦闘しているケースが珍しくない。

レッドハット株式会社 プロダクト・ソリューション事業統括本部 ミドルウェア事業部 事業部長の岡下浩明氏

 こうした実態に対して、「もっと賢いやり方があるのではないでしょうか」と問題提起したのが、レッドハット プロダクト・ソリューション事業統括本部 ミドルウェア事業部の事業部長を務める岡下浩明氏だ。Googleやアマゾンといった先進企業がすでに実践している自律的なシステム運用を、一般企業も考えていく必要があるとの主張である。では、具体的にどのようなアプローチによってそれを目指せばよいのだろうか。そこで岡下氏が示唆したのが「Docker」の活用だ。

 Dockerとはアプリケーション仮想化技術の一種であり、OSシステムライブラリ(最小構成のOS環境)やミドルウェア、各種設定パラメータなどのシステム環境を含んだアプリケーションを1つのファイルとしてイメージ化したものだ。

図1 システム環境を含んだアプリケーションをイメージ化するDocker
拡大画像表示

 また、Dockerはコンテナ管理のためのフレームワークと見ることもできる。Linuxが標準提供しているLinuxコンテナ「lxc」やRed Hat Enterprise Linux 7.0(RHEL7)で採用されている「libcontainer」と呼ばれるコンテナ管理の仕組みを使い、アプリケーション実行環境を軽量かつ効率的に整えることが可能だ。それぞれのアプリケーションはこうしたコンテナ環境で稼働するため、「RHELをはじめとするLinux、Solaris、WindowsなどのコンテナOSのほか、AWS、Google、Azureなどのクラウド環境まで、どこでも動作させることができます」(岡下氏)。

図2 Dockerイメージは様々な環境で稼働する
拡大画像表示

 

DockerベースのPaaS基盤に生まれ変わった
OpenShift Enterprise 3

 もっとも、Dockerを使いこなすためには、「Dockerアプリケーションの開発環境はどう作るのか」「ビルド手順をどのように自動化するのか」「バージョン管理はどうするのか」「開発→テスト→本番のイメージ切り替えの正しい手順」「起動・停止の適切なタイミング」「無停止切り替えの確立された手順」「ネットワークへの影響をどう把握するのか」「アプリケーションが異常終了した場合の対処」「BCP/DR環境の構築」など、開発、配備、運用、更新にまたがる多くのノウハウが必要となる。

 これらの課題に対応するベストプラクティスを集大成したのが、Googleがオープンソースとして公開した「Kubernetes(クーバネティス)」だ。複数サーバーに対するコンテナの自動分散配備や起動・停止、障害検知、ネットワーク負荷分散などを、複数のDockerアプリケーションから構成されたPod上で実現する。

関連記事

これからのアプリケーション実装に不可欠なコンテナ技術~DockerベースのPaaSでユーザー価値を最大化するレッドハット次世代のコンテナ技術として注目されるDockerは、いよいよエンタープライズシステム領域での活用に広がりを見せている。2015年10月14日に開催された「PaaSコンファレンス2015」(主催:インプレス)のセッションにおいてレッドハットは、Dockerおよびそのオーケスレーション機能Kubernetesをベースに同社が提供開始したPaaS基盤の最新版「OpenShift Enteprise 3」を紹介し、今後の自律的なシステム運用のあり方を示唆した。以下に主要トピックを紹介する。

PAGE TOP