Special
» 2018年03月14日 10時00分 公開

Red Hatは「オープンハイブリッドクラウド」を目指す:Red HatのCTOに聞いた、AI、マイクロサービス、サーバレス、IoT、そしてKubernetes

ITの世界では新たな動きが次々に生まれ、それぞれが急速に進化しつつある。そして、新たな動きの大部分がオープンソースの世界で起きている。そこで、オープンソースソフトウェアに基づくエンタープライズIT製品/サービスで支持を高めているRed HatのCTO、クリス・ライト氏に、同社が何を考え、エンタープライズ顧客をどこに連れて行こうとしているのかを聞いた。

[PR/@IT]
PR

 「AI/機械学習/ディープラーニング」「コンテナ」「マイクロサービス」「サーバレス」――。さまざまなバズワードが象徴するように、ITの世界では新たな動きが次々に生まれ、それぞれが急速に進化しつつある。そして、新たな動きの大部分がオープンソースの世界で起きていることは興味深い。

 とはいえ、一般企業にとってはあまりにも進展が速い。既に内心、「ついていけない」と思っている読者は多いのではないか。そこで、オープンソースソフトウェアに基づくエンタープライズIT製品/サービスで支持を高めているRed HatのCTO、クリス・ライト(Chris Wright)氏に、同社が何を考え、エンタープライズ顧客をどこに連れて行こうとしているのかを聞いた。

(聞き手:アイティメディア@IT編集部エグゼクティブエディター、三木泉)

これからの時代に求められるエンタープライズITとは

――最近のオープンソースITの進化は目覚ましいですが、同時に複雑化も進んでいて、「何をいつ、どうすればいいのか分からない」という人が多いのではないかと思います。何がどうなっているのだと思いますか?

 今、IT業界で起こっていることは、どのような目的に支えられているのかを考えるのがいいと思います。

 ビジネスのデジタル化では、顧客体験の向上が重要な命題となります。このために、開発環境と運用の両面で、卓越した取り組みを進める必要があります。

 顧客を獲得し、保留するため、ビジネスアプリケーションはますますコンテキスト指向となり、パーソナライズが進みます。例えば機械学習/AIは、この点で大きく貢献する可能性があります。

 開発者は、こうした機能を実現するアプリケーションを、ますます高速で、容易に開発できなければならず、このために開発者のための環境を高度化する必要があります。運用では、信頼性、拡張性を維持しながら、高速開発を支援できなければなりません。その一方で、開発者に対する運用担当者の比率を引き下げ、コスト効率を高める必要があります。

 では、開発環境を高度化するためにやるべきことは何でしょうか。

 まず、CI/CDワークフローを確立し、開発者が運用チームを待つことなしに、コードを本番投入できなければなりません。

 また、マイクロサービス化が進むほど、開発者がアプリケーションのプラットフォームへの対応作業で手間を掛けることなく、ビジネス価値に直結する開発に専念できるよう、ツールやサービスが拡充されなければなりません。サーバレスコンピューティングは、こうしたツールの1つです。

――では、Red Hatは具体的に何をやろうとしているのですか?

 一言で表現すると、「オープンハイブリッドクラウド」環境の整備です。

 具体的に説明しましょう。運用効率を高めるためには、プラットフォームを標準化すべきです。Red Hatでは、Red Hat Enterprise Linux(以下、RHEL)をベースとし、一貫したランタイム環境を提供しています。RHELをベアメタルサーバの上で動かすことができますし、OpenStackなどの上で、仮想マシンとして動かすこともできます。さらにRed Hat OpenShift Container Platform(以下、OpenShift)で、RHELによるランタイム環境をスケールできます。OpenShiftは、その下に存在するさまざまなインフラを抽象化します。アプリケーションは社内の物理サーバおよび仮想化環境、さらに各種のパブリッククラウド上で動かせます。

ALT

 Red Hatの顧客の間では、パブリッククラウドの利用が進んでいます。とはいえ、全てのワークロードを単一のクラウドサービスに集約しようという顧客はほとんどいません。複数のパブリッククラウドを使い分けようとしています。また、重要なアプリケーションの一部はオンプレミスに残り、しかも場合によってはベアメタルサーバ上で動き続けるかもしれません。それでも、OpenShift上のモダンなアプリケーションと連携できなければなりません。さまざまなインフラにまたがって、一貫したランタイム環境を提供することは、この点で非常に重要です。

 一方、既存のモノリシックなアプリケーションを改変せず、そのままコンテナ環境に移行するだけでも、運用を改善することができます。OpenShiftではこうしたシナリオをサポートするため、Javaアプリケーションサーバを提供していますし、ステートフルなストレージ機能も利用できるようにしています。

――OpenShiftでは、注目されている「サービスメッシュ」にも対応するそうですね。

 はい。サービスメッシュ機能を提供するIstioというプロジェクトに、2017年5月の発足当初から参加しています。間もなく、OpenShift上でもテックプレビューとして提供開始します。

 私がIstioを非常に気に入っている理由は、マイクロサービス間通信に関わる面倒な作業から開発者を解放し、アプリケーションに専念できるようにしてくれるからです。

 Istioではサービスへの接続に関するワークフローを構築できます。認証キーが管理でき、アプリケーションを何も変更せずに暗号化し、アプリケーション内でどことどこがmTLS通信できるかを定義できます。負荷分散やQoSを含め、マイクロサービス間通信の制御をアプリケーションに組み込む必要がなくなります。

 もう1つの注目すべき動きであるサーバレスコンピューティング、あるいはFunctions as a Serviceについても対応していきます。サーバレスでは、ランタイム環境をプラットフォーム側で提供することにより、開発者は自身のコードに集中できます。

 Red HatがOpenShiftで対応を進めているプロジェクトの1つはApache OpenWhiskです。私たちは、OpenWhiskがKubernetes上で良好に動作するよう、改善を続けています。OpenWhiskではイベントに基づくトリガー機能が充実しています。他の同様な技術では、トリガーの扱いに弱いものが多いのが実情です。

 これとは別に、Kubernetesコミュニティでは、関数的なプリミティブのサポートが、徐々に進んでいます。この活動はまだ初期段階ですが、将来は、コンテナの起動と、プラットフォームによって管理されるランタイム環境での関数の起動が、一貫したワークフローの下で行えるようになるはずです。

 他の注目技術に関する取り組みとして、例えばブロックチェーンについては、パートナーと協業し、「OpenShift Block Chain Initiative」という活動を展開しています。OpenShift上で、パートナーがブロックチェーンを使ったサービスを構築することを促進しています。

――IoTについてはどのような活動をしているのですか?

 IoTは幅広く、奥の深い世界です。1つの取り組みとしては、センサーなどからのデータをルーティングするIoTゲートウェイのミドルウェアを、パートナーと開発しています。多数の通信事業者が、Red Hat製品を採用していますが、NFVについての活動の一環で、こうしたソリューションに、大きな興味を抱いています。

 IoTに関連して興味深いのは、エッジコンピューティングです。IoTでは、クライアントサーバモデルから、中間層での処理が挟まるアーキテクチャへの移行が考えられます。特にIoTデバイスが、ビデオカメラなど、大量のデータを生成する場合、これを全てクラウドに送りたくはありません。このため、ローカルでの処理が必要となります。

 エッジでの処理環境には制約がありますから、GPUのような新たなハードウェアアーキテクチャを生かした機械学習が、俄然重要性を増してきます。クラウドはハードウェアを見えなくする方向に向かってきましたが、エッジでは逆に、ハードウェアをどう生かすかが大きな課題になります。また、制約があるということは、コンテナおよびイベントトリガーの重要性にもつながります。

――機械学習/ディープラーニングについては、特定の機械学習ライブラリを後押ししているのですか?

 機械学習ライブラリについては、過去数年で多数のプロジェクトが生まれました。ようやく落ち着いてきた段階で、今後統合が進めば、私たちは生き残ったプロジェクトに注力できるようになります。ですが、まだどれが生き残るか、判断しにくい状況です。

 Red Hatでは、特定の機械学習ライブラリに力を入れるというより、機械学習における、データ収集、トレーニング、モデルの構築とチューニング、構築したモデルのアプリケーションからの利用といった一連のワークフローにおいて、開発者を支援することに力を入れています。

 Red Hatでは、Kubeflowという新しいプロジェクトに参加しています。このプロジェクトでは、Kubernetesによるオーケストレーションで、機械学習のための一連のプロセスをコンテナとして動かし、各プロセスを柔軟に拡張できるようにしています。モデル開発ではJupyterHub、学習ではTensorflow Training Container、適用ではTensorflow Servingを動かします。

 Kubeflowは現在のところTensorFlowに特化していますが、機械学習ライブラリに依存しないワークフローの確立を目指しています。

 一方でKubernetesでは、ディープラーニングで重要性を増す、GPUやFPGAなどへの対応を進めています。

 このようにして、OpenShiftはオープンソースコミュニティにおいて次々に生まれるイノベーションを取り込み、これらのプラットフォームとして進化し続けています。Red Hatのビジネスに直結するものについては、OpenShift上の自社製品として提供し、自社で提供することが適切でないと判断した重要技術については、パートナーとの協業によりソリューションを提供していきます。

――関連して、Red HatがCoreOSを買収した理由を聞かせてください。

 Red Hatがコンテナおよびコンテナオーケストレーションにますます投資し、力を入れていくということです。CoreOSは素晴らしい製品を生み出し、評価を確立してきました。そこで、Red HatはCoreOSと力を合わせ、コンテナおよびKubernetesへの取り組みを加速していきたいと考えました。

 TechtonicやContainer LinuxといったCoreOSの製品を、Red Hatが販売するわけではありません。当社は、これまでの製品を継続提供していきます。

 一方でCoreOSの買収により、エンジニアリング力を拡充できると共に、クラウドネイティブのエコシステムにおけるリーダーシップを強化していくことができます。

――これは、才能の買収でもあるということですね。

 もちろんです。彼らは、etcdをはじめ、Kubernetesやモダンなクラウドネイティブインフラに不可欠な構成要素を生み出してきた非常に有能な人たちです。

 最も重要なことは、この買収がRed HatにとってのKubernetesという存在の重要性を象徴しているということです。私たちはKubernetesが、イノベーションの次の波の基盤であると固く信じています。これを必ず結実させたいと思いますし、迅速に動きたいとも考えています。

 CoreOSを迎え入れることで、コミュニティに対する影響力も高められると考えています。

――2億5000万ドルという買収額も、Red HatにおけるKubernetesへの注力度を象徴しているということですね。

 その通りです。

 RHELがハードウェアからの独立とアプリケーションに対する一貫したランタイムの提供という大きな価値を発揮してきました。Kubernetesで私たちは、これと同じことを、多様なインフラにまたがる分散環境として提供できるようになります。

 個々のアプリケーションは新陳代謝していきますが、その動作する基盤は変わることなく、強力な機能を提供していかなくてはなりません。私たちがKubernetesに力を入れている理由はここにあります。

――Linux Foundationのエグゼクティブディレクターであるジム・ゼムリン氏も、「Kubernetesはクラウド時代のLinuxだ」と表現しています。

 私たちも同じ考えです。技術的な観点で、Kubernetesを「分散Linux」と考えることができます。

 Kubernetesのコミュニティでは、こんな会話もしています。

 「POSIXはOSへの標準インタフェースになった。Kubernetesでは、分散システムについての理解を深めながら、そのカギとなるインタフェースの組み込みを進め、POSIXと同様な存在になる」

 異なる下位インフラにまたがって、分散システムのための標準インタフェースを提供できる存在。私たちは今後も、その実現を目指して、努力を続けていきます。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:レッドハット株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2018年4月13日

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。