Google Container Engineの最新のアップデートが今日(米国時間7/12)発表された。それはKubernetesを使用するコンテナアプリケーションをGoogleのクラウド上で運用するサービスだ。Google Container EngineをGoogleは、GCEとは呼ばずにKubernetesのKを取ってGKEと呼んでいるが、今回のアップデートも前と同様、Kubernetesプロジェクトからの最新アップデートが中心となる。
今やバージョン1.7となるKubernetesプロジェクトは、プライベートとパブリック両クラウドでコンテナ化ソフトウェアをオーケストレーションするためのデファクトスタンダードになりつつある。ここで一応Microsoftの顔も立てておくべきなら、同社の(顧客の)ワークロードをプライベートクラウドやハイブリッドクラウドで動かすならAzure Stack、そしてGoogleのやり方でハイブリッドクラウドをデプロイするならGoogle生まれのKubernetes、という棲み分けになるだろう。
今回のアップデートは、セキュリティを強調している。GKEを採用する企業が増えるにつれて、彼らのニーズも当然変わってきた。とりわけエンタープライズ(≒大企業)は、セキュリティ要件が厳しい。GKEのチームは、そのサービスが市場でもっとも安全なKubernetes実装だ、と主張するが、その理由として挙げるのは、コンテナのデプロイを構成するさまざまなノードの上で動くオペレーティングシステムをコントロールできるからだ。それはChromium OS(Chrome OSのベース)をベースとするオペレーティングシステムであり、しかもクラウドで動くバージョンは非常にミニマルな(==最小構成の)システムであり、攻撃の取っ掛かりとなる対外インタフェイスがほとんどない。しかもパッチ等はつねに、Google自身が先取り的に講じている。
今回のアップデートでは、Kubernetes自身の新しいセキュリティ機能(ポッド間の通信を制約できる新しいAPIなど)と、Googleのデータセンターの新しい機能の両方が、セキュリティに貢献する。たとえばデータがGoogle CloudのLoad Balancingサービスを通るとき再暗号化することによって、外の旅路だけでなくGoogleのネットワークに入ってからも暗号化状態を維持する。
またGoogleのチームによれば、エンタープライズはセキュリティと並んで拡張性も求めている。とくに、Kubernetesの能力をサードパーティのアプリケーション、たとえばIstioのようなサービスメッシュにも延伸できることだ。Kubernetes 1.7にはAPI集積機能があるから、ユーザーにそんな機能を提供することも可能だ。
もうひとつ光を浴びるべき新機能は、GPUベースのマシンのサポートだ。今はNvidiaのK80 GPUだが、今後はもっと強力なマシンもサポートされる。そのGPUマシンは現状でまだアルファだが、とくに機械学習のワークロードを動かしたいユーザーを顧客としてねらっている。
例によってアップデートはもっともっとたくさんあるが、その完全なリストはGoogleのブログ記事を見ていただきたい。とにかく今日のお話の最大の要点は、KubernetesのコミュニティとGoogleの両方がセキュリティを非常に重視していることだ。GKEをエンタープライズ向けに今以上に普及させたいなら、この姿勢を続けざるをえない。