コンテナテクノロジ専門の企業であるDiamantiが、同社のハイパーコンバージド・コンテナプラットフォームによって、Gartnerの“クールベンダ(cool vendor)”に選出された。開発者にとってコンテナは、依然として重要な存在であり続けている。InfoQでもこれまでに、ワークロード分散の目的でこの新たなフォームファクタに取り組んでいるストレージベンダやネットワークベンダ、システムベンダの興隆を取り上げてきた。今日のエンタープライズデータセンタはいまだ仮想マシンの世界向けに設計されているが、コンテナおよびクラウドネイティブに構築されたアプリケーションの増加により、その状況にも明らかな変化が起きつつある。
DiamantiはCisco、VMWare、Veritasの元経営幹部が立ち上げたスタートアップ企業で、現在はコンテナを念頭に置いた、次世代ストレージとネットワークアーキテクチャの構築を目標に置いている。
製品およびマーケティング担当副社長のMark Balch氏が、InfoQに対して、コンテナが開発者とデータセンタ運用担当者の間に位置することで生じる、現在の摩擦についての見解を示してくれた。
InfoQ: コンテナを使用する開発者の一般的な作業フローについて質問させてください。彼らが自分のラップトップで、まず最初に何を行なうのでしょうか?
Balch: Dockerのおかげで、開発者が自分のラップトップに開発環境をダウンロードして、コンテナを使ってアプリケーションを開発する作業が簡単にできるようになりました。多くのケースでは、この方法を事実上永遠に続けて、稼働環境に提供するまでの最終ステップとしてアプリケーションをVMにパッケージ化することが可能です。
しかしこの方法では、開発時にアプリケーションをデプロイする必要がなく、運用環境とは異なる環境を持つことになるため、パフォーマンス上の問題や、開発環境から運用環境にアプリケーションを適合させるという課題が発生する可能性があります。
つい最近、米国の大手ホテルチェーンで働いていて、これと同じ問題を抱えている開発者と話をしました。彼のチームはDockerを使ってWebサイトを開発していたのですが、開発完了後はコンテナ毎に別々のVMイメージを構築していました。この方法によって運用チームがコンテナ固有の知識を学ぶ必要がなくなったため、当初は運用への移行が非常に簡単になったのです。しかしながら、これを1年以上続けた今では、VMのスプロールに加えて、すべてのコンテナがVM全体をコンシュームする極めて非効率なスタックという、大きな問題を抱えています。
Dockerによってラップトップで簡単に作業を始められるようにはなりましたが、運用への移行時には大きなギャップがあるのです。
InfoQ: 一般的には、どの時点でコンテナを運用に移行しているのでしょう?
Balch: ラップトップ上でDockerを使って開発している間は、運用環境でのパフォーマンス上の問題やネットワーク、あるいは永続的ストレージの入手方法についても気にしていないのが普通です - 全部がローカルのラップトップ上にありますから。すべてがローカルにある上に、機能テスト用の小さなデータセットしかありませんから、セキュリティについても気にしていていないと思います。運用環境ではしかし、これらすべてが変わります。アプリケーションのスケーラビリティは大きな問題ですし、コンテナをデータセンタのネットワークに接続しなくてはなりません。ストレージやセキュリティも、ビジネスにおいては非常に重要です。
最初に直面する問題は、運用チームがどのようなフォーマットを使用できるのか、という点です。 現在はほとんどが仮想マシンですから、開発者はまず、この素晴らしく効率的なコンテナイメージをどのように配布して、これらの仮想マシン用にパッケージするかを考えなくてはなりません。
第2の問題はスケーラビリティです – 顧客が期待する応答性を実現するために、アプリケーションがスケールアウトする方法をいかに確保するか。ここでネットワークやストレージが問題になったり、仮想マシンのオーバーヘッドを考慮する必要が生じたりするのです。そしてもうひとつ - 必ずしもすべての開発者が、セキュリティを基本要件として設計してはいない、という点があります。これらの問題に対して、運用チームが責任を負わなくてはなりません。
InfoQ: コンテナに関する一般的評価を、開発者としての現実と比較した場合、どの部分がハイプで、どの部分はそうではないと思いますか?
Balch: コンテナイメージ構築の容易さや、起動や停止が迅速であるという点に関しては、ハイプになっていることは間違いありません。ですが、アプリケーションの運用にはまだまだたくさんのことがあります。市場がまだそれに追いついていないだけです。ですからコンテナに関して、私たちが講演の中で明らかにしたいのは、それがラップトップ上で動作するという話ではなく、運用環境で正しく動作するということなのです。現在でもまだ、膨大な量のカスタマイズとオペレーションの課題があります。
InfoQ: 運用担当者が直面する新たな世界、つまり、コンテナに関する開発者の作業のサポートという面については、何か言えることはありますか?どのような課題があるのでしょう?
Balch: 今日の運用担当者は、従来の仮想マシンというアプローチに留まってその非効率性とコストを甘んじて引き受けるか、あるいは不慣れな新技術であるコンテナネイティブという新たな運用モデルへの進出を受け入れるか、という二者択一を迫られています。
業界関係者の多くは、将来的にはコンテナがアプリケーションプラットフォームの中心になると考えています。問題なのは、効率的なコンテナ化の方法を見つけ出さなければならないかどうかではなく、それをいつ行なうかなのです。
しかしながら、開発者と運用担当者はその目標とするものが違うため、元来、緊張関係が存在しています。アプリケーションの提供を成功させたいのはどちらも同じですが、開発者は本質的に、開発速度と効率を向上させるテクノロジを優先します。対照的に運用担当者はより保守的で、信頼性と運用上の要件を重視します。そのため、開発側がコンテナのような新技術の早期導入を求めるのに対して、運用チームは、コンテナに対する完全な理解がなければビジネス上のコミットメントを満足できない点を問題視するのです。
InfoQ: その関心の根源は何にあるのでしょうか、開発者にとってのメリットは運用上の課題をどのように上回るのでしょう?
Balch: ビジネスの最終的な目標は利益の獲得であり、アプリケーション開発者はそれを実現するものです。生産性を高めるあらゆる技術が優先されます。コンテナが急速に普及した理由はそこにあります。ビジネスラインや開発者にとってメリットがあるからなのです。Eコマースや金融サービス、メディア企業など、ビジネス競争が白熱し、アジリティが高く評価される垂直市場において、このような傾向が見られます。ソフトウェアが支配する世界において、コンテナには大きな可能性があるのです。
こうした理由から、コンテナアプリケーションの実運用の方法を早く習得した運用チームほど、より自らのビジネス上の責務を果たすことが可能になります。業界ウォッチャの多くは、コンテナの採用が急速に進んでいると主張しています。今後12~18ヶ月の間に、運用担当者がその運用方法を見つけ出せなければ、開発者は他の方向に進んでしまうことになります。重要なのは、利益がかかっている時には、ビジネスに減速の余地はない、ということです。
この記事を評価
- 編集者評
- 編集長アクション