Professional Cloud Developer

Question 56

あなたの開発チームは、.NETレガシーアプリケーションの保守を担当しています。このアプリケーションは時折変更が発生し、最近更新されました。あなたの目標は、CI/CDパイプラインを通じて環境から環境へと移行する際に、アプリケーションが一貫した結果を提供できるようにすることです。デプロイコストを最小限に抑えつつ、外部要因やホスティング環境間の依存関係が問題にならないようにしたいと考えています。あなたの組織では、コンテナはまだ承認されていません。どうすべきでしょうか?

A.
.NET Coreを使用してアプリケーションを書き換え、Cloud Runにデプロイします。リビジョンを使用して環境を分離します。
B.
Cloud Buildを使用して、ビルドごとに新しいCompute Engineイメージとしてアプリケーションをデプロイします。このイメージを各環境で使用します。
C.
MS Web Deployを使用してアプリケーションをデプロイし、Compute Engineでは常に最新のパッチ適用済みMS Windows Serverベースイメージを使用するようにします。
D.
Cloud Buildを使用してアプリケーションをパッケージ化し、Google Kubernetes Engineクラスタにデプロイします。名前空間を使用して環境を分離します。
Question 57

あなたはCloud Source Repositoriesに保存されているアプリケーションのソースコードをビルドおよびテストするためにCloud Buildを使用しています。ビルドプロセスには、Cloud Build環境で利用できないビルドツールが必要です。 どうすべきですか?

A.
ビルドプロセス中にインターネットからバイナリをダウンロードする。
B.
カスタムクラウドビルダーイメージをビルドし、ビルドステップでそのイメージを参照する。
C.
バイナリをCloud Source Repositoriesリポジトリに含め、ビルドスクリプトでそれを参照する。
D.
Cloud Buildの公開Issue Trackerに機能リクエストを提出して、バイナリをCloud Build環境に追加するように依頼する。
Question 58

コンテナ化されたアプリケーションの新バージョンがテストされ、Google Kubernetes Engine (GKE) の本番環境にデプロイする準備が整いました。しかし、本番前環境で新バージョンの完全な負荷テストを実施できなかったため、デプロイ後にパフォーマンスの問題が発生しないようにする必要があります。デプロイは自動化されている必要があります。どうすべきでしょうか?

A.
Cloud Load Balancing を使用して、バージョン間でトラフィックを徐々に増やします。Cloud Monitoring を使用してパフォーマンスの問題を探します。
B.
カナリアデプロイを使用する継続的デリバリーパイプライン経由でアプリケーションをデプロイします。Cloud Monitoring を使用してパフォーマンスの問題を探し、メトリクスがそれを支持するにつれてトラフィックを増やします。
C.
ブルー/グリーンデプロイを使用する継続的デリバリーパイプライン経由でアプリケーションをデプロイします。Cloud Monitoring を使用してパフォーマンスの問題を探し、メトリクスがそれを支持するときに完全にローンチします。
D.
kubectl を使用してアプリケーションをデプロイし、spec.updateStrategy.type を RollingUpdate に設定します。Cloud Monitoring を使用してパフォーマンスの問題を探し、問題があれば kubectl rollback コマンドを実行します。
Question 59

ユーザーから、Cloud Run でホストされているウェブサイトがトラフィックの急増時に応答が遅すぎると苦情が寄せられています。トラフィックのピーク時により良いユーザーエクスペリエンスを提供したいと考えています。どうすべきでしょうか?

A.
アプリケーションの起動時に、データベースからアプリケーション設定と静的データを読み込む。
B.
ビルド時に、アプリケーション設定と静的データをアプリケーションイメージにパッケージ化する。
C.
ユーザーに応答を返した後、できるだけ多くの作業をバックグラウンドで実行する。
D.
タイムアウト例外やエラーが発生した場合、Cloud Run インスタンスが迅速に終了し、代替インスタンスが起動できるようにする。
Question 60

あなたは給与処理を行う社内アプリケーションの開発者です。従業員がタイムシートを提出すると、以下の複数のステップを開始するアプリケーションコンポーネントを構築しています。 • 従業員とマネージャーに、タイムシートが提出されたことを通知するメールが送信される。 • ベンダーのAPIを使用して、タイムシートが給与処理システムに送信される。 • 人員計画のために、タイムシートがデータウェアハウスに送信される。 これらのステップは互いに依存しておらず、任意の順序で完了できます。新しいステップが検討されており、異なる開発チームによって実装される予定です。各開発チームは、担当するステップに固有のエラーハンドリングを実装します。あなたは何をすべきですか?

A.
各ステップに対応するCloud Functionをデプロイし、それぞれのFunctionが対応する下流システムを呼び出して必要なアクションを完了するようにする。
B.
ステップごとにPub/Subトピックを作成する。各下流開発チームが、担当するステップのトピックをサブスクライブするためのサブスクリプションを作成する。
C.
タイムシート提出用のPub/Subトピックを1つ作成する。各下流開発チームが、そのトピックをサブスクライブするためのサブスクリプションを作成する。
D.
Google Kubernetes Engineにデプロイされたタイムシートマイクロサービスを作成する。このマイクロサービスが各下流ステップを呼び出し、次のステップを呼び出す前に成功応答を待機するようにする。