テクノロジーコンサルティング本部 Dataグループ兼Accenture Google Business Group (AGBG)ソリューションアーキテクトの青柳雅之です。このブログは同じくDataグループの所属する横山祐樹と記述しています。

AWSで数年にわたり実施し、100人単位の社員の育成を行ってきたカスケード式トレーニングですが、GCPでもカスケード式トレーニングを本格展開しています。今回のブログでは、Dataグループが中心に行っている仕組化とスケーラビリティを意識したGCPエンジニアの育成の施策について紹介します。

カスケード式トレーニングの思想 - 自助努力
生徒だった参加者が次の学習タームでは講師を行うことを「カスケード式トレーニング」と呼んでいます。

  •  講師をできる人材が長い間講師をしてはいけない。むしろ現場にいるべき。多くの人が人に教えられるようにならなければ、一部の人に負担がかかる。逆に、仕組化により多くの人が講師として育成されれば育成スピードは速まる。
  •  座学よりも自習を重視。新しいことを学ぶのに、ドキュメントを自分で読んでも理解できずに人からわかりやすく教えてもらうようでは将来新しい技術を自分自身で習得できない。
  • 口頭で自分で説明できるようになるべき。自分の言葉で語れて初めて自分の知識となる。

GCPカスケード式トレーニングの対象者とゴール
対象者はDataグループとApplied Intelligenceグループに所属する希望者もしくはGCP関連のプロジェクトに参画する予定のあらゆる部署のメンバーで、職位やクラウドの知識は問いません。GCPの主要なサービスを理解し、それらのハンズオンを経験し、Professional Cloud Architect試験に合格することは最低のゴールです。
これに加え、自分の言葉でサービスの特徴や制約などを語れるようになる、コンソールを操作できるようになることも、ゴールとして含んでいます。これらはOJTに入る前に必要な知識と考えています。

カリキュラム
①ドキュメントの自習と口頭試問
参加者はドキュメントを読み込んで口頭試問を毎週受けるほか、ハンズオンを実施します。週に2回、1回30分の口頭試問をグループで受けます。前の週に読むべきドキュメントが指定されるので、それを読んで口頭試問に臨みます。1グループは5-7名で約2か月間、このトレーニングを行います。口頭試問の時間はメンバーで都合のいい時間帯に行いますが、昼休み前後に行うことが多いです。また、出席は特に厳しくトレースしておらず、出られない場合は出なくていいし、予習が不足しているときはオブザーバー参加もよしとしています。次の表は、参加者が学ぶべき内容となります。スケジュールにある数字は、何週目かを示しますが、基本は11週で終了します。12週はPCA試験の準備なので各自で学んでも構いません。

表:毎週の口頭試問の内容

 

# サービス名 スケジュール(週目) 公式ドキュメント Video
1 GCP概要、リージョン 1 リージョンとゾーン [Cloud OnAir] #01 徹底解剖 GCP のここがすごい
2 Compute Engine(範囲が広いため指定のリンクを中心に確認) 1

仮想マシン インスタンス

[Cloud OnAir] Google Compute Engine に Deep Dive!基本から運用時のベストプラクティスまで

単一テナントノード

ライブ マイグレーション

プリエンプティブル VM インスタンス

インスタンス テンプレート

インスタンス グループ

3 App Engine 2

App Engine スタンダード環境

[Cloud OnAir] #02 GCP の アプリランタイム について学ぼう

App Engine フレキシブル環境

4 Cloud Functions 2

Cloud Functions の関数の作成

[Cloud OnAir] 最新版GCPではじめる、サーバーレスアプリケーションの開発

5 Cloud Storage 2

Cloud Storage とは

 [Cloud OnAir] Google Cloud へのデータ移行

6 共有VPC(VPC全般含む) 3

VPC の概要

D1-2-S07: Google Cloud ネットワーキングのすべて

共有 VPC の概要

7 VPCネットワークピアリング 3

VPC ネットワーク ピアリングの概要

[Cloud OnAir]役に立つGoogle Cloudネットワーク機能のご紹介

8 ネットワーク負荷分散 4

Cloud Load Balancingのコンセプト

[Cloud OnAir] Google Networking Deep Dive ! その技術と設計の紹介

9 Cloud Interconnect 4

ネットワーク接続

同上

10 Cloud SQL 5

Cloud SQL の機能

11 Spanner 5

Cloud Spannerのコンセプト

[Cloud OnAir]Google Kubernetes Engine と Cloud Spanner の紹介

12 Cloud Datastore 6

Cloud Datastoreのコンセプト

13 BigQuery 6

BigQuery の概要

[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介

14 Cloud IAM 7

Cloud IAMの概要

Google Cloud でセキュアにアプリケーションを開発しよう

15 Cloud Resource Manager 7

Cloud Resource Manager リソース階層

16 Cloud Dataflow 8

Cloud Dataflowのコンセプト

GCP 上でストリーミングデータ処理基盤を構築してみよう!

17 Cloud Pub/Sub 8

Cloud Pub/Subのコンセプト

18 GKE 9

GKE の概要

開発ツールと踏み出す Kubernetes への第一歩

19 Container Registory 9

Container Registry の概要

20 Cloud Build 9

コンテナ イメージのビルド

21 Cloud Logging/Cloud Monitoring(旧Stackdriver) 10

基本概念

一歩進んだ Monitoring でアプリケーションを改善しよう

22 Deployment Manager 10

Deployment Manager の基礎知識

23 Cloud IoT Core 11

モノのインターネットの技術的概要

クラウドからエッジまで!進化する GCP の IoT サービス

24 Cloud Datalab 11

主なコンセプトとコンポーネント

25 GCP Marketplace 11

Google Cloud Marketplace とは


Cloud OnAirや公開ドキュメントを中心にしていますが、特にアカウントとネットワークは考え方が難しいので、これらについては社内で作成しているGCP用クラウド設計ガイドラインを学習マテリアルとして利用しています。

②ハンズオン
Qwiklabsやドキュメントのチュートリアルなどから適切なものを選択しています。毎週、指定されたサービスの口頭試問を受けるので、関連性の高いハンズオンを実施します。

アクセンチュア社内ではすでに広くQwiklabsが使われています。「クエスト」と呼ばれるカテゴリー別にトレーニングが分類され、説明文章とハンズオンが記載されています。次の表は、トレーニング中に参加者が行うべきとしたクエストとそれに属するハンズオンを示したものです。なお、クエストにまたがっている同じハンズオンはいずれか1つのクエストに入れています。また、クエスト内のすべてのハンズオンを記載しているわけではありません。これらのすべてを実施しなくても認定試験には合格しますが、業務で使うのであればぜひ実施してほしいと思うハンズオンを記載しています。

 

 

                                         表:参加者が実施するQwiklabsのハンズオン

# クエスト ハンズオン
1 Google Cloud Essentia

仮想マシンの作成
Gtting Started with Cloud Shell and gcloud
Kubernetes Engine: Qwik Start
HTTP ロードバランサとネットワークを設定する

2 Baseline: Infrastructure Cloud Storage: Qwik Start - Console
loud IAM: Qwik Start
Cloud Monitoring: Qwik Start
Cloud Functions: Qwik Start - Console
Google Cloud Pub/Sub: Qwik Start - Console
3 セキュリティとアイデンティティの基礎 Cloud IAM: Qwik Start
IAM のカスタムの役割
サービス アカウントと役割: 基礎
VPC ネットワーク ピアリング
ユーザー認証: Identity-Aware Proxy
Cloud KMS の使い方
4 Networking in the Google Cloud VPC ネットワーク - アクセスの制御
loud Armor を使用した HTTP ロードバランサ
内部ロードバランサを作成する
5 Cloud Architecture 複数の VPC ネットワーク
Spinnaker と Kubernetes Engine を使用した継続的デリバリー パイプライン
6 Kubernetes in Google Cloud Docker の概要
Kubernetes Engine: Qwik Start
Kubernetes を使った Cloud のオーケストレーション
Kubernetes Engine によるデプロイの管理
Kubernetes Engine での Jenkins を使用した継続的デリバリー
7 Deploying Applications App Engine フレキシブル環境に Python Flask ウェブ アプリケーションをデプロイする
Firebase SDK for Cloud Functions
Apigee を使用した API 管理
8 IoT in the Google Cloud モノのインターネット: Qwik Start
Streaming IoT Data to Cloud Storage
Streaming IoT Core Data to Dataprep
Google Cloud での IoT 分析パイプラインの構築
9 BigQuery for Marketing Analysts Google BigQuery で SQL を使用して e コマース データセットを操作する
データポータルを使ったデータ探索とレポート作成
BigQuery で永続テーブルとアクセス制御ビューを作成する
・BigQuery に新しいデータセットを取り込む
Google データポータルと BigQuery で BI ダッシュボードを構築する方法
10 Cloud SQL SQL for BigQuery と Cloud SQL の概要
Cloud SQL for MySQL: Qwik Start
Create a Cloud SQL Instance Using Deployment Manager
Cloud SQL と Terraform
Kubernetes Engine 内のアプリケーションから Cloud SQL に接続する
11 Build a Website on Google Cloud ウェブサイトを Cloud Run にデプロイする
Google Kubernetes Engine でのウェブサイトのデプロイ、スケーリング、更新
モノリシック ウェブサイトを Google Kubernetes Engine のマイクロサービスに移行する


口頭試問の問題作成

毎週2回の口頭試問の問題はあらかじめ作成しています。参加者たちの一部が講師になる際にこの問題を更新することで、最新情報のキャッチアップと学習する全領域の復習が可能になっています。最初にGCPカスケード式トレーニングを実施した際は、AWSのカスケード式トレーニングの問題を見ながら同等の質問を作成しました。当然、AWSには出てこない概念のものは新規に作成しました。これにより、講師にとってはAWSとGCPのサービスの違いも理解できるという副次的効果もありました。

図:講師が使用する口頭試問の問題 - GCPとAWSで同じ質問の対比

個人ワークとグループワークのバランス
全てを個人でやってもらう形にすると、脱落してしまう人も多いです。一方で、すべてを同期してやろうとすると、時間が合わなくて参加できない人も多いでしょう。このトレーニングではメンバーが完全にオンラインで同期して学ぶのは、1回30分の口頭試問くらいですが、よいバランスだと思います。全員が集まって長時間の座学を行うことに、リモートであってもハードルはあることでしょう。

AWSの経験者、有資格者にGCPを学ぶことを推奨
これまで私はアクセンチュア社内でAWSエンジニアの育成も長く実施しており、現在もAWSカスケード式トレーニングは続いています。最近は若手メンバー中心に運営チームを作り、口頭試問のマニュアルも作成し低コストでこのトレーニングを運営しています。口頭試問のノウハウは書籍、「この1冊で合格!AWS認定ソリューションアーキテクト - テキスト&問題集」として出版しました。また、育成の一環として社内外でLT大会(社外ではクラスメソッド様と実施しました)も行っています。
このトレーニングはクラウド未経験から参加できるトレーニングですが、すでに累計で3桁の参加者と資格者が存在しています。GCPを学ぶ場合、AWSを理解していればクラウドの特徴を学ぶ時間は省略できるため、AWSの経験者や有資格者にGCPの資格取得を推奨しています。また、AWSの経験者が短期でGCP認定資格を取得する方法をブログで紹介しています。

育成のチャレンジと対応 - 育成の運営を担ってくれるメンバーをいかに見つけられるか
例えば、組織が誰かを強制的に育成担当にしたとしましょう。えてしてうまくいきません。地道に育成を担ってくれる人を、役職レベル関係なく探すほうが良いです。最初は講師が私一人、参加者が5人という状態から開始して現在の累計3桁の参加者に至ったわけですが、ターム毎にトレーニングを行う中で、やる気があり予習もきちんとして資格も早めに取得する人をピックアップして、次回のトレーナーをやってもらう、運営チームに入ってもらうなど育成の一端を担ってもらうように依頼をしてきました。
全員が運営側をやりたいわけではありません。資格だけ取れたらあとは自分の仕事に専念したい人たちもいます。我々の行っている育成施策は、技術者育成の経験を積みたいというやる気のある人達が担っています。この経験は自分の価値向上になると信じている人たちです。カスケード式トレーニングは毎回10人前後のメンバーが入れ代わり立ち代わり入ってくるので優秀で運営を担ってくれそうな人を見つけやすいという利点はあります。実は、AWSエンジニアの育成の運営に関わっているメンバーは、そのままGCPエンジニアの育成にも関わってもらっています。

最後に
最初は一人で始めたこの活動も運営に加わってくれる人が増えました。部内では新入社員に対してトレーニングを行えばよいレベルまで資格者が増加したので、今後はこのトレーニングをベースによりレベルの高いことができそうです。
講師経験者も増加しているので、確実に知識レベルが部内で均一かつ向上していると思います。

青柳 雅之

テクノロジー コンサルティング本部 Dataグループ シニア・マネジャー


横山 祐樹

テクノロジー コンサルティング本部 アソシエイト・マネジャー

ニュースレター
Subscribe to アクセンチュア・ クラウド・ ダイアリーズ Blog Subscribe to アクセンチュア・ クラウド・ ダイアリーズ Blog