Google Cloud Next Tokyo '24 速報レポート(Platform Engineering 入門: Golden Path の構築と活用)

記事タイトルとURLをコピーする

G-gen の高井(Peacock)です。当記事では、Google Cloud Next Tokyo '24 セッション「Platform Engineering 入門: Golden Path の構築と活用」に関する速報レポートをお届けします。

他の Google Cloud Next Tokyo '24 関連記事は Google Cloud Next Tokyo '24 の記事一覧からご覧いただけます。

概要

本セッションでは、昨今話題のワードである Platform Engineering(プラットフォームエンジニアリング)について基本的な概念や Google Cloud での導入方法が解説されました。

「問題提起・基本的な概念」「Google Kubernetes Engine(GKE)、Cloud Workstations を用いた導入方法」「実践するための心構え」「お客様事例・総括」という構成で解説されました。

本編パート1: 問題提起・基本的な概念

日本にも浸透しつつある DevOps ですが、DevOps を推進する際の課題として 「(CI/CD や実行環境の整備も担うため)アプリケーション開発者に多くのタスクや知見が求められてしまい、1人あたりの負荷が高くなってしまう」 というものがあります。

これに対して、新しく Platform Team を作ることによって負荷軽減を図るというのが、Platform Engineering の目的です。

誤解されがちですが、Platform Engineering は完全な PaaS(Platform as a Service。Google App Engine や Cloud Run などに代表される)を提供するのではなく、あくまで開発者のために舗装された道路を提供するのが目的です。 この道路のことを、Golden Path と言います。

他にも、Platform Engineering はアプリケーション開発者にとって以下のようなメリットがあります。

  • 燃え尽き症候群(Burnout Syndrome)を予防できる
  • 生産性が向上する
  • セキュリティ的に安全な環境(ガードレール)を提供できる

本編パート2: 具体的な実践ユースケース

このパートでは2つの実践例を通じ、どうやって Platform Engineering を導入していくかについて紹介します。

ケース1: GKE(Enterprise Edition)の Team Scope(チームフリート管理)を用いてマルチクラスタ・マルチテナント管理を改善する

2023年11月、Google Kubernetes Engine(GKE)の Enterprise エディション が GA(一般公開)しました。

Enterprise エディションで利用可能なフリートチーム管理機能により、マルチテナント・マルチクラスタの管理・運用工数が低減できます。

具体的には以下のような運用・権限の分離が可能になります。公式ドキュメントよりイメージ図も掲載します。

  • バックエンドチームは backend 名前空間を使用し、複数プロダクト・クラスタでスコープ内にあるワークロードを実行可能
  • フロントエンドチームは frontend-foofrontend-bar 名前空間を使用して、それぞれのスコープ内のクラスタを操作・ワークロードを実行可能
  • ログの閲覧も、各チームの名前空間に権限が限定されている

このチームフリートを活用することによって、アプリケーション担当者に Golden Path を提供し Platform Engineering を実現できます。

ケース2: Cloud Workstation を用いてアプリケーション開発者向けに IDE 環境を提供する

Cloud Workstations を用いてアプリケーション開発者向けに IDE(統合開発環境)を提供することも可能です。

VS Code の OSS 版である Code OSS をベースにした Web 上(またはローカルのVS Code, JetBrains IDEから)でセキュリティ機能が組み込まれた、事前構成済みでカスタマイズ可能な IDE を提供することができます。

この開発環境は Google Compute Engine(仮想サーバー)上で実行するため、ネットワーク・セキュリティ上の細かい制御も容易です。

コンソールと Dockerfile により柔軟なカスタマイズが可能であり、事前にキッティングすることにより環境構築の工数短縮を実現しオンボーディングの高速化が可能です。例えば、実行環境の整備に比較的手間のかかる Java 言語の開発環境を、容易に配布することができます。

Gemini Code Assist もデフォルトで使用でき、生成AIによるコード補完やリファクタリング支援が受けられます。

本編パート3: 実践するための心構え

対象となる組織・チームによって、Golden Path への要求やモチベーションも異なります。

そのため「ヒアリングを実施し、顧客向けプロダクトのようにペルソナに応じたユーザーストーリーを考えて開発していく」という進め方が必要になります。

顧客向けプロダクトの開発における Minimum Valuable Product(MVP)の考え方と同様に、最初から完璧を目指さず Thinest Valuable Platform(TVP) を考えて開発することが必要です。

例として、Cloud Build による CI/CD パイプラインの整備や先述の Cloud Workstations による環境の配布が挙げられます。

本編パート4: お客様事例・総括

実際の事例として Google Cloud が提供している Platform Engineering Jumpstart を活用した、朝日放送グループホールディングス株式会社様の事例が紹介されました。

先述した TVP を達成するために、Cloud Build を活用して GKE へデプロイするための CI/CD 環境の整備や、Cloud Workstations を活用した開発環境の配布を実践しています。

他にも、アプリケーション開発者とインフラ開発者の相互理解も、副次的なメリットして得られたとのことです。

関連記事

セッションレポートなど、Google Cloud Next Tokyo '24 の関連記事は、以下の記事一覧からご覧いただけます。

blog.g-gen.co.jp

Peacock (高井 陽一)(記事一覧)

クラウド支援部 カスタマーサポートグループ

2022年12月より入社。普段は Google Cloud の技術サポートや Terraform などによる IaC の推進を行なっている。また、プライベートでは PyCon JP 2022, 2023(APAC) にて副座長など、カンファレンスのスタッフとしても活動している。趣味はカメラ・スキー・クラシック音楽など。