投稿日:
更新日:

Google Cloud Innovators Gym (G.I.G.) #9 参加レポート

Authors
blog-meta-info.png

目次

banner.png

はじめに

2024 年 10 月から約 3 ヶ月に渡り Google Cloud が主催する Google Cloud Innovators Gym #9(通称 G.I.G.)というプログラムに参加してきたので、振り返りも兼ねてブログを書きたいと思います。 今後参加される方や、Google Cloud 認定資格試験を受けようと考えている方に向けて、何かの参考になれば幸いです。

G.I.G. とは

Google Cloud Innovators Gym(通称 G.I.G.)とは、Google Cloud が主催する GCP のスキル向上および活用を推進する特別プログラムで、招待制のイベントとなっています。 G.I.G. は今回で 9 期目の開催となるようです。 期間は約 3 ヵ月で、必須セッションに加えて補習セッション(もくもく会)、Google Cloud Skills Boost(旧 Qwiklabs)というサービスを利用したオンライン学習プログラム等、GCP のスキル向上に向けた手厚いサポートを受けることができます。

また、他の G.I.G. 受講生や Google Cloud の方に疑問点の共有や相談が直接できる専用のチャットスペースが用意されており、困ったことがあればすぐに発信できます。

参加経緯

私は、昨年 5 月より 株式会社 AbemaTVCloud Platform Team に join し、ABEMA 開発組織におけるクラウドプラットフォームの運用・整備、ベストプラクティスの立案・浸透を主業務としています。

これまで、オンプレミスや他のクラウドベンダをメインに多少のインフラ構築、運用の経験がありましたが、Google Cloud の活用に関しては、まだまだ知見が浅い状態でした。 クラウドソリューションに対する理解や技術力を向上させたいという思いがあり、上長からの推薦を受けて参加するに至りました。

プログラムの開始前に Welcome Kit を頂きました 🎉

welcome-kit.png

モチベーション

24 新卒入社

  • 2024 年 4 月 CyberAgent, Inc. SRE
  • 2024 年 5 月 AbemaTV, Inc. Cloud Platform Engineer

Google Cloud を本格的に活用し始めたのは配属後

  • サーバの構築や仮想化、基本的なネットワークシステムについてはある程度理解しており、他のクラウドソリューション(AWS)を使った業務経験はある
  • Kubernetes やストレージシステム他、PaaS / SaaS がマネージドに提供しているサービスの一部を自前で構築した経験はある

といった具合だったので、これまでのナレッジを元手に Google Cloud に対する理解も深め、使いこなせるようになりたいというモチベーションがありました。

プログラム内容

Google Cloud のエンジニアによる集合形式のセッションに加え、自習の他に試験や現場で役立つ考え方を学べるミニセッション付きの補習セッション、その他懇親会も実施されました。 なお、プログラムの内容は開催期によって異なります。

  • 必須セッション
    • 第 1 回:Google Cloud のサーバレスソリューション
    • 第 2 回:Google Cloud のデータベースソリューション
    • 第 3 回:Google Cloud の CI/CD ソリューション
  • 補習セッション(もくもく会) *任意参加

修了条件

今期の修了条件は以下の通りでした。 こちらも開催期によって異なります。

その 1:Google Cloud Skills Boost の所定コース数を完了する

スキルバッジを 6 つ以上(内 3 つは 必修コース for G.I.G. プログラム で)獲得できている。

その 2:Google Cloud 認定資格試験に合格する

下記のいずれかの資格を取得できている。

Professional レベルの認定資格を所定のものから最低一つ取る必要があるため、G.I.G. を修了することで認定資格も取得できるという 2 度嬉しいコンディションとなっていました。

必須セッション

G.I.G. の参加にあたり 必ず受講する必要があるセッション です。

必須セッションでは、主に Google Cloud のサーバレスソリューションやデータベース、CI/CD の構築に関する基本的な内容について学習しました。

セッション自体は座学とハンズオンがあり、実際にソリューションを触りながら体験的に学びます。 主に、Cloud RunCloud SpannerCloud Build / Cloud Deploy に関する内容がメインでした。 私自身は、これらのサービスは一通り触った経験があり、セッションでは技術の裏側に関する内容や、ケーススタディを含めた具体的なベストプラクティスについて積極的に質問しながらキャッチアップすることを意識しました。

講義は分かりやすく順を追って説明して下さるので、初めて Google Cloud のソリューションに触れる方も理解しやすい内容になっていたかと思います。

また、セッション中は常にサポーターの方がチャットで待機して下さっているので、詰まったらすぐに質問することができます。

補習セッション(もくもく会)

補習セッション(もくもく会)は 任意参加 となっていました。

前半 1 時間は自習の時間となっており、主に Google Cloud Skills Boost 教材(後述)を使って Google Cloud のソリューションをハンズオン形式で学びます。 こちらも、必須セッション同様に、常時サポーターの方が待機して下さっていたので、自由に質問することができました。 疑問点が溜まっている方はここで解消することもできます。

後半 1 時間は、ミニセッションが実施されました。 任意参加となっていましたが、認定資格を取る上で押さえておくべきポイントや、ソリューションの特徴比較、ベストプラクティスについて解説してもらえます。 メインの講義ではカバーできない部分についても幅広く取り上げるため、個人的には必須セッション以上に有益な情報を得ることができたと感じました。

セッション内容

ここでは必須セッションで触れられた、ざっくりとした内容について紹介したいと思います。

第 1 回目:Google Cloud のサーバレスソリューション

サーバレス(Serverless) とは、クラウドコンピューティングの一形態で、開発者によるサーバのプロビジョニングやスケーリング、継続的なメンテナンスを必要としないフルマネージドなプラットフォーム提供モデルで、主に次のような特徴があります。

  • インフラ管理不要
  • トラフィックに応じたオートスケール機能
  • サービスディスカバリ

念頭に置いておくべきは、サーバレスは決して サーバが不要というわけではなく、あくまで開発者が直接的にサーバを管理する必要がない という点です。

Google Cloud の主要プロダクトとして次のようなものが紹介されていました。

プロダクト概要
Cloud Runインフラ管理なしでコンテナを実行
Cloud Run Functions(旧 Cloud Functions)FaaS(Function as a Service)
Cloud WorkflowsAPI コール・認証・分岐を YAML で定義できるオーケストレーションツール
Cloud Tasks非同期型タスクの実行
Eventarcイベントベースの通知
Cloud Buildサーバレス CI/CD
Cloud Pub/Subサーバレスメッセージング
Cloud Scheduler定期タスクのスケジュール
API GatewayAPI 管理

Google Cloud のサーバレスプロダクトに代表される Cloud Run はコンテナイメージやソースコードからアプリを素早く起動・スケールさせることができるサービスとなっており、Kubernetes のようにクラスタ管理等は不要です。 コンテナベースのサーバレスソリューションとなっているため、言語の制限無く利用することができ、ポータビリティを有しています。 特に、Web サービスやイベントドリブンなジョブ等、多用途で利用が可能です。

近年では、Cloud Functions の裏側にも Cloud Run が採用されており、Cloud Functions 2nd gen(Cloud Run Functions) として提供されています。 Cloud Run および Cloud Run Functions は、Eventarc API を通じて、Google Cloud の他のソリューションとも連携したイベントドリブンなアーキテクチャを組むことができます。

Cloud Run の裏側は Knative がベースになっており、Image Streaming という機能によりイメージ全体がダウンロードされるのを待たずにワークロードを初期化するため、非常に高速なスケールを実現します。

第 2 回目:Google Cloud のデータベースソリューション

Google Cloud には様々なデータベースサービスが用意されており、以下のプロダクトが有名どころとなっています。

種類プロダクト特徴
RDBMS(Relational Database Management System)Cloud SQLMySQL、PostgreSQL、SQL Server をサポート
AlloyDBPostgreSQL 互換で高性能
Cloud Spanner無制限のスケール、高可用性
NoSQLFirestoreモバイル・Web 向け、リアルタイムデータベース
Bigtable高スループット、大量データ処理向け
KVS(Key-Value Store)CacheMemorystoreRedis / Memcached をフルマネージドで提供
DWH(Data Warehouse)BigQuery大規模データ分析向け

Google Cloud Next Tokyo'24 でも発表がありましたが、最近では Oracle Cloud Infrastructure(OCI) とのパートナーシップ締結により、Google Cloud 上で Oracle Database の利用も可能になっています。

データベースを選択する際には、アプリケーションの要件やデータモデルを考慮する必要があります。

  • 既存システムの移行 → Cloud SQL(互換性を優先)
  • 高可用性・スケーラビリティが必要 → Cloud Spanner
  • 高パフォーマンスな PostgreSQL 互換 DB → AlloyDB
  • モバイル / Web アプリ向け → Firestore
  • 大規模データの分析処理 → BigQuery
  • キャッシュ用途 → Memorystore

各データベースプロダクトには次のような特徴があります。

  • Cloud SQL
    • MySQL、PostgreSQL、SQL Server に対応
    • 99.99% の可用性、クロスリージョンレプリカ対応
    • IAM ベースの認証、Query Insights によるパフォーマンス監視が可能
  • AlloyDB
    • PostgreSQL 互換の高性能データベース
    • OLTP(Online Transaction Processing)性能は PostgreSQL の 4 倍、分析クエリは最大 100 倍高速
    • AI / ML と統合し、インテリジェントな運用を実現
    • 自動障害復旧、無停止のメンテナンスが可能
  • Cloud Spanner
    • Google のグローバルサービスを支える RDBMS
    • 99.999% の可用性(リージョン障害にも耐え得る)
    • 無停止でスケールアウト可能、SQL クエリと ACID トランザクションをサポート
    • 自動シャーディングにより運用負担なし
  • Firestore
    • Firebase と統合し、モバイル / Web アプリ向けに最適化
    • サーバレスの NoSQL データベース
    • ネイティブモードと Datastore モードの 2 種類があり、用途に応じて選択可能
  • Bigtable
    • 高スループット・低レイテンシのワイドカラムストア
    • HBase 互換、IoT データや機械学習データの処理に適している
    • スパースデータの処理に強い
  • Memorystore
    • Redis / Memcached のフルマネージドサービス
    • 高可用性(99.99% SLA)、スケールアウト可能
    • キャッシュ用途に適しており、低レイテンシでデータを提供

既存データベースからの移行に関する内容は、ハンズオンやケーススタディでよく登場する印象です。 Database Migration Service を用いると、最小限のダウンタイムでデータベースの移行が可能で、主に、MySQL / PostgreSQL から Cloud SQL へ、Oracle から AlloyDB へのマイグレーションといった移設が可能です。 リフトアンドシフトの他に、クラウドサービスを活用することでコスト削減やパフォーマンスの向上も期待できます。

Google Cloud には多様なデータベースサービスがあるため、それぞれの特徴を押さえ、用途に応じて適切に選択する必要があります。 特に、新規では Cloud Spanner や AlloyDB、Firestore の積極的な検討、既存データベースからの移行では、まず Cloud SQL を検討といった具合になるようです。 実際はケースバイケースだと思うので、Google Cloud の方と直接相談するのも手だと思います。

第 3 回目:Google Cloud の CI/CD ソリューション

CI/CD とは、Continuous Integration(継続的インテグレーション)と Continuous Delivery もしくは Continuous Deployment(継続的デリバリ/デプロイメント)を意味し、主に成果物をユーザに提供するための一連のフローの自動化に関する開発プラクティスの一つです。

CI は開発者が逐次的に作成するソースコードの変更を頻繁にメインのソースコードリポジトリに統合することです。 これにより、コードのバグや問題を早期に検出し、修正することができます。 また、CI には自動化テストが含まれ、ソースコードの変更がシステムに悪影響を及ぼさないことを確認する役割もあります。

CD は新しいバージョンのソフトウェアを本番環境にリリースする手続きを指します。 ここで、Continuous Delivery と Continuous Deployment の違いは、主に人の介入を必要とするか否かにあります。 全社はリリース前に責任者の承認を得る等、本番環境適用に関する最終的な意思決定を開発者が行い、後者は一連のデプロイフローが自動化されます。

CI/CD の必要性には次のようなものがあります。

  • 品質の維持:コードのバグや問題を早期に検出し、システムへの影響を低減
  • 効率性と生産性の向上:自動化プロセスにより、手動でのコード統合やデプロイといった作業時間を削減
  • 迅速なリリース:頻繁なリリースと、その結果としての新機能の高速な提供

CI/CD を整備しておくことで、頻繁な変更が入る開発現場において、人為的なミスを抑制しつつ高速なリリースを実現できます。

Google Cloud では次のツールを活用して CI/CD を構築することができます。

  • Cloud Workstations:開発環境
  • Cloud Build:CI
  • Cloud Deploy:CD

Cloud Build は VM(Hosted Runner)やリソース管理が不要なフルマネージドな CI サービスです。 bash、npm、docker 等をビルドステップで利用することができ、GitHub や Bitbucket との連携が可能なため、ソースコードの変更を受けて CI をトリガすることができます。

Cloud Build は、取得したソースコードをテスト・ビルドした後、成果物(例:コンテナイメージ)を Artifact RegistryCloud Storage のようなストレージシステムに保存します。

Cloud Deploy は、継続的デリバリに特化したソリューションとなっており、clouddeploy.yamlskaffold.yaml により、環境毎のデプロイを制御します。 また、DORA 4 指標(デプロイ頻度、デプロイ失敗率)、所謂 Four Keys の可視化機能もあります。

以前から DevOps と呼ばれていたプロセスは、近年ではセキュリティのシフトレフトを挟む DevSecOps と言われつつあります。 OSS が多用される今日では、ソフトウェアサプライチェーン攻撃(事例:SolarWinds, NPM Package Hack, CodeCov, Log4Shell, ...etc.)に対抗するため、CI/CD の各工程でセキュリティ対策を講じることが望ましいとされています。

supply-chain-threat-1.jpg

例えば、GitHub から Credentials や Secrets Key が流出した場合、悪用されるまで平均して 15 分程度 とされており、早期検出・早期対応が求められます。

supply-chain-threat-2.jpg

Google Cloud には次のようなセキュリティソリューションが用意されており、CI/CD パイプラインに組み込むことができます。

  • Binary Authorization(バイナリ認証):署名されたコードのみ実行可能
  • Artifact Analysis(脆弱性スキャン):成果物に問題がないかチェック
  • Assured OSS(オープンソース管理):Google が検証した OSS を提供
  • Policy as Code(ポリシ管理):ガバナンスとコンプライアンスを CI/CD に組み込む

また、CI/CD の戦略強化として次のような対策も有効です。

  • アーティファクト管理
    • Artifact Registry:セキュアな成果物保存
    • Distroless コンテナ:最小限の OS で攻撃リスクを低減
  • ソースコード保護
    • Git リポジトリの適切な管理:GPG 署名、アクセス制御
    • 秘密情報の管理:Secret Manager
  • 自動化されたセキュリティテスト
    • 構造テスト / セキュリティスキャン:GOSS, hadolint
    • 継続的モニタリング:Cloud Logging & Cloud Monitoring

最後のセッションでは、CI/CD のツールをはじめ、自動化とセキュリティ対策についてもフォーカスされていました。 ひと昔前は DevOps に焦点を当てているホワイトペーパーが多かったですが、ここ数年でソフトウェアサプライチェーンというワードを中心に、急速にセキュリティに対する温度感、DevSecOps への注目が高まっている印象です。

Google Cloud Skills Boost について

G.I.G. では座学セッションの他、Qwiklabs がホスティングしている Google Cloud Skills Boost というオンライン学習サービスを利用します。 Google Cloud Skills Boost では、Google Cloud ソリューションの基本的な使い方や Google Cloud 認定資格試験の対策をハンズオン形式で学ぶことができます。

システム

各コースを達成することで、スキルバッチとポイントが付与され、Qwiklab で設定されたリーグ毎に他の参加者と順位を競い合うシステムとなっています。 スキルバッチは、Google Cloud のプロダクトやサービスに関する個人のクラウド運用能力を認定するための証明書のようなもので、Credly と連携されています。

また、獲得ポイントは毎週集計され、リーグの昇格または降格の決定に利用されます。 上位 10 位までが次のリーグに参加することができ、『ブロンズ → シルバー → ゴールド → ダイヤモンド』と進みます。

ダッシュボードからバッチの獲得状況や順位を確認することができるため、学習のモチベーション維持にもなりました。

skills-badge.jpg

私の場合、集中的にバッチを獲得した週があったので、1 位をキープした状態でブロンズリーグからシルバーリーグに昇格できました。

silver-promote.jpg

今回は、必須コースの他、Google Cloud 認定資格試験に向けて以下のラボもやってみました。

必須コース

  • (全資格共通)必修コース for G.I.G. プログラム
    • PCA / PCD / PDE のいずれの認定資格を目指される方にも必要となるコース

推奨コース

  • PCA Track for G.I.G.プログラム
    • 認定資格 Professional Cloud Architect を目指される方向けのトラック
  • PCD Track for G.I.G. プログラム
    • 認定資格 Professional Cloud Developer を目指される方向けのトラック
  • PDE Track for G.I.G. プログラム
    • 認定資格 を Professional Data Engineer 目指される方向けのトラック

Google Cloud 認定資格試験について

google-certification-overview.jpg

Google Cloud 認定資格とは

Google Cloud 認定資格 とは、その名の通り Google が提供しているクラウドサービス「Google Cloud」に関する資格のことです。 公式サイト には資格を取得するメリットとして、昇給・昇進に繋がる とあります。

全 12 個の Google Cloud 認定資格は、Foundational(基礎)、Associate(アソシエイト)、Professional(プロフェッショナル)の 3 段階に別れています。参考

google-certification-1.jpggoogle-certification-2.jpggoogle-certification-3.jpg

Foundational レベル

Associate レベル

Professional レベル

今期の G.I.G. では、このうち PCA / PCD / PDE のいずれか一つ を取得することが条件となっていました。

推奨要件として、Professional 認定試験は Google Cloud の使用経験が 1 年以上あり、業界での職務経験が 3 年以上ある方が対象となっています。 Professional 認定試験は 2 時間で、50 - 60 問の多肢選択(複数選択)式となっています。

試験対策

ドキュメントのキャッチアップ

Google Cloud のプロダクトや基本的な機能に関してはある程度キャッチアップしておく必要があります。 PCA / PCD は特にソリューションを幅広く扱っている印象です。

まず、ドキュメントを読みましょうというのは言うまでもないですが、実際一つ一つ読んでいたのでは時間が掛かるので、公式が用意している問題集を解いてみて、回答・解説を読み、関連する内容のドキュメントに目を通す のが効率的だと思います。 応用力を身に付けるため、選択式の問題であったとしても、解説を読んで理解することが重要だと思いました。

公式問題集・過去問の活用

問題集は書籍を購入するのでも良いですが、こちら の各試験のページから exam example を確認することができますし、ネット上では 過去問題 もあるので、これらを参考に傾向を掴んでおくと良いと思います。 昨年 11 月時点では、特に PCD の問題の傾向が変わっており、GKE Gateway API や、AlloyDBApigee 等、過去の試験ではあまり見かけなかった問題や Google Cloud が今推したいと思われるプロダクトがいくつか追加されている印象でした。

また、代表的なソリューションの概要をある程度押さえたら、前述の Google Cloud Skills Boost で、手を動かしてサービスを構築してみることで、応用力や問題のケースに応じたベストプラクティスを想定できるようになると思います。

G.I.G. では、予め問題集や過去問に目を通した上で補習セッションに臨むことで、プロダクトの特徴や試験で押さえておくべきポイントを解説してもらえるので、より理解が深まるかと思います。

当日の試験

G.I.G. では決められた期限内に合格報告することが修了条件ですが、デジタル認定証の発行には平均 5 日程度掛かるため、余裕を持って受験することをお勧めします。

試験は全国にあるテストセンターもしくは、オンライン遠隔監視(OLP) によるリモート受験を選択することができます。 地域によってはオンサイト予約が取りづらいため、OLP の方が日時の調整をしやすいと思います。

自宅で受験する場合は、近辺に何もないことが条件となっており、試験前は、スマートフォンのカメラ等を用いてライブで周囲の様子を試験監督に見せなければなりません。

ちなみに私は浴室で受けました。(冬は寒い 🥶)

OLP の場合は、Webassessor というサービスで受験しますが、混んでいると中々アクセスできないこともあるため、試験開始の 15 分前を目処に予めログインしておくと良いと思います。 何か問題が発生した場合は、Kryterion からその場で サポートに問い合わせることができますが、基本的に英語でのやり取り となります。

最後に

2024 年 12 月時点で全ての修了条件をクリアし、3 つの Prefessional 認定試験も全て合格することができました。

  • Professional Cloud Architect(PCA)
pca-certificate.png
  • Professional Cloud Developer(PCD)
pcd-certificate.png
  • Professional Data Engineer(PDE)
pde-certificate.png

G.I.G. 修了式では受講生を代表して全体の場でコメントもさせて頂きました。

representative.jpg

G.I.G. は、これから Google Cloud の導入を予定している方から、さらに知識を深めたい方まで非常に手厚い支援が受けられるプログラムです。 私の場合、普段の業務で Google Cloud を扱うことが多いですが、実際に担当者の方の話を聞いたり、ドキュメントを深掘りしてみると、まだまだ知らない機能や設計手法が盛りだくさんでとても身になりました。

また、実際に扱ったことのない Google Cloud のプロダクトでも、ラボを活用することでざっくりとしたインフラ構成のイメージが持てるようになりました。

G.I.G. 運営スタッフの皆様には手厚いサポートを頂き感謝しています。 今後は、所属組織にあったベストプラクティスの立案・導入、権限管理、コスト面等、Google Cloud をより適切に活用していけるようにキャッチアップを継続したいと思います。

記念品

G.I.G. の修了記念品と各 Professional 認定資格試験のグッズを頂きました。

  • Award 特典
graduation-gift.jpgspecial-gift.jpg
  • Professional Cloud Architect(PCA)合格認定 グッズ
pca-certified-product.jpg
  • Professional Cloud Developer(PCD)合格認定 グッズ
pcd-certified-product.jpg
  • Professional Data Engineer(PDE)合格認定 グッズ
pde-certified-product.jpg

まとめ

今回は Google Cloud が主催する Google Cloud Innovators Gym(通称 G.I.G.)というプログラムに参加してきたので、その振り返りレポートを書いてみました。 G.I.G. は、これから Google Cloud の導入を予定している方から、さらに知識を深めたい方まで幅広くサポートして頂けるプログラムになっています。

今後参加される方や Google Cloud 認定資格試験を受けようと考えている方に向けて、何かの参考になれば幸いです。