こんにちは、こえじまです。
先日Google Cloud Certified – Professional Cloud Architectに合格しました。
Associate Cloud Engineerと比べると、細かいことは聞かれません。
その代わり、どのプロダクトを使ってどういうアーキテクチャを組むのか、それがなぜ最適なのかをしっかりと考えていく必要があるので、結構難易度が高めです。
試験概要
公式の説明は以下の通りです。(ハイライトは独断で付けました)
Professional Cloud Architectは、Google Cloudの技術を組織が活用するために必要なクラウドアーキテクチャとGoogle Cloud Platformに関する専門的な知識を活かして、ビジネス目標を推進するスケーラブルで高可用性を備えた堅牢かつ安全な動的ソリューションを設計、開発、管理するスキルを持ったアーキテクトです。
Professional Cloud Architect 認定資格 | Google Cloud
Associate Cloud Engineer(ACE)と比較して、Professional Cloud Architect(PCA)では、よりビジネス的な観点が求められます。
ACEの説明は以下の通りです。
Associate Cloud Engineerは、アプリケーションのデプロイ、オペレーションのモニタリング、エンタープライズソリューションの管理を行います。Google Cloud Consoleとコマンドラインインターフェースを使用してプラットフォームベースの一般的なタスクを実行し、Google Cloud上のGoogleマネージドサービスまたはセルフマネージドサービスを利用してデプロイされたソリューションを管理できるようになります。
Associate Cloud Engineer 認定資格 | Google Cloud
実際、ACEだとコマンドやプログラムコードのデバッグの問題も出ますが、PCAではそれ系は出ません。(たまたま私が当たらなかっただけかもしれませんが・・・。)
結果
前述の通り無事、合格でした。
AWSと違い、各項目ごとの正否割合は非公表なので詳細は分かりません。
全部解き終わったあと、合格か不合格か結構ギリギリなラインだろうな・・・どうだろう・・・と思いながら試験提出したのを覚えています。
合格ラインは35/50(70%)とか噂されていますが、真偽のほどは分かりません・・・。
「後で見直す」のチェックを付けられるので、とりあえず1周流しで回答し、他の問題で答えに近いものがあったらいいなと期待しながら見直しの2周目をやって提出しました。
50問と問題数はそこまで多くありませんが、ほぼ全ての問題が3〜5行の長文問題だったので、一問一問が重く、めちゃくちゃ疲れました。
しかも合格/不合格の表示が非常に分かりにくいです。
試験提出ボタンをクリックしたあと、アンケートに回答し、少し進むと無機質な合否表示が出てきます。
何も考えずに次へを連打していると見逃しそうなので、しっかり見ましょう。
無事合格すると合格者限定グッズを注文できます。
私が見たときは、以下の4つでした。(スクショ撮り忘れました。。)
- グレーのバッグ
- メンズ用グレーパーカー
- メンズ用ブラックパーカー
- ウィメンズ用ブラックパーカー
私はメンズ用のグレーパーカーを選びました。PCAのステッカーと一緒に送付されるようです。
[aside]補足
アメリカサイズなので基本デカいです。メンズ用のパーカーは一番小さいSMサイズで胸囲37-39inch(だいたい93cm-99cmくらい)でした。
[/aside]
事前知識
半年前にACEを取得しているので、GCPプロダクトの概要の知識はあります。
ただ、それ以来ほとんどGCPを触っていなかったので、記憶を呼び起こすところからスタートでした。
対策方法
会社がパートナー契約を結んでいたのでGCPのCouseraは見放題で、Qwiklabsもクレジットが十分に付与されているという、結構恵まれた環境でした。
基本はCouseraの以下の動画を見て勉強しただけです。
Preparing for the Google Cloud Professional Cloud Architect Exam | Coursera
Reliable Google Cloud Infrastructure: Design and Process | Coursera
Riliable Google Cloud Infrastructureは勉強にはなりましたが、試験範囲としてはあまり被ってないように思います。
あと、Qwiklabsで実際に触ってGCPに慣れました。
[kanren2 postid=”2307″]
[kanren2 postid=”2317″]
ACEのときに各プロダクトの概要は学んでいたので、各プロダクトの特徴の復習と、要件に対してどう組み合わせていくかをCouseraで学びました。
上記が終わって模擬試験を受けたところ、15/20だったので申し込みました。
ここらへんは覚えておこう
試験受験前に、試験内容は外部に絶対漏らさないようにという念書(?)を読まされるので、あまり詳しいことは言えませんが、ここらへんを勉強しておくといいよーというのをまとめておきます。
試験勉強をしていて気づいたポイントが5つあります。
- コンテナ化を進めよう
- 出来るだけグループ化して最小権限を与える
- ケーススタディの例をGCPのプロダクトで実装するとどうなる?
- Googleの人ならどういう発想をするだろうか
- プロダクト名をざっと覚えよう
コンテナ化を進めよう
Googleがコンテナ化を推進しているだけあり、GKEとKubernetesは必修です。
コンテナの概要とメリットだけでなく、Kubenetesの用語まで学んでおいたほうが良いです。(Pods, Deployments, Services, ConfigMap, StatefulSetなど)
以下のサイトが非常に分かりやすいです。特に1, 3, 8, 9, 11日目は基本の概念となるのでじっくり理解しておきましょう。
Kubernetes道場 Advent Calendar 2018 – Qiita
出来るだけグループ化して最小権限を与える
セキュリティ、IAM系の問題は必ず最小権限が前提となります。
これはGCPに限らず、権限管理の話ですが、不要な権限は出来るだけ与えないのが基本です。
ユーザー個別に権限を与えることはせず、グループを作り、ユーザーはグループに所属させます。
そのグループに対して出来るだけ少ない権限を与えることで、セキュリティを高めることができます。
ケーススタディの例をGCPのプロダクトで実装するとどうなる?
ケーススタディで出ている、Mountkirk Games、Dress4Win、TerramEarthはガッツリ試験で出ます。
私の時は各4問ずつくらい出たような気がします。
模擬試験を参考に、全てのケーススタディでどのプロダクトを採用するのが良いのかを事前に考えておきましょう。
Googleの人ならどういう発想をするだろうか
答えをどうしても1つに絞れない問題では、Googleの人ならどう考えるかを想像して答えるのが良いです。
例えば、機械学習としてHadoopを構成するとしたら、わざわざVMを立ててそこにHadoopをインストールするよりも、dataprocを使いましょうという話です。
AWSや他のベンダー資格なんかでも同じですね。その会社の社員ならどう考えるか、出来るだけ自社のプロダクトを使って構成を組むとどうなるかをベースにすると良いと思います。
個人的にGoogleが大事にしてそうだなーと思うのは以下の4つです。
- 機械学習やAIで最適化
- Monitoringを前提とした仮設検証と最適化(SRE的な観点)
- 徹底的に自動化
- マイクロサービスアーキテクチャ(コンテナ化等)
プロダクト名をざっと覚えよう
各プロダクトをざっと眺めてどんなサービスがあるか把握しておきましょう。
概要を知るにはGCPの各サービスが2枚でまとまっている以下がおすすめです。
『 1 行でわかる Google Cloud Platform』公開 | Google Cloud Blog
私はビッグデータ系のDataprep、Datalab、Composerの名前を知らなかったので試験中かなり焦りました・・・。
以下のプロダクトは試験関係なく、GCPでのデザインをするならほぼ必ず出てくるプロダクトなので覚えておいたほうが良いです。(上記の「1行でわかる」と並べてご覧ください。)
APIプラットフォームとエコシステム
- Cloud Endpoints:GCPでAPIを作るならこれかApigee
モニタリングツール
- Stackdriverシリーズ:SREの基本、全部大事
- Cloud Deployment Manager:自動化するならまずはこれ、Infrastructure as Code
- Cloud Console/Cloud Shell:GCPサービスを設定するならこれらかSDK
Internet of Things(IoT)
- Cloud IoT Core:IoTに必要な機能をよしなにやってくれるマネジメントサービス
データ転送
- Google Transfer Appliance:TB以上のデータをGCSに保管する場合はApplianceを使わないと年単位の時間がかかる
- Cloud Storage Transfer Service:AWS S3やGCSからGCSにデータを送るときに使う、名前からTransfer Applianceと勘違いしやすいので注意
ID管理とセキュリティ
- Cloud IAM:ユーザー管理、必ず最小権限で
- Cloud Key Management Service:自己所有の鍵を使いたい場合など、セキュリティの話をするなら鍵の話は絶対についてくる
開発者向けツール
- Cloud SDK:GCPサービスを設定するならこれかConsoleかShell
- Container Builder:ソースコードとDockerfileからコンテナを作るサービス
- Container Registry:コンテナの登録
- Cloud Source Repositories:Gitのようなソースコード管理
- Spinnaker:JenkinsのようなCI/CDツール
コンテナデプロイはSource Repository → Container Builder → Container Registry → Spinnakerの流れを覚えておきましょう。
GKE のアプリデプロイは Spinnaker に任せて!
の26ページ以降は必修です。
ストレージ
- Cloud Storage:ほぼ何にでも使えるストレージ、データベースとどちらを使うか悩むことが多い、ファイルのライフサイクルはきちんと理解しておくこと
- Nearline/Coldline:月1回、年1回のアクセスならどちらを使うのか理解しておく
- Persistent Disk:VMにアタッチするディスク、HDDやSSDの暗号化方式や永続ディスクの特徴などは勉強漏れになりやすい
機械学習(Machine Learning)
ほとんど私は勉強しませんでした。
AutoMLだと機械学習(転移学習)を簡単に出来るようになるとか、Speech APIとかだと音声解析が出来るとか結構楽しそうなプロダクトが多いので、いつか触ってみたいと思ってます。
ネットワーク
どれもとても大事です。
VPCはVMの基本となるし、Webサービスを作るならLoad BalancerやCDN/DNSは絶対に必要になります。
オンプレミスからGCPへの接続方式にはPeering2種とInterconnect2種があります。キャリアを使うのはどれで、SLAがあるのはどれなのか判別出来るようにしておきましょう。
データベース
これも全て大事です。
各DBの特徴はもちろん、RDBで10TBを越えるならCloudSQLは使えないのでSpannerを使うべき、などの制限と選定基準を身に着けておきましょう。
コンピュート
どれもめちゃくちゃ大事です。
GCE、GAE Standard、GAE Flexible、GKE、Cloud Runとは何か、およびそれぞれの特徴と使い分けを理解しておきましょう。
ビッグデータ
- BigQuery:GCPといえばこれ!というくらい代表的なサービスです、DWH的な役割も果たすのでデータの保存場所としても使われます
- Dataflow:いわゆるETLです、ストリーミングでデータをいい感じに処理できるすごいやつ
- Dataproc:マネジメントのHadoop
- Dataprep:Dataflowとの違いがまだ分かっていません・・・
- Composer:ワークフローシステム
- Cloud Pub/Sub:キューイングシステム、AWSのSQSもそうですが、マネージドサービス間などのシステム間を疎結合にするためによく使われます
- Datalab:可視化ツール
まとめ
全体的に範囲が広く、学ぶべきことが多い上、試験当日もかなり考えさせられる難易度高めの試験です。
しっかり対策をして試験に臨みましょう!
コメント