Preparing for the exam was more of a journey than a point in time cram-and- sit-for-the-test approach. I had to reschedule the exam at one time, when I realized how unprepared I was. I’m also certified as an AWS Solution Architect- Associate and studying for this was a very different experience.
Here are some of the important things to remember while preparing:
- You should have prior experience as an architect. If it’s on a cloud platform, that’s an added advantage. But be careful, as the concepts on each of the platforms can be very different. For example, the concept of a Role in AWS IAM is very different from that on GCP. Also VPCs are global on GCP as compared to regional on AWS.
- There are cloud patterns that you should be very familiar with- microservices architecture, autoscaling, autohealing, containerization, load balancing, etc. You must have a very good understanding of network address ranges (CIDR), symmetric and asymmetric encryption, core linux concepts, docker, kubernetes, CI/CD tools like Jenkins and Spinnaker, OAuth and OpenID, etc.
- The exam does not have a fixed syllabus. Every service on the GCP platform is a potential participant in a question on the test.
- However, there are areas that you must know really well. These include Regions and Zones, VPC, Networking, Load Balancing, Orgs and Projects, Compute Engine, Google Kubernetes Engine, Object Storage, Databases, BigQuery, IAM, AppEngine, Cloud Run, Cloud Functions, KMS, Secrets, Cloud Operations (logging, monitoring, tracing, debugging, error reporting, profiling), Hybrid Connectivity, Cloud Pub/Sub, Anthos and Billing. The exam also has questions on CLI — gcloud / cbt / bq / gsutil
- It’s very important to understand which services and resources are Zonal, Regional, Dual-region, Multi-region and Global. Also, be careful as multi-region and global are not the same thing on GCP. So if you need global deployment of a storage bucket, you need to setup multiple multi-region buckets.
- You must know how to configure the services mentioned above for high availability, security, performance, resilience and disaster recovery.
- You must be able to compose an architecture using the services and the constraints provided in the question. This is augmented by the options provided. Almost all the questions involve a combination of services e.g. given a particular scenario, would you use HTTPS Global Load Balancer + Cloud Run + Firestore, TCP Load Balancer + Cloud Run + Cloud SQL, TCP Load Balancer + GKE + Cloud Spanner, etc. This requires that you have a clear understanding of which DB to use for which use case, which compute option you should use based on the workload and how to configure the ingress and networking services based on the other constraints. Also understand autoscaling and autohealing options for each of the services you deploy.
- Understand which services are serverless and which ones are not. And the ones that appear serverless but for which you have to provision nodes — e.g. BigTable
- Understand clearly what resources are zonal, regional, multi-regional, dual-region and global. This will influence the availability and performance characteristics of your solution. The same applies to Load Balancers.
- Understand the cost drivers for a solution. e.g. BigQuery cost is based on table scans but storage costs can go as low as that of Cloud Storage for long-term storage.
- Understand your data pipelines. Transferring data into GCP can be done in various ways and you must be able to distinguish which pattern to use when.
- Containers are big on GCP and there are many options to deploy containers - Compute Engine, App Engine, Cloud Run, GKE, Anthos. Understand what the capabilities of each of the options are and the constraints associated with them.
- Familiarize yourself with the services by creating a free Google Cloud account and exploring the services. The other option is to use the Google Cloud Platform Pricing Calculator. This provides an excellent overview of all the parameters you need to consider.
- Practice using gcloud, gsutil and kubectl command line tools. The Google Cloud Shell is fantastic and since it works within the Console environment, you can toggle between both the interfaces to check the effect of running a command.
- You need a good understanding of Cloud Operations — Logging, Monitoring, Tracing, Debugging, etc. You must know which use cases map to which tools.
- Understand SRE concepts like Error Budgets, SLOs and SLIs. Also understand incident management from an SRE perspective.
- Hybrid cloud is a topic you should be well versed with. Consider scenarios where you need to connect on-premise applications to Google Cloud, migrate applications to cloud, use Anthos and also scenarios where you need to connect other organizations to your cloud account.
Architecture thinking tips
- What are the constraints / NFRs mentioned?
- Which view/aspect is being referred to? e.g. A VM needs to access a Google service. The VM has Private Google Access enabled but the VM is unable to connect - this is referring to security setup.
- Who is reporting the problem (if there is one) - is it an end user or something that surfaced from Cloud Ops or someone else? e.g. Users are reporting that some aspect of your application is slow.
- Which layer/component is being referred to? Often, a long winded question starts with a complex scenario but the question itself is targeted to a very specific area of the scenario or architecture. e.g. you have an application built on J2EE with a MS SQL Server database hosted on-premise. You now want to migrate the application server to AppEngine and CloudSQL. You also want high-availability in the new environment. How do you setup AppEngine Flexible to communicate to your Cloud SQL instance?
- What are the options to consider? Note that you may expect an option to be present in one of the answers but it may not be there! Do Not Panic! The intent is to select the best answer from the given options.
- Visualize the architecture in your mind. Unfortunately, the online test does not allow paper and pencil.
- Iterate through the options. Sometimes it needs multiple passes until you arrive at the answer. During each iteration you may get additional insights so read the options very carefully. Every word matters!
Exam day — answering strategy
When you see a question on the exam, take your time in understanding the various options. Generally, from the selection of four options, you would be able to eliminate two. The remaining two will have very subtle differences. Consider the differences to make your choice based on the constraints provided. This typically means you follow the sequence of
- Read the question
- Read the answers
- Eliminate those not applicable. A tip here — if an answer looks overly complicated, it’s probably the wrong answer. Remember, cloud services are meant to make our lives easier, not more difficult. So don’t assume that an answer that looks too simple will be incorrect.
- Re-read the question
- Read the remaining options very carefully. Every word matters.
Study the case studies prior to the exam and have a good understanding of the business requirements, current technical architecture, future technical architecture and the aspirations. But, during the exam read the question carefully and avoid any assumptions made as the question can be very different from the case study.
Exam day — time management
I use a fairly consistent approach to answering all my certification exams. These are the steps I follow:
- Do a quick first pass of the questions. Answer the easy questions. If a question is too complicated or the options are too wordy, mark it for review without answering the question. Also mark any answers that you are unsure about (For GCP PA, this took me an hour)
- Do a second pass answering all the questions that you left unanswered (For GCP PA, this took me 30 mins)
- Do a third pass to revise any questions that you were unsure about in the first and second passes. Only change the initial answer if you have a compelling reason to do so. (For GCP PA, this took me 25 mins)
- For any questions where you do not know the answer, eliminate whatever you can and then take a guess! There is no negative marking and if you are unsure of the right answer between two options, you still have a 50% chance of getting it right!
- Finally, do not panic looking at the clock! Just move on
- Practice, practice, practice hands-on on Google Cloud
- I used Google Courses, Qwiklabs and the Udemy course from Ranga to structure my study
- In addition, I studied the Google Cloud Documentation where I felt I needed a deeper understanding of the service
- Before the test, I would suggest doing some practice tests available on Udemy. These are not perfect but they help you get an idea of where there are gaps in your understanding or which services you may have missed in your study
- I use a combination of bottoms-up and top-down to create my study plan. So for the areas that I was already familiar with, I just covered those aspects of the course that were new to me. And for those services that were completely new to me, I did the entire course module.
How do you know when you are ready to sit for the test?
This is a difficult question to answer as it is very subjective. For me, I checked my readiness based on the sample tests I did. I was not scoring a 100% on these tests but I discounted the outlier questions and made my decision to go for it.
Best of luck! And don’t forget to enjoy the journey. This is a challenging certification but it also involves a lot of fun learning and Google makes it very interesting.
Google Cloud Platform Fundamentals- Core Infrastructure course available through several providers including Google and many youtube videos
GCP Sketchnotes — https://thecloudgirl.dev/
Google Cloud Best Practices- https://cloud.google.com/s/results?q=best%20practices
Cloud Architecture Center- https://cloud.google.com/architecture
Google Documentation for each product / service- use when required to get a better understanding of the service and the use cases
Practice tests- https://www.udemy.com/course/gcp-professional-cloud-architect-practice-exams-mar-21/ [Note: I was not satisfied completely with the rationale behind some of the answers but it does give you a good sense of the exam and helps in practicing time management]
There are also many useful links and notes available on GitHub. A quick search for exam notes should take you there.