Welcome to ExamTopics
ExamTopics Logo
- Expert Verified, Online, Free.
exam questions

Exam Professional Cloud Developer All Questions

View all questions & answers for the Professional Cloud Developer exam

Exam Professional Cloud Developer topic 1 question 114 discussion

Actual exam question from Google's Professional Cloud Developer
Question #: 114
Topic #: 1
[All Professional Cloud Developer Questions]

You are developing a new application that has the following design requirements:
✑ Creation and changes to the application infrastructure are versioned and auditable.
✑ The application and deployment infrastructure uses Google-managed services as much as possible.
✑ The application runs on a serverless compute platform.
How should you design the application's architecture?

  • A. 1. Store the application and infrastructure source code in a Git repository. 2. Use Cloud Build to deploy the application infrastructure with Terraform. 3. Deploy the application to a Cloud Function as a pipeline step.
  • B. 1. Deploy Jenkins from the Google Cloud Marketplace, and define a continuous integration pipeline in Jenkins. 2. Configure a pipeline step to pull the application source code from a Git repository. 3. Deploy the application source code to App Engine as a pipeline step.
  • C. 1. Create a continuous integration pipeline on Cloud Build, and configure the pipeline to deploy the application infrastructure using Deployment Manager templates. 2. Configure a pipeline step to create a container with the latest application source code. 3. Deploy the container to a Compute Engine instance as a pipeline step.
  • D. 1. Deploy the application infrastructure using gcloud commands. 2. Use Cloud Build to define a continuous integration pipeline for changes to the application source code. 3. Configure a pipeline step to pull the application source code from a Git repository, and create a containerized application. 4. Deploy the new container on Cloud Run as a pipeline step.
Show Suggested Answer Hide Answer
Suggested Answer: A 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
morenocasado
Highly Voted 2 years, 7 months ago
Selected Answer: A
A is the correct choice. B - use Jenkins as the deployment tool instead of Cloud Build (The application and deployment infrastructure uses Google-managed services as much as possible). C - uses Compute Engine to run containers. CE is not serverless. D - we can't version gcloud commands
upvoted 6 times
wanrltw
1 year ago
Cloud Functions are intended for single-purpose functions, not an entire app. D is a far better fit here and nobody is talking about "versioning gcloud commands" - Cloud Run has revisions (=versions), which meets the task's criteria.
upvoted 2 times
...
...
omermahgoub
Highly Voted 1 year, 10 months ago
Selected Answer: D
Option D is the best fit for designing the architecture of the new application as it satisfies all the design requirements of versioning and auditing the infrastructure changes, using Google-managed services and deploying the application on a serverless compute platform. The approach includes: - Deploy the application infrastructure using gcloud commands. - Use Cloud Build to define a continuous integration pipeline for changes to the application source code. - Configure a pipeline step to pull the application source code from a Git repository, and create a containerized application. - Deploy the new container on Cloud Run as a pipeline step. It's worth noting that all options could potentially satisfy the requirements, as long as they use Google-managed services and track infrastructure creation and changes, the choice of different services, platform and tools depend on the specific requirements of your application and development preferences.
upvoted 5 times
AscendedCrow
1 year, 8 months ago
What about the versioning aspect?
upvoted 1 times
...
omermahgoub
1 year, 10 months ago
Option A: 1. Store the application and infrastructure source code in a Git repository. 2. Use Cloud Build to deploy the application infrastructure with Terraform. 3. Deploy the application to a Cloud Function as a pipeline step, can potentially satisfies the requirement of versioning and auditing the infrastructure changes, but it may not meet the other two requirements of using Google-managed services and deploying the application on a serverless compute platform: - By using Terraform, which is a third-party infrastructure as code tool, it is not a Google-managed service and it may not have the same level of integration as Google-managed services. - Cloud Functions are a serverless compute platform, but it's mainly used to run event-driven, short-lived functions, while it's not a suitable choice for running long running processes, web servers and so on.
upvoted 2 times
omermahgoub
1 year, 10 months ago
In addition, deploying the infrastructure using Terraform, which is not fully integrated with the google cloud, may lead to additional cost and management effort. Also, deploying the application on Cloud Functions may not be able to meet some of the requirements like long running processes, stateful workloads and other requirements that Cloud Run can fulfill.
upvoted 1 times
omermahgoub
1 year, 10 months ago
Although, all of the options may have their own merits and depending on the specific requirement of the application any of them can be suitable, but considering all the requirements stated in the question option D could be the best fit.
upvoted 1 times
...
...
...
...
thewalker
Most Recent 4 months, 1 week ago
Selected Answer: D
D. 1. Deploy the application infrastructure using gcloud commands. 2. Use Cloud Build to define a continuous integration pipeline for changes to the application source code. 3. Configure a pipeline step to pull the application source code from a Git repository and create a containerized application. 4. Deploy the new container on Cloud Run as a pipeline step. Versioned and Auditable Infrastructure: While Terraform (option A) is a great choice for infrastructure as code, using gcloud commands directly allows for version control and auditing through your Git repository. This ensures a clear history of infrastructure changes. Google-Managed Services: Cloud Build, Cloud Run, and Git repositories are all Google-managed services, fulfilling the requirement for using Google-managed services as much as possible. Serverless Compute: Cloud Run is a serverless platform that perfectly fits the requirement for a serverless compute environment.
upvoted 1 times
thewalker
4 months, 1 week ago
Why the other options are less suitable: A. While Terraform is great for infrastructure as code, it's not as directly integrated with Google Cloud's CI/CD tools as gcloud commands. B. Jenkins is a third-party tool, not a Google-managed service. It also doesn't inherently provide the same level of integration with Google Cloud's CI/CD tools as Cloud Build. C. Deployment Manager is a good option for infrastructure as code, but it's not as flexible as gcloud commands for direct control. Also, deploying to a Compute Engine instance doesn't meet the serverless requirement.
upvoted 1 times
...
...
d_ella2001
4 months, 2 weeks ago
Selected Answer: D
Correct answer D based on the requirements
upvoted 1 times
...
d_ella2001
4 months, 2 weeks ago
Selected Answer: D
I agree with omermahgoub.
upvoted 1 times
...
alpha_canary
7 months, 2 weeks ago
Selected Answer: A
D would be true if & only it didn't mention using gcloud commands to deploy application infrastructure
upvoted 2 times
...
wanrltw
1 year ago
Selected Answer: D
I vote D: - gcloud, Cloud Build, Cloud Run - are Google-managed services - Cloud Run has revisions (=versions) - Cloud Run is serverless A is wrong, as Cloud Functions are intended for single-purpose functions - not an entire app.
upvoted 3 times
...
__rajan__
1 year, 2 months ago
Selected Answer: A
A is correct
upvoted 1 times
...
purushi
1 year, 3 months ago
Selected Answer: A
My answer is A: Version and auditable: GIT GCP managed deployment infrastructure: Cloud build, Cloud Deployment Manager, Terraform Serverless: Cloud Functions
upvoted 2 times
...
NewComer200
1 year, 7 months ago
Selected Answer: A
It is definitely A vs. B, though. I still think the deciding factor is "Creation and changes to the application infrastructure are versioned and auditable". Whether to deploy to Cloud Run or Cloud Functions is irrelevant because we don't know the contents of the application. Both are serverless.
upvoted 1 times
...
AscendedCrow
1 year, 8 months ago
Selected Answer: D
What put me off A is that at the end there is deploy to ` Cloud Function` and it should be all serverless applications and not just a cloud function, that is what Cloud Run should do.
upvoted 3 times
...
zellck
1 year, 11 months ago
Selected Answer: A
A is the answer.
upvoted 1 times
...
TNT87
2 years ago
Ans A https://cloud.google.com/docs/ci-cd/products#featured-products-for-cicd
upvoted 1 times
...
[Removed]
2 years, 2 months ago
D is correct, applications should not be deployed on cloud functions.
upvoted 2 times
...
tomato123
2 years, 3 months ago
Selected Answer: A
A is correct
upvoted 4 times
...
dishum
2 years, 6 months ago
B and C are not correct (we cant use jenkins in option B, and cant use compute engine as it is not serverless in option C) So in A and D option - option A is not right becoz we can deploy on cloud function not suitable as serverless compute So i think Answer is D
upvoted 1 times
dishum
2 years, 6 months ago
Changing my answer to A, becoz of versioning. can't use gcloud commands in versioning in option D
upvoted 2 times
...
...
nqthien041292
2 years, 7 months ago
Selected Answer: A
Vote A
upvoted 2 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...