Kubernetesは、ITを「チケットドリブン」から「インテントドリブン」へ変えていく。Cloud Operator Days Tokyo基調講演
クラウドの運用担当者にフォーカスしたオンラインイベント「Cloud Operator Days Tokyo」では、8月27日に基調講演として、Kubernetesの生みの親の一人であるクレイグ・マクラッキー氏のセッション「Kubernetes and the Cloud Native Journey」が公開されました。
マクラッキー氏は、Kubernetesがインフラを抽象化することでオンプレミスからクラウドへの架け橋になること、Kubernetesが備える、システムを意図した状態へとコントロールする機能が、ITをチケットドリブンなものからインテントドリブンなものへと変える力があることなどを示しました。
ここではそのマクラッキー氏の講演をダイジェストで紹介しましょう。
Kubernetes and the Cloud Native Journey
クレイグ・マクラッキー氏(VMware, Inc. モダンアプリケーション部門 R&D 担当副社長)
私はGoogleにいた頃にKubernetesプロジェクトを立ち上げたメンバーの1人です。そしてCloud Native Computing Foundationを立ち上げ、Kubernetesのイノベーションに注力してきました。
これらの経験から言えることは、企業はこのテクノロジーを導入し、現実世界の課題の解決に役立てているということです。
例えばそれは、新たなクラウドインフラやサービスにアクセスするためであったり、それらの運用モデルを再考する機会としてだったりします。
それらについても後ほど話したいと思います。
Kubernetesはクラウドへの架け橋
私はKubernetesを、クラウドへの架け橋として見ています。
組織が自社のクラウドへのジャーニーを考えるとき、クラウドのようなスケーラブルでフレキシブルなコンピュータ資源にアクセスする場合に、それらをKubernetesによってAPIやシンプルなコンソールからプロビジョニングし、利用できるようになるためです。
一方で、運用における課題という面では、クラウドと従来のインフラとのあいだには、大きなインピーダンスミスマッチも発生します。
私はここでKuberntesが適切に働き、インフラを抽象化することで、組織が新しいインフラへアクセスしやすくなるだろうと考えます。
ここで2つのことを考える必要があります。
1つは「事業で使用しているアプリケーションを実行するシステムの抽象化をどう行うのか」です。
もう1つは「アプリケーションが進化していくなかで、運用の面でどう対処していくべきか」です。
ここでは視聴者の多くが運用面について興味をお持ちだと思うので、2つ目の点について主に話をしていきましょう。
クラウドは従来のインフラとは異なる、その差をKubernetesが埋める
企業はパブリッククラウドへの移行を検討しはじめています。
その移行先となる、アプリケーションを実行するための新たなインフラは、アプリケーションが構築されたときのインフラ環境とは異なるものです。
つまり構築された時点でのインフラのサービス品質を、移行先であるクラウドが必ず実現できるとは限りません。
構築された時点で想定され、組織が慣れ親しんできた運用のパターンやプラクティスが、移行先でも実現できるとは限らないのです。
ですから、オンプレミスからクラウドへアプリケーションを移行させたくても、そのまま単純に「リフト&シフト」では移行できない場合も多くあります。
その場合、新たなインフラでアプリケーションを実行するための基盤をしっかりと準備する必要があるのです。
ここでKubernetesが役に立ちます。
Kubernetesはインフラ環境を標準化するだけでなく、移行の過程で生じた多くのギャップへの対処も可能にします。
クラウド初期の頃、Netflixなどの企業は運用方法の大幅な変更が求められました。クラウドとオンプレミスでは運用環境が異なるため、カオスエンジニアリングなどの手法が必要だったのです。
Kubernetesはそうした問題の解決に役立ちます。
大量のリソースを容易に連携でき、ワークロードをクラウドへ移行する際の課題の解決が可能です。
それだけではなく、アプリケーションをどのように構築するか、運用をどうするかについて見直す機会にもなります。
多くの組織はこの2つを合わせて解決しようとしており、Kubernetesはそれを解決する環境を実現するものと見ているのです。そしてこれまで行われてきた作業を見直し前進していく機会も提供し、いまの事業を支えるアプリケーションのモダナイゼーションするための移行先であるとも捉えられています。
KubernetesはチケットドリブンからインテントドリブンへとITを変える
それだけではありません。
ITは大きな進化を遂げてきましたが、それは運用担当(オペレーター)主体の世界で、でした。つまりオペレーターがチケットを受け取り、アクションを実行してインフラ環境やアプリケーションのセットアップなどを行なってきました。
Kubernetesはそれを変えていきます。「チケットドリブン」から「インテントドリブン」へ、です。
どういうことでしょうか。
Kubernetesは本質的にはデータベースであり、明示的な意図(インテント)を受け取り、その意図されたあるべき状態へと動作させることができるコントローラなのです。
Kubernetesといえば、コンテナのデプロイや分散システムの統合などを容易にするものとしてよく知られていますが、それだけではないのです。
Kubernetesをアプリケーションの構築やデリバリに関する課題解決に役立つと考える人は多いのですが、使うほどに、そうしたコンテナオーケストレーションを推し進めるものだけではなく、より大きなパワーを持っていることに気が付くはずです。
Kubernetesが、インフラの抽象化を容易に実現するものとして見えてくるのです。
このコントローラーに多くのインテリジェンスを取り込むことで、運用の在り方を根本的に変えることが可能になります。
これはチケットベースのITからAPIベースへの移行が実現する、ということです。
単に宣言型のAPIドリブンなITというわけではありません。
DevOpsを考えてみてください。開発者がアプリケーションのコーディングを行い、本番環境にデプロイします。
これは宣言型APIモデルへの移行であり、強力なサービスのデリバリが可能になります。
すると企業は自分でSoftware as a Serviceを構築できる、と考え始めるでしょう。
プラットフォームチームが、企業内の各分野の開発者にサービスをデリバリする場合もあるでしょうし、さらには開発者自身が、自分たちがソフトウェアをデリバリすることでSoftware as a Serviceを実現できると考えるようになるでしょう。
それはソフトウェアのアーキテクチャについてのみならず、手戻りが比較的少なく、利用しやすいものとなるDevSecOpsのプラクティスの実現についても、です。
Kubernetesのエコシステムに抽象化レイヤが登場
私は、Kubernetesは単なるプラットフォーム技術ではないと考えています。
それは企業にとって、自分たちにもっとも適したプラットフォームを構築できるようにするテクノロジーであり、組織内の少人数で、多くの部門の人たちにサービスをデリバリできるようになる、というものです。
これはまさに大きな変革なのです。
Kubernetesを導入する多くの企業に関わるなかで、私が気づいたことがあります。
ときにKubernetesの導入が困難なケースもあります。分散システムやそうしたパターンを理解し、経験が豊富な開発者であればKubernetesの導入は容易ですが、多くの組織においてそういう人材がいるわけではありません。
そのため、Kubernetesのエコシステムにおいて抽象化レイヤという概念が登場しました。
アプリケーションがどのように作られているかと言った詳細を知らなくとも、細かなパラメータを操作しなくとも、高いレベルの抽象化を可能にします。
これにより、開発者の開発環境から本番環境にまでわたるPlatform as a Serviceを迅速に提供できるのです。
標準化と抽象化を用いたモジュラー型の組み立て可能なシステムにより、開発者がより詳細な確認を行うために、深いレベルにアクセスしたとしても、それまでの設定が無効になることはありません。
承認を得てシステムのより深いレベルにアクセスする方法を確保できます。
高いレベルで抽象化されたものを扱うのは容易ですし、より深いレベルでシステムを確認するような難しいことも可能になっているのです。
開発者が独自のSoftware as a Serviceについて考えることができるシステムが整い、API経由でサービスがデリバリできるようになることで、組織レベルで生産性の向上が実現します。
そしてAPIはコラボレーションを促進し、組織内にAPIエコノミーが出来上がり、それによって複数のチームの仕事を連携できるようになります。
あるチームの仕事をサービスとして別のチームへとデリバリできるようになります。
こうした、テクノロジーの魅力的な融合が起きようとしているのです。
Kubernetesやマイクロサービスも登場し、多くのAPI Gatewayテクノロジーも重要なスタックの一部となり、今後強力な機能となっていくでしょう。
個人的にもこの分野には注目し、注力しているところです。
Kubernetesはジャーニーの出発点であり、そこで終わりではないのです。
Kubernetesは適切なスタート地点
まとめましょう。
Kubernetesはクラウドへの架け橋です。エンタープライズアプリケーションにスケーラブルなコンピューティングを組み入れるとすれば、Kubernetesはその適切なスタート地点でしょう。
アプリケーションの実行環境を特定の環境から分離し、別のクラウドで動かせるようにします。運用についての考えを新たにする機会でもあるでしょう。
同時に、チケットドリブンなITからAPIドリブンなITへ、そしてインテントドリブンなITへの移行が可能になり、抽象化の背後に多くのロジックを組み込むことができるようになるのです。
ぜひジャーニーを始めるにあたり、Kubernetesをチェックしてみてください。
すでにKubernetesを導入しているならば、コンテナオーケストレーションを管理する抽象化レイヤとしてだけでなく、インテントベースのITへの移行も考慮してみてください。
ご視聴ありがとうございました。
あわせて読みたい
マネージドなNFSサーバの「Amazon EFS」の新機能、自動階層化に対応した「Amazon EFS Intelligent-Tiering 」登場
≪前の記事
結果報告:Publickey読者調査2021。読者の中心は40代のITエンジニア。JavaScriptやLinuxやAWSに仕事で関わり、RustやPotgreSQLに興味