GCP Book
GCP Book
GCP Book
Professional
Cloud Architect
Study Guide
Includes interactive online learning
environment and study tools:
• 2 custom practice exams
• More than 100 electronic flashcards
• Searchable key term glossary
DAN SULLIVAN
Official
Google Professional
Cloud Architect
Study Guide
Official
Google Professional
Cloud Architect
Study Guide
Dan Sullivan
Copyright © 2020 by John Wiley & Sons, Inc.
Published simultaneously in Canada
ISBN: 978-1-119-60244-6
ISBN: 978-1-119-60250-7 (ebk)
ISBN: 978-1-119-60249-1 (ebk)
Manufactured in the United States of America
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or
by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permit-
ted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written
permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the
Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978)
646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department,
John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or
online at http://www.wiley.com/go/permissions.
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or war-
ranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim
all warranties, including without limitation warranties of fitness for a particular purpose. No warranty
may be created or extended by sales or promotional materials. The advice and strategies contained herein
may not be suitable for every situation. This work is sold with the understanding that the publisher is
not engaged in rendering legal, accounting, or other professional services. If professional assistance is
required, the services of a competent professional person should be sought. Neither the publisher nor the
author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred to
in this work as a citation and/or a potential source of further information does not mean that the author
or the publisher endorses the information the organization or website may provide or recommendations it
may make. Further, readers should be aware that Internet websites listed in this work may have changed or
disappeared between when this work was written and when it is read.
For general information on our other products and services please contact our Customer Care Department
within the United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317)
572-4002.
Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material
included with standard print versions of this book may not be included in e-books or in print-on-demand.
If this book refers to media such as a CD or DVD that is not included in the version you purchased, you
may download this material at http://booksupport.wiley.com. For more information about Wiley prod-
ucts, visit www.wiley.com.
Library of Congress Control Number: 2019949029
TRADEMARKS: Wiley, the Wiley logo, and the Sybex logo are trademarks or registered trademarks of
John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and may not be used
without written permission. All other trademarks are the property of their respective owners. John Wiley
& Sons, Inc. is not associated with any product or vendor mentioned in this book.
to Katherine
About the Author
Dan Sullivan is a principal engineer and software architect at New
Relic. He specializes in streaming analytics, machine learning, and
cloud computing. Dan is the author of the Official Google Cloud
Certified Associate Cloud Engineer Study Guide (Sybex, 2019),
NoSQL for Mere Mortals (Addison-Wesley Professional, 2015),
and several LinkedIn Learning courses on databases, data science,
and machine learning. Dan has certifications from Google and
AWS along with a PhD in genetics and computational biology from
Virginia Tech.
About the Technical Editor
Valerie Parham-Thompson has experience with a variety of open source data storage
technologies, including MySQL, MongoDB, and Cassandra, as well as a foundation in web
development in software-as-a-service environments. Her work in both development and
operations in startups and traditional enterprises has led to solid expertise in web-scale
data storage and data delivery.
Valerie has spoken at technical conferences on topics such as database security, per-
formance tuning, and container management. She also often speaks at local meetups
and volunteer events.
Valerie holds a bachelor’s degree from the Kenan Flagler Business School at UNC-Chapel
Hill, has certifications in MySQL and MongoDB, and is a Google Certified Professional
Cloud Architect. She currently works in the Open Source Database Cluster at Pythian,
headquartered in Ottawa, Ontario.
Follow Valerie’s contributions to technical blogs on Twitter at @dataindataout.
Acknowledgments
I have been fortunate to work again with professionals from Waterside Productions, Wiley,
and Google to create this study guide.
Carole Jelen, vice president of Waterside Productions, and Jim Minatel, associate publisher
at John Wiley & Sons, led the effort to continue to create Google Cloud certification guides.
It was a pleasure to work with Gary Schwartz, project editor, who managed the process that
got us from an outline to a finished manuscript. Thanks to Katie Wisor, production manager,
for making the last stages of book development go as smoothly as they did.
I am especially grateful for Valerie Parham-Thompson’s expertise in Google Cloud. In
addition to catching my subtle and not-so-subtle errors, I learned some nuances of GCP
that I was not aware of.
I appreciate the close reading by the technical reviewer, Stacy Veronneau, who agreed to
continue working with our team after having been a reviewer of the Official Google Cloud
Certified Associate Cloud Engineer Study Guide.
Thank you to Google Cloud subject-matter experts Jasen Baker, Marco Ferarri, Rich
Rose, Grace Mollison, Samar Bhat, Josh Koh, Kuntal Mitra, Michael Arciola, Lisa Guinn,
Eoin Carrol, Tony DiLerto, Volker Eyrich, and Teresa Hardy, who reviewed and contrib-
uted to the material in this book.
My sons James and Nicholas, both technology writers themselves, were my first readers
and helped me get the manuscript across the finish line. Katherine, my wife and partner in
so many ventures, supported this work while fostering her increasingly impactful projects
in literary publishing.
—Dan Sullivan
Contents at a Glance
Introduction xxi
Index 267
Contents
Introduction xxi
Summary 41
Exam Essentials 42
Review Questions 43
The exam guide states that architects should be familiar with the software develop-
ment lifecycle and agile practices. These will be important to know when answering ques-
tions about developing and releasing code, especially how to release code into production
environments without shutting down the service. It is important to understand topics such
as Blue/Green deployments, canary deployments, and continuous integration/continuous
deployments.
In this context, managing is largely about security and monitoring. Architects will need
to understand authentication and authorization in GCP. The IAM service is used across
GCP, and it should be well understood before attempting the exam. Stackdriver is the key
service for monitoring, logging, tracing, and debugging.
How Is the Google Cloud Professional Architect Exam Different from the
Google Cloud Associate Engineer exam?
There is some overlap between the Google Cloud Professional Architect and Google
Cloud Associate Cloud Engineer exams. Both exams test for an understanding of techni-
cal requirements and the ability to build, deploy, and manage cloud resources. In addi-
tion, the Google Cloud Professional Architect exam tests the ability to work with business
requirements to design, plan, and optimize cloud solutions.
The questions on the architect exam are based on the kinds of work cloud architects do
on a day-to-day basis. This includes deciding which of several storage options is best,
designing a network to meet industry regulations, or understanding the implications of
horizontally scaling a database.
The questions on the Cloud Engineer exam are based on the tasks that cloud engineers
perform, such as creating instance groups, assigning roles to identities, or monitoring a
set of VMs. The engineering exam is more likely to have detailed questions about gcloud,
gsutil, and bq commands. Architects need to be familiar with these commands and their
function, but a detailed knowledge of command options and syntax is not necessary.
This book is designed to help you pass the Google Cloud Professional Architect certifica-
tion exam. If you’d like additional preparation, review the Official Google Cloud Certified
Associate Cloud Engineer Study Guide (Sybex, 2019).
Introduction xxiii
Chapter 1: Introduction to the Google Professional Cloud Architect Exam This chapter
outlines the exam objectives, scope of the exam, and three case studies used in the exam.
One of the most challenging parts of the exam for many architects is mapping business
requirements to technical requirements. This chapter discusses strategies for culling tech-
nical requirements and constraints from statements about nontechnical business require-
ments. The chapter also discusses the need to understand functional requirements around
computing, storage, and networking as well as nonfunctional characteristics of services,
such as availability and scalability.
Chapter 2: Designing for Business Requirements This chapter reviews several key areas
where business requirements are important to understand, including business use cases and
product strategies, application design and cost considerations, systems integration and data
management, compliance and regulations, security, and success measures.
Chapter 3: Designing for Technical Requirements This chapter discusses ways to ensure
high availability in compute, storage, and applications. It also reviews ways to ensure scal-
ability in compute, storage, and network resources. The chapter also introduces reliability
engineering.
Chapter 4: Designing Compute Systems This chapter discusses Compute Engine, App
Engine, Kubernetes Engine, and Cloud Functions. Topics in this chapter include use cases,
configuration, management, and design. Other topics include managing state in distributed
systems, data flows and pipelines, and data integrity. Monitoring and alerting are also
discussed.
Chapter 5: Designing Storage Systems This chapter focuses on storage and database
systems. Storage systems include object storage, network-attached storage, and caching.
Several databases are reviewed, including Cloud SQL, Cloud Spanner, BigQuery, Cloud
Datastore, Cloud Firestore, and Bigtable. It is important to know how to choose among
storage and database options when making architectural choices. Other topics include pro-
visioning, data retention and lifecycle management, and network latency.
Chapter 6: Designing Networks This chapter reviews VPCs, including subnets and IP
addressing, hybrid cloud networking, VPNs, peering, and direct connections. This chapter
also includes a discussion of regional and global load balancing. Hybrid cloud computing
and networking topics are important concepts for the exam.
xxiv Introduction
Chapter 7: Designing for Security and Legal Compliance This chapter discusses IAM,
data security including encryption at rest and encryption in transit, key management,
security evaluation, penetration testing, auditing, and security design principles. Major
regulations and ITIL are reviewed.
Chapter 8: Designing for Reliability This chapter begins with a discussion of Stackdriver
for monitoring, logging, and alerting. Next, the chapter reviews continuous deployment
and continuous integration. Systems reliability engineering is discussed, including over-
loads, cascading failures, and testing for reliability. Incident management and post-mortem
analysis are also described.
Chapter 9: Analyzing and Defining Technical Processes This chapter focuses on software
development lifecycle planning. This includes troubleshooting, testing and validation, busi-
ness continuity, and disaster recovery.
Chapter 10: Analyzing and Defining Business Processes This chapter includes several
business-oriented skills including stakeholder management, change management, team skill
management, customer success management, and cost management.
Chapter 11: Development and Operations This chapter reviews application development
methodologies, API best practices, and testing frameworks, including load, unit, and inte-
gration testing. The chapter also discusses data and systems migration tooling. The chapter
concludes with a brief review of using Cloud SDK.
Chapter 12: Migration Planning This chapter describes how to plan for a cloud migra-
tion. Steps include integrating with existing systems, migrating systems and data, license
mapping, network management and planning, as well as testing and developing proof-of-
concept systems.
The online glossary is a searchable list of key terms introduced in this exam guide that
you should know for the Professional Cloud Architect certification exam.
To start using these to study for the Google Certified Professional Cloud Architect
exam, go to www.wiley.com/go/sybextestprep, and register your book to receive your
unique PIN; then once you have the PIN, return to www.wiley.com/go/sybextestprep, fi nd
your book, and click Register or Login to register a new account or add this book to an
existing account.
Additional Resources
People learn in different ways. For some, a book is an ideal way to study, while auditory
learners may fi nd video and audio resources a more efficient way to study. A combination
of resources may be the best option for many of us. In addition to this study guide, here are
some other resources that can help you prepare for the Google Cloud Professional Architect
exam.
The Professional Cloud Architect Certification Exam Guide:
https://cloud.google.com/certification/guides/
professional-cloud-architect/
Exam FAQs:
https://cloud.google.com/certification/faqs/#0
Google’s Assessment Exam:
https://cloud.google.com/certification/practice-exam/cloud-architect
Google Cloud Platform documentation:
https://cloud.google.com/docs/
Cousera’s on demand courses in the “Architecting with Google Cloud Platform
Specialization”:
https://www.coursera.org/specializations/gcp-architecture
QwikLabs Hands-on Labs:
https://google.qwiklabs.com/quests/47
Google’s instructor-led courses:
https://cloud.google.com/training/courses/core-fundamentals
A Cloud Guru’s Google Certified Professional Cloud Architect video course:
https://acloud.guru/learn/gcp-certified-professional-cloud-architect
The best way to prepare for the exam is to perform the tasks of an architect and work
with the Google Cloud Platform.
Exam objectives are subject to change at any time without prior notice
and at Google’s sole discretion. Please visit the Google Professional Cloud
Architect website (https://cloud.google.com/certification/cloud-
architect) for the most current listing of exam objectives.
xxvi Introduction
Objective Map
Objective Chapter
5.2 Interacting with Google Cloud using GCP SDK (gcloud, gsutil, and bq) 11
Introduction xxvii
2. You have developed a web application that is becoming widely used. The frontend runs in
Google App Engine and scales automatically. The backend runs on Compute Engine in a
managed instance group. You have set the maximum number of instances in the backend
managed instance group to five. You do not want to increase the maximum size of the man-
aged instance group or change the VM instance type, but there are times the frontend sends
more data than the backend can keep up with and data is lost. What can you do to prevent
the loss of data?
A. Use an unmanaged instance group
B. Store ingested data in Cloud Storage
C. Have the frontend write data to a Cloud Pub/Sub topic, and have the backend read
from that topic
D. Store ingested data in BigQuery
3. You are setting up a cloud project and want to assign members of your team different per-
missions. What GCP service would you use to do that?
A. Cloud Identity
B. Identity and Access Management (IAM)
C. Cloud Authorizations
D. LDAP
4. You would like to run a custom container in a managed Google Cloud Service. What are
your two options?
A. App Engine Standard and Kubernetes Engine
B. App Engine Flexible and Kubernetes Engine
C. Compute Engine and Kubernetes Engine
D. Cloud Functions and App Engine Flexible