blog

DeNAのエンジニアが考えていることや、担当しているサービスについて情報発信しています

2023.06.29 インターンレポート

G.I.G. に学ぶ Google Cloud の歩き方

by Hayato Hagari

#gcp #internship #G.I.G. #infrastructure

はじめに

はじめまして。23新卒の葉狩です。 入社までのおよそ1年間、私は内定者インターンに参加させていただいていて、日比谷音楽祭アプリの開発や社内ツールの機能追加などの業務を行っていました。

さて、早速ですが、異動や転職、新規配属など新しい環境に移って Google Cloud を扱わなければならなくなったにも関わらず、Google Cloud を利用した経験がない方は多いのではないでしょうか?

今回は私のインターン期間中に、Google Cloud が主催していた G.I.G というイベントに参加させてもらったことと、その時に学んだ Google Cloud のより良い学習方法についてお話しできればと思います。 これから環境が新しくなってはじめて Google Cloud を触る方にとって学習の足がかりになると幸いです。

G.I.G. とは

G.I.G. とは、参加者のクラウドスキル習得と活用の推進を目指した約3ヶ月の Google Cloud の特別トレーニングプログラムです。 G.I.G. という名称は Google Cloud Innovators Gym の略で、プログラム自体は特別招待制となっています。

PCA・PCD・PDE の3つの認定資格のうちどれかを取得することが修了条件の一つに設定されていて、その認定資格に応じた Coursera のコースと、集合形式のセッションでプログラムが構成されています。

​​プログラム参加中は、もくもくと Coursera のコースで学習し、公式ドキュメントで知識の補完やインプットをしていました。 また、各回のセッションではラボを使い、Google Cloud 環境でリソースを構築していくようなハンズオン形式での学習もできたため、実際の利用イメージを掴みながら進められたのがとても良かったと感じました。

学習面のサポートだけではなく Google Cloud Next ’22 のエンジニア・デベロッパー向けイベント「Innovators Hive at Google Cloud Next」に招待していただき、基調講演を聞いたり、イベント後のパーティーに参加して他のプログラム参加者の方と交流できたこともプログラム参加中のモチベーション維持に繋がりました。 私自身は PCA コースでプログラムを進めて無事に Professional Cloud Architect 認定資格を取得して終了することができました。

開始時点のスキル感

一応私はAWSのSAAを1年ほど前に取得していましたが、普段はバックエンド開発を主たる業務としていたためそれほどバリバリAWSを使ったインフラ構築をしていたわけではなく、お世辞にもパブリッククラウドに詳しいとはいえない状態でした。 Google Cloud に関しては特に知識がなく、どんなリソースがあるか全然知らない状態で、ほとんど知識ゼロの状態からスタートしました。

G.I.G. で学んだ Google Cloud の学習のコツ

プログラム開始前は学習の進め方に迷ってやみくもに学習していたのですが、G.I.G. を通して学習のコツがわかったので共有したいと思います。

①ベストプラクティスを調べる

パブリッククラウドの学習をする際に、「何もわからないけどとりあえずリソースを作ってみる」をやってしまいがちかと思うのですが、 プログラム参加中一番耳にしたアドバイスは「ベストプラクティスを調べてください」でした。

Google Cloud のドキュメントを探すとベストプラクティスなるものがほとんどのサービス毎に存在しています。 ある程度サービスの名前を覚えたら、まずこのベストプラクティスを確認しましょう。

例えば Cloud SQL のベストプラクティスはこちらのページにまとまっており、パフォーマンス・耐久性・可用性・トラブルシューティングなど様々な観点でのベストな実装・対応を知ることができます。 「実装の時に何から手をつけたら良いかわからない」「どのように使うかのイメージがわかない」のような状況ではこちらを最初に読むと良さそうです。

どのサービスから調べたら良いかわからなくなったり、設計や運用、パフォーマンスの最適化など、目的別に調べたい時には Google Cloud アーキテクチャ フレームワーク を読むのもお勧めです。 Google Cloud アーキテクチャ フレームワーク は Google Cloud が推奨する6つの柱から、ベストプラクティスや実装における推奨事項を紹介しています。

アーキテクチャ フレームワークでは、ベスト プラクティスを記載し、実装上の推奨事項を紹介し、利用可能なプロダクトやサービスの一部について説明します。このフレームワークは、実際のビジネスニーズに合わせて Google Cloud のデプロイを設計できるようにすることを目的としています。 Google Cloud アーキテクチャ フレームワーク より引用

G.I.G での学習初期に Coursera の進捗を出すことが目標になってしまって、あまり知識が定着せず、学習が停滞してしまったことがありましたが、このベストプラクティスを調べるというアドバイスをいただいたことで、 Google Cloud リソースに対しての単なる暗記ではなく実装レベルでの注意点や設計を踏まえた知識を得ることができました。

② Cloud アーキテクチャ センター でトピック毎の設計パターンやリファレンスアーキテクチャを見つける

ベストプラクティスについて学んだ後、理解したリソースを組み合わせて、どんな課題を解決できるかについて複数の選択肢を提示するためには例となる実装や設計のパターンを知っている必要があります。 そんな設計パターンを調べるには、 Cloud アーキテクチャ センター を活用するのが良いです。 フィルタ条件で Reference architecture を選ぶとそれぞれのトピック毎のアーキテクチャやサンプルコードをみることができます。

あとは、この段階で認定資格を受ける方も受けない方も一度模擬試験を受けてみることをお勧めします。

認定資格試験の問題では、現在の状況や満たすべき条件から最適なソリューションを選択するため、詰め込んだインプットをより実例に近い状況でアウトプットでき、知識を定着させやすいです。

おまけ ハンズオンをIaCで取り組む

プログラム内では多くのハンズオンを通してインプットした知識の定着をはかる場面がありましたが、同時にIaC(インフラのコード化)も推奨されていました。

ここに関しては個人的な反省と意見なのですが、こうしたハンズオン形式が有効になる学習フェーズでは、多くのハンズオンに取り組むうちに、だんだんとこなすこと自体が目的になってしまいがちでした。 そして、一度完了したハンズオンに関しては Google Cloud 環境上からクリーンアップをするため、後から見返せなくなってしまいますので、振り返りをするためにもIaCをハンズオン時に取り入れることをお勧めします。

IaCの一手段として、Terraformについてもベストプラクティスのドキュメントが存在します。 モジュール構造やディレクトリの配置など多くのTipsが、ベストプラクティスとして紹介されているので目を通しておくと良いです。

まとめ

「G.I.G. 参加記」などで検索して出てきたブログ記事を読むと、 Google Cloud の経験があまりない状況から、最上位の認定資格を取得している人も多く、G.I.G. プログラムはとても良質な学習機会を提供してくれているなと強く感じています。私自身3ヶ月間のプログラムでのトレーニングを経て、業務で Identity-Aware Proxy・Google Kubernetes Engine を使ったプロダクトのインフラ構成をゼロから特別な苦労なしに構築できるようになりました。 短期間で理解しながらクラウドインフラを構成できるようになったというところに、「ベストプラクティス・設計パターン・リファレンスアーキテクチャ」を学習する強いメリットを感じました。 異動や新規配属などで Google Cloud を学習しなければならない状態になり、何から手をつけて良いかわからない方は、ぜひ今回紹介した学習方法をお試しください。

最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。

recruit

DeNAでは、失敗を恐れず常に挑戦し続けるエンジニアを募集しています。