コンテナをデプロイするに当たって、インフラ&オペレーションの担当リーダーは、戦略を策定し、投資対効果をしっかり検討しておく必要がある。コンテナプラットフォーム戦略に盛り込むべき6つの重要な要素を紹介する。
ガートナーの米国本社発のオフィシャルサイト「Smarter with Gartner」と、ガートナー アナリストらのブログサイト「Gartner Blog Network」から、@IT編集部が独自の視点で“読むべき記事”をピックアップして翻訳。グローバルのITトレンドを先取りし「今、何が起きているのか、起きようとしているのか」を展望する。
「コンテナを活用してアプリケーションの提供をスピードアップさせよう」。世界中のインフラ&オペレーション(I&O)の担当リーダーが今、上司であるCxO(最高責任者レベル)の役員のこうした指示に応えようとしている。だが、コンテナ技術の普及が急速に進んでいるものの、この技術があなたの会社に適しているとは限らない。
コンテナは、企業がレガシーアプリケーションをモダナイズしたり、スケーラブルかつアジャイルな新しいクラウドネイティブアプリケーションを作成したりするのに役立つ。「Docker」などのコンテナエンジンや、「Kubernetes」などのオーケストレーションフレームワークは、アプリケーションをパッケージ化し(コード、ランタイム、ライブラリをまとめて)、ソフトウェア開発ライフサイクルの各段階で一貫した形で実行する、標準化された方法を提供する。
Gartnerは、2022年にはグローバル企業の75%以上が、コンテナ化されたアプリケーションを本番環境で運用するようになると予測している。この割合は、現在の30%未満から大幅に上昇することになる。
だが、現在のコンテナエコシステムはまだ未成熟であり、企業が本番環境にコンテナをデプロイするに当たっては、複雑さやコストの増大を見越して投資対効果をしっかり検討しておかなければならない。
「コンテナについては関心が高まっており、急速に導入が進んでいる。だが、コンテナを本番環境で運用するには、多くのことを学ばなければならない。コンテナは技術として未成熟な部分があり、運用ノウハウが乏しいからだ」と、Gartnerのアナリストでディスティングイッシュト バイスプレジデントのアルン・チャンドラセカラン氏は語る。
「I&Oチームは、本番環境におけるコンテナのセキュリティや分離を確保すると同時に、コンテナ環境の可用性やパフォーマンス、完全性に関わる運用上の問題を軽減する必要がある」(チャンドラセカラン氏)
Gartnerは、I&Oリーダーが本番環境へのコンテナのデプロイに伴う問題を軽減するのに役立つように、コンテナプラットフォーム戦略に盛り込むべき6つの重要な要素を特定している。それらの要素は以下の通りだ。
セキュリティはDevOpsプロセスに組み込む必要があり、コンテナ環境はライフサイクル全体にわたって保護しなければならない。このライフサイクルには、アプリケーションの開発および構築プロセス、デプロイ、運用フェーズが含まれる。不正行為を防ぐには、I&Oリーダーはホワイトリスティング、行動監視、異常検知が可能なセキュリティ製品に投資しなければならない。
クラウドネイティブアプリケーションをデプロイしたら、ホストベースのモニタリングからコンテナ固有のサービス指向のモニタリングに転換する必要がある。回復性とパフォーマンスに関するサービスレベル合意(SLA)を確実に順守するためだ。「コンテナの、そしてコンテナ間でのサービスレベルのモニタリングに力を入れるとよい。物理ホストではなく、アプリケーションをモニタリングしなければならない」(チャンドラセカラン氏)
2つの場合を考えてみよう。コンテナの主なユースケースがレガシーアプリケーションの“リフト&シフト”である場合、ストレージニーズはほとんど変わらないかもしれない。だが、アプリケーションのリファクタリングや、新しいマイクロサービス指向アプリケーションの構築にコンテナを使用する場合、企業は開発者のワークフローに統合され、そうしたアプリケーションのワークロードのアジリティーやパフォーマンス、可用性を最大化できるストレージプラットフォームを必要とする。
従来のネットワークスタックは、コンテナのポータビリティーと短いライフサイクルに対応できない。ネイティブコンテナネットワークスタックも、アクセスおよびポリシー管理機能が十分に堅牢(けんろう)ではない。「そのため、I&Oチームは、コンテナ環境では手動のネットワークプロビジョニングを排除し、ネットワークの自動化によってアジリティーを実現し、開発者に適切なツールと十分な柔軟性を提供しなければならない」(チャンドラセカラン氏)
コンテナの利用は、コンテナのスプロール(無秩序な増殖)につながる恐れがある。このスプロールは、仮想マシンのデプロイで多発したものよりも深刻化しかねない。多数のレイヤーのサービスとツールが、この複雑な状況に拍車を掛けることが多い。コンテナライフサイクル管理は、CI/CD(継続的インテグレーション/継続的デリバリー)プロセスと密接に連携させることで自動化できる。継続的構成自動化ツールも組み合わせれば、インフラのデプロイおよび運用タスクも自動化できる。
コンテナのデプロイでは、オーケストレーションとスケジューリングのレイヤーで重要な機能が提供される。オーケストレーションレイヤーでは、アプリケーションとやりとりを行い、コンテナの動作を望ましい状態で継続することで、合意されたサービスレベルを維持する。スケジューリングでは、コンテナをクラスタ内の最適なホストに配置する。最適なホストは、オーケストレーションレイヤーの要件によって規定される。
Kubernetesは、コンテナのスケジューリングとオーケストレーションにおけるデファクトスタンダードとなっている。コミュニティーが活発に活動しており、主要な商用ベンダーのほとんどがサポートしている。企業は、CaaS(Containers as a Service)とPaaS(Platform as a Service)のトレードオフに加え、ハイブリッドとクラウドネイティブサービスのトレードオフを慎重に評価し、Kubernetesの適切な利用モデルを決定しなければならない。
出典:6 Best Practices for Creating a Container Platform Strategy(Smarter with Gartner)
Director, Public Relations
Copyright © ITmedia, Inc. All Rights Reserved.