Google Google Cloud Architect Professional Exam Prep
Google Cloud Certified - Professional Cloud Architect (Page 3 )

Updated On: 15-Sep-2026

You need to reduce the number of unplanned rollbacks of erroneous production deployments in your company's web hosting platform. Improvement to the QA/ Test processes accomplished an 80% reduction.
Which additional two approaches can you take to further reduce the rollbacks? (Choose two.)

  1. Introduce a green-blue deployment model
  2. Replace the QA environment with canary releases
  3. Fragment the monolithic platform into microservices
  4. Reduce the platform's dependency on relational database systems
  5. Replace the platform's relational database systems with a NoSQL database

Answer(s): A,C

Explanation:

The question aims to identify strategies to further reduce unplanned rollbacks after initial QA process improvements. Option A, introducing a green-blue deployment model, significantly mitigates rollback risks. This pattern allows for deploying a new application version (blue) alongside the current production version (green). Traffic is gradually shifted to the new version, enabling real-time monitoring and immediate rollback to the green environment if issues arise. This minimizes downtime and risk of production failures. [ https://cloud.google.com/architecture/application-deployment-strategies#green-blue_deployments] Option C, fragmenting the monolithic platform into microservices, contributes by enabling independent deployments of smaller application components. Instead of deploying a large, complex system, developers can push updates to individual microservices, significantly reducing the scope and potential blast radius of any deployment failure. This makes identifying, containing, and rolling back issues faster and more targeted. [ https://cloud.google.com/architecture/microservices-on-gke] Option B, replacing the QA environment with canary releases, is not the best choice, as canary releases are meant for production environments and should follow a rigorous QA process; skipping this step increases risk. Options D and E, focusing on database changes, are also less effective since the problem lies in deployment procedures, not database technology, and they do not directly address the root cause of rollbacks. Therefore, a green-blue deployment model alongside a microservices architecture are the most effective options to further reduce unplanned production rollbacks following QA improvements.



To reduce costs, the Director of Engineering has required all developers to move their development infrastructure resources from on-premises virtual machines (VMs) to Google Cloud Platform. These resources go through multiple start/stop events during the day and require state to persist. You have been asked to design the process of running a development environment in Google Cloud while providing cost visibility to the finance department.
Which two steps should you take? (Choose two.)

  1. Use the - -no-auto-delete flag on all persistent disks and stop the VM
  2. Use the - -auto-delete flag on all persistent disks and terminate the VM
  3. Apply VM CPU utilization label and include it in the BigQuery billing export
  4. Use Google BigQuery billing export and labels to associate cost to groups
  5. Store all state into local SSD, snapshot the persistent disks, and terminate the VM
  6. Store all state in Google Cloud Storage, snapshot the persistent disks, and terminate the VM

Answer(s): A,D

Explanation:

Here's a detailed justification for why options A and D are the correct choices, while B, C, E, and F are incorrect, based on the need for cost reduction, state persistence, and cost visibility in a GCP development environment.
Correct Options Justification:

A: Use the --no-auto-delete flag on all persistent disks and stop the VM: When a Compute Engine VM
instance is terminated (deleted), its attached persistent disks are, by default, also deleted (auto-delete). Using the --no-auto-delete flag when creating or updating a disk ensures that the disk is not automatically deleted when the VM is terminated or deleted. This allows developers to preserve the disk containing their development environment's state, while incurring storage costs (which are usually lower than compute costs), and it's a core aspect of persisting data across start/stop cycles. This flag is crucial for the described requirement of state persistence while reducing compute costs by stopping VMs. This strategy aligns perfectly with the scenario as the VMs need to be stopped and started during the day. For authoritative information, review the persistent disk documentation. https://cloud.google.com/compute/docs/disks/persistent-disks#delete_a_persistent_disk
D: Use Google BigQuery billing export and labels to associate cost to groups: BigQuery billing export provides a detailed, granular view of Google Cloud costs. By applying labels to your Google Cloud resources (like the Compute Engine VMs), you can then filter and aggregate cost data in BigQuery based on these labels. This allows the finance department to see how much each development group or team is spending on Google Cloud resources, providing cost visibility. Labels can be assigned based on teams, projects, or any other logical grouping. This is essential for managing and controlling costs effectively. For more on using labels with billing, consult the following documentation: https://cloud.google.com/billing/docs/how-to/label-billing-data and https://cloud.google.com/billing/docs/how-to/export-data-bigquery
Incorrect Options Justification:
B: Use the --auto-delete flag on all persistent disks and terminate the VM: This is incorrect because using the auto-delete flag will delete the persistent disks when the VM is terminated, leading to data loss. This directly contradicts the requirement for state persistence.
C: Apply VM CPU utilization label and include it in the BigQuery billing export: While CPU utilization labels can be helpful for performance analysis, they are not specifically useful for cost allocation. Labels used for billing should be aimed at categorizing cost by groups or departments, not internal system metrics.
E: Store all state into local SSD, snapshot the persistent disks, and terminate the VM: Local SSDs are ephemeral storage directly attached to the VM and are deleted when the VM is terminated. Relying on snapshots to maintain persistent storage would add extra overhead to the workflow, and it is redundant with the preferred approach of keeping persistent disks. Further, using the snapshots for the state is not directly aligned with the requirements of easy state persistence.
F: Store all state in Google Cloud Storage, snapshot the persistent disks, and terminate the VM: Storing all state in GCS would complicate the developers workflow.
While GCS is a reliable option for state storage, this is more complicated than storing state directly on the persistent disk as the workflow would be more complex. Snapshots of the persistent disks are redundant with the preferred approach of keeping persistent disks.



Your company wants to track whether someone is present in a meeting room reserved for a scheduled meeting. There are 1000 meeting rooms across 5 offices on 3 continents. Each room is equipped with a motion sensor that reports its status every second. The data from the motion detector includes only a sensor ID and several different discrete items of information. Analysts will use this data, together with information about account owners and office locations.
Which database type should you use?

  1. Flat file
  2. NoSQL
  3. Relational
  4. Blobstore

Answer(s): B

Explanation:

The correct answer is B. NoSQL . Here's why:
The scenario involves a high volume of rapidly generated, time-series data from motion sensors (sensor ID and discrete information). This data does not require complex joins or transactional consistency typical of relational databases. Instead, efficient storage and retrieval based on the sensor ID and timestamp are crucial. NoSQL databases, specifically time-series databases, are optimized for such use cases. They can handle the ingestion speed and scalability requirements of 1000 sensors reporting every second. Furthermore, NoSQL databases often offer flexible schemas, allowing for potential additions of new data points from the sensors without requiring schema migrations. The analysts’ needs for information about account owners and office locations can be handled by joining the sensor data with separate, smaller datasets using other tools, or pre-aggregating specific data. Flat files are not suitable for querying or analyzing such a large stream of data. Relational databases would struggle to keep up with the write volume and lack the necessary scalability. Blob storage, while great for storing unstructured data, isn’t optimized for querying or time-series analysis.
Here are some resources for further reading:
Google Cloud Time Series Database: https://cloud.google.com/timeseries Understanding NoSQL Databases: https://aws.amazon.com/nosql/ (Concepts are similar across cloud providers) Choosing the Right Database: https://cloud.google.com/learn/what-is-database



You set up an autoscaling instance group to serve web traffic for an upcoming launch. After configuring the instance group as a backend service to an HTTP(S) load balancer, you notice that virtual machine (VM) instances are being terminated and re-launched every minute. The instances do not have a public IP address. You have verified the appropriate web response is coming from each instance using the curl command. You want to ensure the backend is configured correctly.
What should you do?

  1. Ensure that a firewall rules exists to allow source traffic on HTTP/HTTPS to reach the load balancer.
  2. Assign a public IP to each instance and configure a firewall rule to allow the load balancer to reach the instance public IP.
  3. Ensure that a firewall rule exists to allow load balancer health checks to reach the instances in the instance group.
  4. Create a tag on each instance with the name of the load balancer. Configure a firewall rule with the name of the load balancer as the source and the instance tag as the destination.

Answer(s): C

Explanation:

Here's a detailed justification for why option C is the correct solution:
The core issue described is that the virtual machine (VM) instances in the autoscaling group are being terminated and relaunched every minute despite responding correctly to curl requests. This behavior strongly suggests that the load balancer's health checks are failing, leading the autoscaler to believe the instances are unhealthy and thus need replacement. The absence of public IP addresses for the VMs further reinforces that the load balancer is relying on internal health checks.
Option C directly addresses this root cause. Load balancers, particularly those used with private backends (no public IPs), perform health checks using internal routes. These health checks probe the backend instances on a specific port and path to ascertain their readiness. If firewall rules are not correctly configured to allow the health check traffic from the load balancer to the backend instances, the checks will fail, leading to the constant termination and recreation of VMs. Thus, a firewall rule allowing the load balancer's health check probes is essential for the system to function correctly.
Option A, while important for overall traffic flow, doesn't directly resolve the health check failure. Traffic to the load balancer is separate from the internal health checks performed between the load balancer and the backend. Option B is incorrect because it proposes assigning public IP addresses, which is not ideal for security and adds unnecessary complexity in this specific case where internal load balancing is possible. It also goes against the design of having instances without public IP addresses. Option D proposes using tags for firewall rules, which is not how load balancer health checks typically function. Instead, the load balancer's health check source IP ranges (or tag/service account, depending on the setup) must be whitelisted in the firewall rule.
Therefore, the most crucial element is ensuring that the firewall allows the health check traffic from the load balancer to reach the VM instances on the designated port. This is captured by option C.
Relevant Documentation:
Google Cloud Load Balancing Health Checks: https://cloud.google.com/load-balancing/docs/health-checks Firewall Rules Overview: https://cloud.google.com/vpc/docs/firewalls Internal Load Balancing: https://cloud.google.com/load-balancing/docs/internal



You write a Python script to connect to Google BigQuery from a Google Compute Engine virtual machine. The script is printing errors that it cannot connect to BigQuery.
What should you do to fix the script?

  1. Install the latest BigQuery API client library for Python
  2. Run your script on a new virtual machine with the BigQuery access scope enabled
  3. Create a new service account with BigQuery access and execute your script with that user
  4. Install the bq component for gcloud with the command gcloud components install bq.

Answer(s): C

Explanation:

The most appropriate solution is C: Create a new service account with BigQuery access and execute your script with that user.
Here's a detailed justification:
The core issue is a lack of proper authorization for the Python script to access BigQuery. Compute Engine instances, by default, do not have permission to access other Google Cloud services. Options A, B, and D address different problems or are incomplete solutions.
Option A (Install the latest BigQuery API client library): While having the BigQuery API client library is necessary, it only provides the means to communicate with BigQuery. It doesn't grant the permission to do so. Therefore, installing the library won't solve the access denial problem. Option B (Run on a new VM with BigQuery access scope): This is an alternative method of granting permissions by using an instance's service account. However, creating a new VM just to grant BigQuery access is inefficient and often unnecessary. It is best to manage permissions using dedicated service accounts rather than relying on instance service accounts, especially if the instance is handling different workloads with varying permission requirements. Option D (Install the bq component): gcloud components install bq installs the command-line tool for interacting with BigQuery through the gcloud command. This is useful for manual interaction but does not address the needs of your Python script. The Python script uses a client library, not the command-line bq tool.
Option C, on the other hand, provides the correct approach:
1. Service Accounts: Service accounts are special Google Cloud accounts intended for applications rather than individual users. They offer a secure and manageable way to grant access to resources. 2. Principle of Least Privilege: Creating a dedicated service account for the BigQuery access follows the principle of least privilege, limiting its permissions to only what it requires. This enhances security. 3. Granular Control: Permissions are granted to service accounts at a granular level. We can precisely control which BigQuery datasets or tables the service account can access. 4. Authentication: Python code would use the service account's private key to authenticate with Google Cloud and establish an authorized connection to BigQuery. This mechanism is managed through the Python client library.
In summary, option C directly addresses the authentication and authorization issue by creating a dedicated service account with BigQuery access, providing the script the necessary permissions to connect. This approach is more secure, efficient, and aligns with best practices for managing permissions in Google Cloud.
Authoritative Links:
Service Accounts: https://cloud.google.com/iam/docs/service-accounts Granting Roles to Service Accounts: https://cloud.google.com/iam/docs/granting-roles-to-service-accounts BigQuery API Python Client Library: https://cloud.google.com/python/docs/reference/bigquery/latest BigQuery Authentication: https://cloud.google.com/bigquery/docs/authentication



Viewing page 3 of 98
Viewing questions 11 - 15 out of 480 questions


Post your Comments and Discuss Google Google Cloud Architect Professional exam prep with other Community members:

AI Tutor AI Tutor 👋 I’m here to help!