HPE Blog, Japan
1753502 メンバー
5110 オンライン
108794 解決策
新規ポスト
yoshihiko1989

【連載】次世代ハイパーコンバージド「HPE SimpliVity」を取り巻くエコシステム ー 第2回 コンテナプラットフォームに不可欠なこととは!?その1

みなさんこんにちは、日本ヒューレット・パッカードの片山嘉彦(かたやまよしひこ)です。

SimpliVityを取り巻くエコシステムのご紹介をしていく本連載。

第一回連載ではコンテナを動かす基盤として仮想化基盤の選択肢も大いにあるとのお話をさせていただきました。

引き続き、コンテナをエンタープライズ環境で活用する上で必要なコンテナ管理ツール側コンテナを動かすプラットフォーム側に焦点を当てて解説していきます。

 

コンテナオーケストレーションツールとは?

まずコンテナの管理から。

エンタープライズのVMware環境は、ほぼすべてのケースで統合管理ツールのvCenter Serverが導入されるかと思います。これと同様に、コンテナ環境をエンタープライズで運用する上では、複数の環境を統合的に管理する「管理ツール」が必要です。

1つのホスト上でコンテナを展開する場合は、コンテナランタイム(Docker Engine)単体でも問題ありませんが、エンタープライズ環境を見据えた場合、高可用性(High Availability)や、複数のコンテナランタイムを束ねて管理する必要が生じてきます。

また、今までのモノシリックなアプリを支える仮想マシンと比較すると、アプリをマイクロサービス化するコンテナはその管理対象数は増加してしまいます。これは一般的に1つのプロセスに対して、コンテナを1つ消費するためで、つまり管理者にかかる負担は従来のサーバー仮想化以上です。

スタンドアロン(単体)のコンテナホストでは、物理にせよ仮想にせよ、

  • サービス/コンテナの監視
  • コンテナホストの管理
  • rootアクセスによるセキュリティ問題
  • DBなどの永続データの保全(コンテナ自体はステートレスでデータを保持しないため)
  • コンテナホストが壊れてしまった場合の対応、High Availability
  • 複数ホスト間での運用/自動化、コンテナ間通信

などといったエンタープライズ環境で求められる要件をカバーしきれません。

そこで必要不可欠となってくるのがコンテナ環境を管理するツール、つまり「コンテナオーケストレーションツール」です。
katayama_no2_1.png

 

コンテナオーケストレーションツールには、Docker SwarmMesosphere DC/OSなどいくつか種類がございますが、現状デファクトスタンダードとなっているのはKubernetesでしょう。Kubernetesは元々Googleが設計し、現在はLinux Foundationの傘下であるCNCF(Cloud Native Computing Foundation)がメンテナンスを行うオープンソースコンテナオーケストレーションツールです。

 

オーケストレーションの代表Kubernetesの役割

オーケストレーションツールの代表であるKubernetesの役割を掻い摘んでご説明します。

Kubernetesとは、単一の巨大なコンピューティングリソースとして扱う、スケーラブルなコンテナクラスタを実現するためのオーケストレーションツールです。

複数ホストにまたがるコンテナランタイムを束ねて管理することが可能で、全体の管理の役割を担う「Master」と、コンテナ(実際にはPodといったコンテナをまとめた管理単位)を実際に動かす「Node」に分かれます。

サービスの障害時や負荷に応じて別のホストでコンテナを起動させ、サービスを継続したり、自動でコンテナをスケールするような仕組みを持ち合わせていることから、従来のがんじがらめの運用や障害時の課題を改善し、変革し得るシステム基盤の構築が可能です。

Kubernetes自体はOSSですので、エンタープライズ環境で使用するには、サポート面の強化が必要です。Docker SwarmMesosphere DC/OS 上で動かすまたは、商用版のKubernetesであるRed Hat OpenShift Container Platformを使用するのが現実解となるかと思います。
katayama_no2_2.png

  

コンテナオーケストレーションの市場分析

オープンソースのコンテナ監視ツールを提供している“Sysdig社”の2018年最新レポートでは、実際動作しているコンテナ環境にまつわるあれこれのデータが満載で非常に興味深いレポートになっています。最後にこちらをご紹介しましょう。katayama_no2_3.png

 「The top12~」で始まる左上の項目は、コンテナ型として動いているアプリのTop12です。フロントエンド系のアプリが目立つ中で、RedisMongoDBといったデータベースやFluentdなどのログ収集関連のコンテナも稼働実績が上がってきたことがわかります。その下の「Orchestrators for Docker Containers」では、コンテナオーケストレーションとして、Kubernetesが全体の過半数を占め、かつ20172018にかけても使用比率が伸びています。その一方で、コンテナクラスタのサイズが大きいものを扱う際にはMESOSの使用頻度が高く、Big Data系の処理をするには適している傾向が見て取れます(Cluster size influences~)。Docker1ホストあたりの集約数や、コンテナのライフサイクルを示す右下の「The fravors of Kubernetes」では、素のOSSであるKubernetesがそのまま使われることが多い一方で、Red Hat社の商用サポート版もあるOpenShiftが次点となってます。

HPEはハードウェアベンダーながら、DockerやMesosphere DC/OSをOEM製品として保守サポート含めて取り扱いをしています。また、Kubernetesの商用版であるRed Hat OpenShift Container Platformは、「HPEコンテナShiftパック」として、SimpliVityのソリューションパッケージとしても展開させていただいております。katayama_no2_4.png

 

katayama_no2_5.png

次回は、コンテナを動かすプラットフォーム側の観点から、コンテナプラットフォームに不可欠なことをご紹介したいと思います。

0 感謝
作者について

yoshihiko1989

日本ヒューレット・パッカード株式会社で Server Solution / CloudNative関連のプリセールスを担当しています。