Google Cloud 認定 Professional Cloud Architect 本番レベル問題 Part1 1~3問目（概要欄に問題集のリンクあり）

## この記事の目的
Clouds StarterがKindle・Udemyにてしている問題集の一部を公開します。
この記事の問題を解くことで、本番レベルの問題に慣れるだけでなく、どういった観点が本番で問われるかを確認することができます。

## 本シリーズのリンク
Part2：https://qiita.com/clouds-starter/items/308650ffc43f99f5609c/

## 問題集（Udemy・Kindle）
### Udemy 
【Google Cloud】
Associate Cloud Engineer：https://www.udemy.com/course/google-cloud-associate-cloud-engineer-z/?referralCode=6F46C7AAC19A25BE1728
Professional Cloud Architect：https://www.udemy.com/course/google-cloud-professional-cloud-architect-i/?referralCode=2533A3214C4439F57A42
Professional Data Engineer：https://www.udemy.com/course/google-cloud-professional-data-engineer-s/?referralCode=B50B6D7F8849CCCF6B6E

【AWS】
Cloud Practitioner：https://www.udemy.com/course/2022aws-10-650/?referralCode=6B63C1D36EA602B66A02
Machine Learning：https://www.udemy.com/course/aws-30-b/?referralCode=62C2C02B9127E6DFE9F6

### Kindle
Google Cloud認定Professional Cloud Architect：https://amzn.to/3GQw2XT
Google Cloud認定Professional Data Engineer：https://amzn.to/339Az9Z

その他問題集：
https://amzn.to/34LKAu9

##問題（#1~#3)
Q1：
あなたの会社は、ユーザーが会社のウェブサイトからダウンロードできるレンダリングソフトウェアを作成しています。お客様は世界中にいます。すべての顧客のために、遅延を最小限に抑えたいと考えています。Googleが推奨する方法に従いたいと考えています。
ファイルはどのように保存すればよいでしょうか。

A.  Multi-Regional Cloud Storageのバケットにファイルを保存する。
B.  リージョナルCloud Storageのバケットにファイルを保存し、リージョンのゾーンごとに1つのバケットを作成する。
C.  複数のリージョナルCloud Storageのバケットにファイルを保存し、リージョンごとにゾーンごとに1つのバケットを作成する。
D.  複数のMulti-Regional Cloud Storageバケットにファイルを保存し、マルチリージョンごとに1つのバケットにする。

解説：
世界中の顧客に対する遅延を最小限に抑えるためには、複数のMulti-Regional Cloud Storageバケットの使用が適切です。

Google Cloudのプラクティスとして、Google ネットワークの外部にあり、広域に分散しているデータ コンシューマにコンテンツを配信する場合や、地理的冗長性による高可用性を使用する場合は、Multi-Regional Cloud Storageの使用が推奨されています。

Multi-Regional Cloud Storageで注意が必要な点は、一つのMulti-Regional Cloud Storageではある大陸の複数のリージョンのみ、例えばEU、米国、アジアをカバーするだけという点です。
今回の場合は、世界中の顧客に対してのソリューションであるため、複数のMulti-Regional Cloud Storageバケットの使用が適切です。

したがって正解は以下の通りです。
「複数のMulti-Regional Cloud Storageバケットにファイルを保存し、マルチリージョンごとに1つのバケットにする」

参照：
https://cloud.google.com/storage/docs/locations
https://cloud.google.com/storage/docs/locations#available_locations
https://medium.com/google-cloud/google-cloud-storage-what-bucket-class-for-the-best-performance-5c847ac8f9f2

正解： D


Q2：
あなたの開発チームでは新しいアプリケーションを構築しています。開発マネージャーはあなたに要件に基づいてどのようなクラウドテクノロジーを使用できるかを特定するよう依頼しました。このアプリケーションは以下の条件を満たす必要があります。
1.クラウドへの移植性を考慮して、オープンソースの技術をベースにする
2.需要に応じて計算能力を動的に拡張する
3.継続的なソフトウェアデリバリーをサポートする
4.同じアプリケーションスタックの複数の分離されたコピーを実行する
5.ダイナミックテンプレートを使用してアプリケーションバンドルのデプロイする
6. URL に基づいてネットワークトラフィックを特定のサービスにルーティングする
彼の要求をすべて満たすテクノロジーの組み合わせはどれですか？

A.  Google Kubernetes Engine, Jenkins, Helm
B.  Google Kubernetes Engine, Cloud Load Balancing
C.  Google Kubernetes Engine, Cloud Deployment Manager
D.  Google Kubernetes Engine, Jenkins, Cloud Load Balancing

解説：
Kubernetes Engineは、2種類のロードバランシング（Ingress / External Network Load Balancing）をネイティブにサポートしているため、Cloud Load Balancingを別コンポーネントとして導入する必要はありません。
したがって、選択肢B, Dは除外されます。

また、「ダイナミックテンプレートを使用してアプリケーションバンドルのデプロイする」という要件はHelmを用いる必要があります。
Helmは、Kubernetes 用に構築されたソフトウェアを検索、共有、使用するためのツールです。

したがって正解は以下の通りです。
「Google Kubernetes Engine, Jenkins, Helm」

参照：
https://cloud.google.com/solutions/jenkins-on-kubernetes-engine
https://github.com/GoogleCloudPlatform/kubernetes-engine-samples/tree/master/load-balancing
https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer#optional_serving_multiple_applications_on_a_load_balancer
https://helm.sh/ja/

正解： A


Q3：
お客様の会社では、ローカルデータセンターで実行されるApache SparkとHadoopのジョブの数とサイズが急激に増加することが予想されています。クラウドを利用することで、運用作業やコードの変更を最小限に抑えながら、今後の需要に対応したいと考えています。
どのサービスを使うべきでしょうか？

A.  Google Cloud Dataflow
B.  Google Cloud Dataproc
C.  Google Compute Engine
D.  Google Kubernetes Engine
 

解説：
Google Cloud Dataprocは、Google Cloud Platform上でApache SparkとApache Hadoopのエコシステムを実行できる、高速で使いやすく、低コストで完全なマネージドサービスです。
また、Google Cloud StorageやStackdriver Loggingなど、Google Cloud Platformの他のサービスと統合されているため、TCOを削減することができます。

したがって正解は以下の通りです。
「Google Cloud Dataproc」

参照：
https://cloud.google.com/dataproc/docs/resources/faq

正解： B