Kubernetes 分野のリーダーとして 10 年: Kubernetes の相棒として Google Cloud を選ぶべき理由
Google Cloud Japan Team
※この投稿は米国時間 2023 年 11 月 3 日に、Google Cloud blog に投稿されたものの抄訳です。
Kubernetes は、最新のソフトウェア開発を取り巻く環境では不可欠の要素となっています。当初 Google によって開発された Kubernetes は、今や史上 2 番目に大きいオープンソース プロジェクトにまで成長し、この 10 年間でこのプロジェクトに関与したコントリビューターは 83,000 人を超えるほどです。Kubernetes は現在、本番環境でコンテナ化アプリケーションを実行する際の事実上の業界標準となっています。
Kubernetes はクラウドの民主化にも役立ち、今ではあらゆる規模の企業がコンテナ化のメリットをもたらすクラウドを利用できるようになっています。Kubernetes は幅広いアプリケーションを実行できる、強力ながらも柔軟なプラットフォームとして、あらゆる規模の企業が使用しており、世界最大級の特に複雑なアプリケーションでも利用されています。最近では、生成 AI と大規模言語モデル(LLM)の急増に伴い、複雑でコンピューティング負荷の高い機械学習プラットフォームを運用し、スケーリングするため、企業は Kubernetes に頼るようになっています。
Kubernetes の成功は、オープンソース ソフトウェアの力を証明しています。Kubernetes は根本的にオープンで、コミュニティ ファーストのプロジェクトです。世界中で数万という開発者がこのプロジェクトに貢献し、Kubernetes の機能を拡張し、新しいユースケースに活用しています。結果として、オープンソースでなければ実現できない速度で Kubernetes は進化し続けています。
業界全体に機会を拡大した、Kubernetes のオープンソース化
Google によって開発された Kubernetes は、2014 年にオープンソースとしてリリースされました。Kubernetes の起源は、(2003 年から 2004 年にかけて導入された)Google 社内の Borg システムに遡ります。これは、Google 検索からマップ、YouTube に至るまでのあらゆる Google プロダクトで活用されているシステムです。こうして、Google は 1 週間あたり平均で 40 億個を超えるコンテナを起動しています。
Kubernetes のオープンソース化は、革命をもたらしました。Cloud Native Computing Foundation(CNCF)が誕生し、世界中のコントリビューターとユーザーのコミュニティを発展させたのです。このグローバル コミュニティが成長を続ける中、Google は Kubernetes に対する取り組みをこれまで以上に強化し、コミュニティの成長が止まることのないよう、管理担当者として一貫したリーダーシップを発揮しています。
現在、Google は 100 万を超える貢献を果たしてきた Kubernetes の最大のコントリビューターとなっています。この数は、2 位以下の 4 つの組織の合計数を超えるほどです。時間と開発リソースを投じているだけでなく、Kubernetes コンテナをホストして各リリースを構築およびテストするために必要なインフラストラクチャをサポートするために、Google Cloud から年間で数百万ドルを寄付しています。
クラウド プロバイダだけに限って言えば、過去 1 年で Google Cloud が行った寄付額は、次に寄付額が多いプロバイダの 3 倍にも上ります。
Google の Kubernetes への貢献と取り組みは、次のように広範囲にわたります。
- API Machinery、Autoscaling、Networking、Scheduling、Storage などの多くの中核的な分科会(SIG)での共同議長、およびテクニカル リードとしての役割への従事。
- Kubernetes コミュニティと Google のお客様の両方に影響を及ぼす複雑な問題の特定と解決。たとえば、Google は Kubernetes でのあらゆるアップグレードとサポート終了を改善するため、コミュニティに多大な投資を行いました。その結果、あらゆるお客様にとって、以前よりもはるかに安定したプラットフォームになっています。
- Kubernetes で発見されたセキュリティの脆弱性の半数以上の修正。これは Kubernetes のセキュリティへの多大な貢献であり、Kubernetes ユーザーのセキュリティ確保に対する Google のコミットメントを明らかにしています。
- 更新された Go バージョンで Kubernetes のセキュリティを確保するために、Go に取り組んでいる Google 社員と緊密に連携。Go チームが、Kubernetes コードを記述するために使用されている Go プログラミング言語の開発を担当しています。Google 社員はこの Go チームと緊密に連携し、Kubernetes が最新の Go バージョンとの互換性を確保するとともに、Go で発見されたセキュリティの脆弱性の修正に取り組んでいます。
- Kubernetes Pod のセキュリティを確保するための一連のベスト プラクティスをまとめた Pod セキュリティの標準の開発を主導。Google 社員はこの標準の開発を主導し、ユーザーが Kubernetes Pod のセキュリティを確保できるよう、数々のガイドとリソースを公開しています。
- コンテナがストレージにアクセスする方法を定義する Container Storage Interface(CSI)の初期仕様を作成。CSI 開発の早期段階で Google 社員が関与して、この初期仕様の作成を支援しました。現在、CSI はオープンソースおよび商用ストレージ ベンダーの間で幅広く使用されています。
- 構造化データに対するクエリと変換を表現するための Common Expression Language(CEL)を作成。CEL は、Validating Admission Policy や Custom Resource Validation Expressions をはじめとする各種の Kubernetes コンポーネントで使用されています。強力で柔軟な言語である CEL は、Kubernetes の拡張性とユーザビリティの向上に役立っています。
以上のように、Google は Kubernetes に多大な貢献を行って、このプラットフォームの堅牢性、スケーラビリティ、セキュリティ、信頼性を強化してきました。さらに、Google は Kubernetes をバッチ処理や機械学習(ML)などの新しいドメインに展開し、Kueue によるジョブ キューイング、Kubeflow による ML オペレーションおよびワークフローなどによって、CNCF への貢献を続けています。これらの貢献は重要です。Kubernetes コミュニティが盛況ということは、個人と企業からなるコアグループが、必要不可欠であるものの地道で手間のかかるタスクに実際に時間を費やし、万人にメリットをもたらす新しい機能を作成してくれているということだからです。AI / ML などの新しいワークロードにとっても Kubernetes が優れたプラットフォームであり続けるためには、Kubernetes を活用しているより多くの企業がそれぞれの役目を果たして貢献する必要があります。
お客様がミッション クリティカルなワークロードに Google Kubernetes Engine を頼りにする理由
Google Kubernetes Engine(GKE)は、使用可能な Kubernetes サービスの中で最もスケーラビリティに優れた、完全に自動化されたサービスです。これは、あらゆる規模の企業と業界の間で一般的な選択肢となっていて、規模も複雑さも世界トップクラスのアプリケーションをホストするために使用されています。GKE を使用すれば、自分のアプリケーションが Google Cloud の専門知識に支えられた信頼性に優れたスケーラブルなプラットフォームで実行されていることを確信できます。GKE には現在、マルチクラスタおよび分散チームの管理機能、Policy Controller によるポリシー適用機能、Config Sync による GitOps ベースの構成機能、Config Controller による Google Cloud リソースのセルフサービス プロビジョニング機能、およびフルマネージドの Istio を活用したサービス メッシュが組み込まれています。これらの新機能のすべてが統合されている GKE Enterprise は、Kubernetes を新たに導入するお客様にとっても、すでに世界規模で Kubernetes をデプロイしているお客様にとっても理想的な選択肢です。
お客様がミッション クリティカルなアプリケーションを実行するのに GKE を選択すべき理由は数えきれないほどあります。
- Kubernetes 環境の運用や管理に最も有利な立場にあるのは、もちろんKubernetes を開発したチームです。オープンソースの Kubernetes プロジェクト全体のビルド、テスト、配信は Google Cloud 上で行われています。また、Google は、Vertex AI、DeepMind をはじめとする複数のサービスに GKE を使用しています。
- GKE は、2023 年 Gartner Magic Quadrant のコンテナ管理部門でリーダーとして選出されています。
- AI / ML ワークロードを加速し、効率的にスケーリングするために GPU タイム シェアリングと Cloud TPU を使用できます。
- GKE は、GKE Autopilot による初のフルマネージドのサーバーレス Kubernetes エクスペリエンスを実現しています。この Autopilot モードでは人による操作を必要とせずに、基盤となるコンピューティング インフラストラクチャが管理され、同時に Kubernetes API を最大限に活用でき、Pod レベルの SLA と Google の有名な SRE チームによるサポートも利用できます。
- 圧倒的な 15,000 ノードのクラスタを活用し、とりわけ規模が大きく、要求が高いアプリケーションのニーズにもスケーリングして対応できます。たとえば、PGS 社はこれまで Cray を使用してきましたが、それを 72.02 ペタフロップスの処理能力を持つ GKE ベースのスーパーコンピュータに置き換えました。
- GKE には、エンタープライズ グレードのセキュリティを実現するさまざまな機能が備わっています。たとえば、ワークロードの構成ミスやコンテナ イメージの脆弱性をスキャンできる GKE セキュリティ対策、組み込みの Kubernetes ネットワーク ポリシーによるネットワーク ポリシーの適用、信頼できないワークロードを隔離できる GKE Sandbox、使用中のワークロード データを暗号化する機密ノードなどです。
- シームレスな自動アップグレードでは、Blue/Green アップグレードやメンテナンスの時間枠と除外などによってアップグレードをきめ細かく制御できます。
- ビジネス、法規制、コンプライアンスのニーズと要件に対応できるよう、柔軟なデプロイ オプションが揃っています。たとえば、Google Distributed Cloud では、フルマネージドのハードウェアとソフトウェアのデプロイ オプションを選択して、Google Cloud をお客様のデータセンターやエッジ ロケーションに拡張できます。AWS および Azure へのマルチクラウド デプロイも選択できます。また、CNCF 対応の任意の Kubernetes クラスタを接続して管理することもできます。
- Google Cloud には、費用が最適化されたアプリケーションの実行に関する専門知識があり、State of Kubernetes Cost Optimization(Kubernetes の費用最適化の現状)レポートも初公開しています。
- Google は、オープンソース バージョンの Kubernetes がリリースされた約 30 日後に、対応する新しいマイナー バージョンの GKE をリリースして、できるだけ早く GKE ユーザーが新しいセキュリティ パッチと機能にアクセスできるようにしています。
スケーラビリティと信頼性に優れたフルマネージドの Kubernetes サービスを使用して、マイクロサービス、データベース、要求のとても高い生成 AI ワークロードなど、すべてのものを実行したいと考えているなら、GKE はまさに最適です。
KubeCon + CloudNativeCon North America 2023 にご参加ください
KubeCon で皆様にお会いできるのを楽しみにしています。Google の予定はすべてこちらでご確認いただけますが、いくつかハイライトをご紹介します。
ブース #D2 ではデモやライトニング トークをご覧になれます。また、Google の GKE および Kubernetes のエキスパートとエンジニアに直接会うこともできます。今年は参加できない場合は、オンデマンドの限定プレビューをご覧いただけます。
-プロダクト管理担当シニア ディレクター Drew Bradstock
-プロダクト マネージャー Gari Singh