Wednesday, January 02, 2019

Google Cloud Certified - Professional Architect

Back in June 2018 I got my Google Cloud Certified - Professional Architect certification. I was told at the time I was the 2nd in Australia/NZ to get it but no idea if this was actually true. I wanted to share my experience with the training and the prep as I had done previously with the AWS associate level certs with the aim of helping those heading down the same path.

The TL;DR (Too long; didn’t read) summary is:
  • this is a pro-level cert, with a challenging format
  • it is based on your knowledge of GCP, but a major factor is also your experience as an architect
  • it will test you from the highly abstract with ambiguous scenario-based questions down into the weeds with unix command lines that may differ by a single flag
  • there is (at the time of writing) very little material available to prepare (unlike, say AWS with various official study guides, acloud.guru and many other quality training vendors and practice test banks)
  • Familiarity with other public cloud services will help as there are similarities and overlaps between each providers’ offerings – but also many nuances
  • Mark is pass/fail. You will not get a score, or a breakdown of how you went.
The first thing to note is that Google initially only had the Google Cloud Certified – Professional Cloud Architect certification (there are others for Data Engineer and GSuite but I’ll treat these as ‘specialties’ for the purposes of this blog – the full list is here). In recent weeks, it has also introduced a beta Cloud Engineer cert which appears to be more at the associate level.

Cloud Architect – the official Google recommendation:

Self-Assess Review the exam guide

Some thoughts on the above:

  • The Coursera training is not bad, it takes you through the main services and key concepts so you get oriented. If you’ve done the AWS acloud.guru training, it will NOT focus on how to pass the exam – it does not try to tell you what questions come up on the exam and how to answer them.
  • The Coursera training is pretty dry – set it to 1.5x normal speed (or more) to just get through it. It may feel too hard to keep up initially, but you won’t notice a few hours into it…
  • The labs are also good for the purposes of orientation – you will walk away understanding the purpose of the service in the lab and the basic use cases, but that’s about it.
  • Some of the literature will say doing the labs is essential to passing the course. I did several of them, but nowhere near all – it was just too tedious. The ones you need to do are the ones you probably haven’t used on another public cloud platform, or are different enough from say AWS that you should review them. The ones that stood out for me (coming from an AWS background):
    • networking
    • Orgs, projects and IAM
    • All of the data services are sufficiently different/unique that they deserve their own review
  • The practice exam is not particularly close to the real exam. You should probably shoot for around 70% on the online exam as a minimum before taking the actual exam, but you will need to calculate your score yourself. NB: one or two questions from the practice exam came up on my exam (not verbatim, but similar) so learn the answers to all questions for some easy marks.
  • The case studies are really important. Read them, read them again, then read them one more time. Around 50-60% of the questions are on the case studies so know them backwards before you go in so you don’t have to waste time reviewing them in the exam. Focus on the business and technical requirements. In some cases, the current situation will be relevant and inform the best way forward.
  • Some of the Google services aren’t widely used on other public cloud platforms, or in industry, or may not be familiar to those working with more legacy technologies. If you haven’t worked with Kubernetes or Docker, NoSQL and why/when to use them, you will need to get familiar with these and how they overcome traditional IT problems. I won’t go into this further, but do go and read up on microservices and 12-factor apps for some of the drivers behind contemporary platform tech and architectures.

The exam format:

  • 50 questions, 2hrs
  • For what it’s worth, I completed it in about 1:30, with 30mins of review time
  • All questions are multiple choice, most with single answer, many with 2 or possibly 3 answers required
  • Several questions will be diagramatic – you will be shown several architectures and you need to pick the right one. These are similar to the examples in the practice exam, but a variation.
  • The cases studies feature prominently, around 50-60% of the questions will be on one of the 4 case studies. The questions for each case study are contiguous, so you won’t be asked a question about a case study again after the questions for the next case start.
  • You won’t be asked about all case studies (this is stated in the exam preamble) but (again, for what it’s worth) I had to answer questions on 3 of them.
  • The computer based exam divides the screen into two halves – the left has the questions and possible answers and controls, the right pane allows you to select from a drop-down list the details of one of the 4 case studies.

Types of questions – this is based on my general recollection:

  • technical questions: eg here’s a dockerfile, and the devs are complaining that it takes too long for the service to come up, what should you do to optimise it? Specific commands and meta-data fields involved in GCE pre-emption. GCS lifecycle policies vs linux commands to identify and delete files of a certain age.
  • case study questions: usually a set of often generally correct/potentially viable options are presented to solve a problem. Look very, very closely at what the question asks – it usually refers to how can the business ‘best meet’ its Business and/or Technical requirements – this means the bullet lists provided under these headings in the case studies. You can’t avoid applying your general knowledge of architecture here to hone in on the ‘best’ answer – use your understanding of things like the latency of packets traversing the internet over a VPN vs what you would expect over a dedicated link to address database replication lag and packet loss. Some of this you won’t be able to directly study for, just be prepared to use your prior knowledge and experience.
  • There are some special features of Google’s cloud services that are worth remembering as they may come up:
    • compute instances can be tagged (not labelled) to ease management of firewall rules across subnets
    • many of Google’s services (at this time) force you to consume them over public IPs, so understand what this may mean for a solution (you are routing over the internet, not internally within Google’s network so security and network ingress/egress charges may be incurred)
    • not all services work like AWS – whilst they may appear equivalent at a high level, operation is quite different under the covers. GCE lets you customise the CPU and memory quantities, rather than use predefined configurations like AWS. GCE supports live migration where AWS does not, and you need to understand what this means for your applications and maintenance activities. Google’s subnets straddle zones where AWS’ are zonal only. GCS has coldline storage, but it doesn’t require you to wait 5hrs to get your data back. There are so many others…
    • Service questions: You will need to know all the key services and how they can be integrated at a high level. This includes knowing the main architectures to get data from on-prem, remote sites and into GCP. Think about the main architectures – starting with GCS as an ingestion point, and how data might be propagated into the other services – eg files on GCS triggering Cloud Functions or Dataflow or Dataproc. Know when to use each service – CloudSQL for smaller relational database needs, up to Spanner for large/global datasets and ACID transaction support. Know the NoSQL options and the decision trees for selecting them. Nothing comes for free, so understand the trade-offs. A lot of this is covered off in the Coursera training.

Resources

I did go onto Udemy and purchase a practice test bank. In short, there aren’t many around and the ones that are available suffer from various problems – not close enough to the real thing, terrible/ambiguous English, demonstrably incorrect answers, absence of explanations and more. Despite all this, I still recommend paying a few dollars for one, if only to explore what you do and don’t know so you can go back and review the docs to fill in the gaps. For what it’s worth, here’s the one I used.

Finally, you really should read the Google Cloud documentation. It’s really well written and comprehensive, and will fill in the gaps you will be left with from Coursera.

Well, I hope this has been helpful. As always, I welcome feedback and would love to hear about your experiences. I am also happy to receive and respond to your questions so fire away!

All the best and good luck on your certification journey.

No comments:

Post a Comment