2018年7月24日(米国時間) 、Googleは米サンフランシスコで開催中の年次カンファレンス「Google Cloud Next'18」において、Google CloudおよびG Suite関連のいくつかの大きな発表を行いました。本稿ではそのうち、Googleの商用Kubernetesマネージドサービス「Google Kubernetes Engine(GKE) 」を核とした新プラットフォームビジョン「Cloud Services Platform 」の概要を紹介するとともに、世界中の企業で急速に拡大するKubernetesプラットフォーム採用の動きについても触れてみたいと思います。
「Google Cloud Next '18」会場となった米サンフランシスコにあるモスコーン・センター
「Next '18」レジストレーションコーナー
あえて今、オンプレミスに乗り出す意義
Cloud Services Platformについて、Googleは「デプロイするITインフラの場所がいつ、どこにあるかを問わず、クラウドのベネフィットを顧客のもとに届ける」プラットフォームであると説明しています。もう少し具体的にいうと、オンプレミスとパブリッククラウド(GCP)を、GKEをベースに抽象化レイヤと共通インタフェースでシームレスに統合し、エンタープライズグレードな環境―パフォーマンス、信頼性、セキュリティ、ガバナンスといった、企業がITインフラに求める要求を高い水準でクリアしたハイブリッドクラウド環境を提供すると謳っています。
Googleは商用クラウドサービスとして、2008年4月からエンジニア向けにPaaS環境の「Google App Engine」を提供してきましたが、その10年後にGoogleがエンタープライズ向けにオンプレミスのサービスをみずから手がけるようになるとは、やはり隔世の感を禁じ得ません。
Cloud Services Platformには今回のNext'18で新たに発表されたものを含め、以下のコンポーネントが含まれています。
オープンソースのマイクロサービスマネジメントプラットフォーム「Istio」およびそのマネージドサービス「Managed Istio」 、Googleが2016年に買収したApigeeによる「Apigee API Management for Istio」
オンプレミス版のGKE(Google Kubernetes Engine)である「GKE On-Prem」( アルファ版)
Kubernetesワークロードを管理する「GKE Policy Management」
アプリケーションパフォーマンスを可視化してモニタリングする「Stackdriver Service Monitoring」
Kubernetes上でサーバレスを実現するアドオンサービス「Serverless add-on」( アーリーアクセスプログラム)
オープンソースのサーバレスフレームワーク「Knative」
コンテナイメージのビルドを実行するフルマネージドサービスの開発ツール「Cloud Build」
おわかりのように、Cloud Services Platformはハイブリッド環境で利用可能なGKEとその管理ツール、そしてサービスメッシュとしてのIstio、さらにGKE上でのサーバレスのサポートで構成されています。ここでは「GKE On-Prem」と「Istio」の2つにフォーカスしてみます。
Cloud Services Platformの各コンポーネントの関係(Google Cloud Platform Blog より)
オンプレミス向けサービスも手がけるGoogle
今回の発表で筆者が個人的にもっとも驚いたのは、前述したように、Googleがみずからの手でオンプレミス向けのサービスとして「GKE On-Prem」( マルチクラスタリング機能含む)を提供したことです。
周知の通り、ここ1年でのKubernetesの普及はすさまじく、世界中の企業がKubernetes上でアプリケーションのビルド&デプロイを実行するようになっています。ほんの2年ほど前までは、「 コンテナは開発者のテスト環境として利用」「 1つのコンテナの平均的な寿命は5分ほど」といった状態が普通であり、本番環境でのアダプションは非常に限定的だったことを考えると、この1年でITトレンドが大きく変わったことを実感します(参考記事: “ コンテナネイティブ” の時代が本格到来 ―2018年のクラウドはKubernetesとGoogleに注目 ) 。
しかし一方で、クリティカルなアプリケーションワークロードはオンプレミスで動かすことを望むエンタープライズ企業はいまだに多く、GCP上でしかデプロイできないGKEはユーザ企業、とくにレガシーアプリケーションを数多く抱える企業にとっては優先度の高い選択肢とはなりにくい存在でした。また、素のKubernetesはオペレーションが非常に煩雑で、巨大なクラスタを運用するとなるとコストも大きく、さらにスケーリングやセキュリティなどに関する専門スキルも要求されます。現在、AWSやAzure、Googleといったパブリッククラウドベンダだけでなく、VMware(Pivotal) 、Red Hat、Ciscoなど、いわゆる"レガシー"なITソリューションを得意とするベンダが商用Kubernetesサービスを積極的に展開していますが、これらは「オンプレミス/ハイブリッドクラウド」「 マネージドサービス」をKubernetesに求める顧客のニーズに応えたものです。
2016年にVMwareの共同創業者だったダイアン・グリーン(Dianne Greene)氏がGoogle CloudのCEOに就任して以来、同社はこうした企業とのパートナーシップを努めて強化し、ハイブリッドクラウドを指向するユーザのニーズに応えてきましたが、ここにきてGKEをみずからの手でオンプレミスに展開することで、エンタープライズクラウド市場にさらに深く切り込む姿勢を明らかにしたといえます。とくに最大の競合であるAWSは、Kubernetesへのシフトを強めているものの、オンプレミスのソリューションは提供していないため、Kubernetesの普及がこのまま進めばGKE On-PremはAWSに対する強力な対抗カードとなる可能性は十分にあります。
また、GoogleはGKE On-Premを利用するユーザは「既存のオンプレミスのアプリケーションをクラウドに移行することなくモダナイズできる」というメリットも強調しています。レガシーアプリケーションをクラウドに移行するだけでなく、これまで"クラウドファースト/クラウドネイティブ"でなければ難しいとされてきたアプリケーションのモダナイズを、まずはオンプレミスでスタートすることができるのであれば、Google Cloudに魅力を感じるようになるユーザ企業は少なくないはずです。
なお、Next'18では、Cloud Services PlatformおよびGKE On-Premの発表にともない、最初のローンチパートナーとしてCiscoが選ばれており、Ciscoのエグゼクティブが登壇しているようです。6月に米オーランドで行われたCiscoの年次カンファレンス「Cisco Live 2018」では、両者のハイブリッドクラウドにおけるパートナーシップ強化が発表されており、グリーンCEOがゲストとしてオープニングキーノートに登壇しました。今回のCloud Services Platformの発表で両者の関係はさらに強化されることになり、クラウド業界のパワーバランスに若干の変化があるかもしれません。
「Cisco Live 2018」で発表されたGoogleとCiscoのハイブリッドクラウドにおける連携部分。GKE On-Premのリリースにより、この連携はさらに強化されて提供される
Cisco Live 2018のオープニングキーノートにGoogleのエグゼクティブとしてはじめて登壇したダイアン・グリーン氏(右)。左はCiscoのチャック・ロビンスCEO
注目のオープンソースツールIstio
GKE On-Premと同時に、Kubernetes上でアプリケーションを動かす上で欠かせないマイクロサービスのマネジメントツールとして、Googleはオープンソースの「Istio 」の開発に注力してきました。Kubernetes同様、Istioの開発にはRed HatやIBM、Red Hatなど複数の企業が参加しています。現時点(7/26)のバージョンは0.8ですが、すでに「Istio 1.0」に向けてスナップショットも登場しており、近日中に正式リリースが発表される予定 です。
Kubernetesほどではありませんが、Istioもここ1年で急速に注目度が高まったプロダクトです。その最大の理由としてはもちろんKubernetesの普及が挙げられるのですが、それに加え、IstioがRESTにまつわる煩雑さをほぼすべてカバーできるアーキテクチャであることも大きいといえます。マイロサービスどうしをREST APIで接続した場合、依存関係が複雑化し、サービスメッシュが大きくなりすぎて管理が難しくなり、「 何度呼び出しても、リトライしても、失敗ばかりで結果が返ってこない」といった事態も頻繁に発生します。こうしたケースを回避し、アプリケーションとしての信頼性を担保するために、開発者はこれまでコーディングでカバーしてきたのですが、当然ながらそうした作業は開発者にとっての負荷となります。
IstioはそうしたマイクロサービスとRESTにまつわるわずらわしさ―ダイナミックルーティングやアプリケーションレベル(L7)のロードバランシング、プログラム言語やプラットフォームの違いをまたいだ運用、ポリシーの適用、権限コントロールなどを、サービスメッシュでインフラにオーバーロードすることで、開発者をコーディングの負荷から解放し、インフラ担当者には柔軟なコントロールを可能にしています。このようにアプリケーションレイヤでできることが格段に増えるため、マイクロサービスのマネジメントプラットフォームとしてIstioの評価は上がり続けているのです。
Googleは今回、Cloud Services PlatformにおいてIstioを標準のサービスメッシュとして扱い、さらにマネージドサービス「Mangaed Istio」を提供すると発表しました。Managed Istioでは、クラスタ間に存在するすべてのマイクロサービスに対し、セキュアでインテリジェントなマネジメントを提供すると約束しています。Istioのマネージドサービス提供は業界でも初となるだけに、リリース後の反響にも注目したいところです。
冒頭でも触れたとおり、2018年に入ってからのKubernetesの普及スピードはすさまじく、ITインフラの世界を大きく塗り替えつつあります。同時に、これまでIaaS、PaaS、SaaSといった分類がされていたクラウドの世界も、"Kubernetesファースト"の浸透により、既存の概念がもはや通用しなくなりつつあることを実感します。
Kubernetesをここまで押し上げた背景には、世界中の企業がアプリケーション開発にこれまでにないレベルのスピードを求めていることが挙げられます。その結果として、マイクロサービスやAPI連携の重要性が高まり、そのインフラとしてKuberentesが選ばれているといえます。Coca-Cola、Cathay Pathific、AT&T、Amadeusなど、Kubernetesの導入で劇的なインフラアップデートを実現している世界的大企業は枚挙に暇がありませんが、これらの企業はいずれもマイクロサービス/API連携を駆使しまくっており、限りなく開発工数をゼロに近づけるという発想でもってアプリケーション開発のスピードを上げています。
Cloud Services PlatformのコンポーネントにApigeeが含まれているのを見ればわかるとおり、KubernetesとAPI/マイクロサービスは切っても切れない関係にあり、APIマネジメントの重要性は多くの企業が認識しています。やや踏み込んだ言い方をすれば、デジタルビジネスで成功するにはAPIマネジメントは欠かせない技術であり、その基盤としてのKubernetesもまた、デジタルビジネスの成功にかかせない存在として評価されているのです。ビジネス側の強い要求が、Googleのような開発者指向の強い企業を動かし、今回のCloud Services Platformという"GKEネイティブ"なサービスを投入してきたこともうなずけます。
日本ではまだあまり大規模なKubernetes事例は少ないのですが、それはAPI連携によるスピードアップの重要性がまだ浸透していないことにも起因するのでは、と筆者は推測しています。日本企業はレガシーなサーバ資産を大量に抱えているところが多く、またシステム数も非常に多いため、思い切ったインフラの統合ができないという声をよく聞きます。したがってAPIプラットフォームやKubernetesも進まず、たとえ導入したとしても「Windows Server 2003やRed Hat Enterprise Linux 4といった開発ベンダがサポートしなくなったレガシーソフトをコンテナで動かす」といった化石のような案件もめずらしくありません。Cloud Services Platformのリリースをきっかけに、Kubernetesによるアプリケーション開発のスピードアップ効果への注目が集まることを、国内企業にも期待したいところです。