Professional Cloud Developer
認定試験ガイド
Professional Cloud Developer とは、Google が推奨するツールとベスト プラクティスを使用して、スケーラブルかつ安全で可用性の高いアプリケーションを構築し、デプロイするデベロッパーのことです。クラウドネイティブ アプリケーション、コンテナ化アプリケーション、API、デベロッパー ツール、オーケストレーション ツール、マネージド サービス、テスト戦略、サーバーレス プラットフォーム、次世代データベースに関する経験を有している必要があります。さらに、少なくとも 1 つの汎用プログラミング言語に精通しており、コードに計測機能を追加して指標、ログ、トレースを生成できることが求められます。
セクション 1: スケーラビリティ、可用性、信頼性に優れたクラウド ネイティブなアプリケーションの設計(試験内容の約 33%)
1.1 高パフォーマンスのアプリケーションと API を設計する。 以下のような点を考察します。
● マイクロサービス アーキテクチャ
● ユースケースと要件に基づいた適切なプラットフォームの選択(例: IaaS [Infrastructure as a Service]、CaaS [Container as a Service]、PaaS [Platform as a Service]、FaaS [Function as a Service])
● アプリケーションのモダナイゼーション(コンテナ化など)
● Google Cloud サービスがどのように地理的に分散されるか(レイテンシ、リージョン サービス、ゾーンサービスなど)の理解
● ユーザー セッション管理
● キャッシュ ソリューション
● HTTP REST か gRPC(Google リモート プロシージャ コール)か
● API サービス(Apigee など)が提供する Service Control 機能の組み込み
● 疎結合した非同期アプリケーション(Apache Kafka、Pub/Sub、Eventarc など)
● 指標、ログ、トレースを作成するためのコードの計測
● 費用の最適化とリソースの最適化
● エラー、障害、スケーリング イベントの適切な処理
1.2 安全なアプリケーションを設計する。以下のような点を考慮します。
● 適用される規制要件に対するデータ ライフサイクルとデータ所在地の実装
● 脆弱性を特定し、サービスとリソースを保護するセキュリティ メカニズム(Identity-Aware Proxy [IAP]、Web Security Scanner など)
● アプリケーションのバイナリ、依存関係、マニフェストを保護またはスキャンするセキュリティ メカニズム(Container Analysis など)
● アプリケーション シークレットと暗号化キーの保存とアクセス、ローテーション(例: Secret Manager、Cloud Key Management Service)
● Google Cloud サービスに対する認証(アプリケーションのデフォルト認証情報、JSON Web Token [JWT]、OAuth 2.0 など)
● Identity Platform の使用によるエンドユーザー アカウント管理と認証
● ユーザー、グループ、サービス アカウントに対する Identity and Access Management(IAM)のロール
● サービス間の通信(サービス メッシュ、Kubernetes ネットワーク ポリシー、Kubernetes Namespace など)を保護する
● キーレスおよび最小限の特権アクセスでサービスを実行する(Workload Identity、Workload Identity 連携など)
● 証明書を利用した認証(SSL、mTLS など)
● ソフトウェア アーティファクトのためのサプライ チェーンレベル(SLSA)
1.3 アプリケーション データのストレージ オプションを選択する。 以下のような点を考察します。
● オブジェクトへの時間制限付きアクセス
● データ保持に関する要件
● 構造化データと非構造化データ(SQL と NoSQL など)
● 強整合性か結果整合性か
● データの量
● データのアクセス パターン
● オンライン トランザクション処理(OLTP)かデータ ウェアハウジングか
セクション 2: アプリケーションのビルドとテスト(試験内容の約 26%)
2.1 ローカル開発環境を設定する。 以下のような点を考察します。
● ローカル アプリケーション開発向けに Google Cloud サービスをエミュレートする
● Google Cloud コンソール、Google Cloud SDK、Cloud Shell、Cloud Workstations の使用
● デベロッパー ツールの使用(一般的な IDE、Cloud Code、Skaffold など)
● Google Cloud サービスに対する認証(Cloud SQL Auth Proxy、AlloyDB Auth プロキシなど)
2.2 構築する。 以下のような点を考察します。
● ソース コントロール管理
● コードから安全なコンテナ イメージを作成する
● デプロイメント アーティファクトを構成するサービス(Cloud Build、Artifact Registry など)を使用して、継続的インテグレーション パイプラインを開発する
● コードとテストビルドの最適化
2.3 テストする。以下のような点を考察します。
● 単体テスト
● 統合テスト(エミュレータの使用を含む)
● パフォーマンス テスト
● 負荷テスト
● 障害テストとカオス エンジニアリング
セクション 3: アプリケーションのデプロイ(試験内容の約 19%)
3.1 適切な機能ロールアウト戦略を適用する。 以下のような点を考察します。
● A/B テスト
● フィーチャー トグル
● 下位互換性
● バージョニング API( Apigee など)
3.2 アプリケーションをサーバーレス コンピューティング環境にデプロイする。以下のような点を考察します。
● ソースコードからのアプリケーションのデプロイ
● トリガーを使用して関数を呼び出す
● イベント レシーバの設定(Eventarc、Pub/Sub など)
● Eアプリケーション API の公開と保護(Apigee など)
3.3 Google Kubernetes Engine(GKE)にアプリケーションとサービスをデプロイする。以下のような点を考察します。
● コンテナ化したアプリケーションを GKE にデプロイする
● Kubernetes のロールベース アクセス制御(RBAC)と IAM を統合する
● ワークロードの仕様(リソース要件など)を定義する
● Cloud Build を使用してコンテナ イメージを作成する
セクション 4: アプリケーションと Google Cloud サービスの統合(試験内容の約 22%)
4.1 アプリケーションにデータサービスとストレージ サービスを統合する。以下のような点を考察します。
● データストアへの接続を管理する(Cloud SQL、Firestore、Bigtable、Cloud Storage など)
● さまざまなデータストアのデータの読み取りと書き込み
● データを非同期で(Pub/Sub やストリーミング データソースなどから)パブリッシュまたは使用するアプリケーションを作成する
● Workflows、Eventarc、Cloud Tasks、Cloud Scheduler を使用してアプリケーション サービスをオーケストレーションする
4.2 アプリケーションと Google Cloud API を統合する。 以下のような点を考察します。
● Google Cloud のサービスを有効にする
● 以下の点を考慮に入れて、サポートされているオプション(Cloud クライアント ライブラリ、REST API または gRPC、API Explorer など)を使用して API 呼び出しを行う
○ 一括処理リクエスト
○ 戻りデータの制限
○ 結果のページ分け
○ 結果のキャッシュ保存
○ エラー処理(指数バックオフなど)
● サービス アカウントを使用して Cloud APIs 呼び出しを行う
● Google Cloud のオペレーション スイートとの統合