Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Title Page
Copyright and Credits
Google Cloud Platform for Architects
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the authors
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Conventions used
Get in touch
Reviews
The Case for Cloud Computing
Genesis
Why Google Cloud Platform (GCP)?
Autoscaling and autohealing
Capital expenditure (CAPEX) versus operating expenses (OPEX)
Career implications
Summary
Introduction to Google Cloud Platform
Global, regional, and zonal resources
Accessing the Google Cloud Platform
Projects and billing
Setting up a GCP account
Using the Cloud Shell
Summary
Compute Choices – VMs and the Google Compute Engine
Google Compute Engine – GCE
Creating VMs
Creating a VM instance using the web console
Creating a VM instance using the command line
VM customization options
Operating system
Compute zone
Machine type
Networks – aka VPCs
Storage options
Persistent disks and local SSDs – block storage for GCE
Understanding persistent disks and local SSDs
Creating and attaching a persistent disk
Linux procedure for formatting and mounting a persistent disk
Sharing a persistent disk between multiple instances
Resizing a persistent disk
More on working with GCE VMs
Rightsizing recommendations
Availability policies
Auto-restart
Preemptibillity
Load balancing
Autoscaling and managed instance groups
Billing
Labels and tags
Startup scripts
Snapshots and images
How to snapshot a disk
How to create an image of a disk
Cloud launcher
Deploying LAMP stack using GCE
Modifying GCE VMs
Summary
GKE, App Engine, and Cloud Functions
GKE
Contrasting containers and VMs
What is a container?
Docker containers and Kubernetes – complements, not substitutes
GKE
Creating a Kubernetes cluster and deploying a WordPress container
Using the features of GKE
Storage and persistent disks
Load balancing
Auto scaling
Scaling nodes with the cluster autoscaler
Scaling pods with the horizontal pod autoscaler
Multi-zone clusters
Cloud VPN integration
Rolling updates
The container registry
Federated clusters
Google App Engine – flexible
Hosted Docker containers with App Engine Flex
Running a simple Python application with App Engine Flex 
Cron Jobs with App Engine Flex
Advantages of GKE over Docker on VMs or App Engine Flex
Google App Engine – standard
Hosted web apps with App Engine Standard
Typical App Engine architecture
Deploying and running on App Engine Standard
Traffic splitting
Serverless compute with cloud functions
Cloud Functions triggered by HTTP
Cloud Functions triggered by Pub/Sub
Cloud functions triggered by GCS object notifications
Summary
Google Cloud Storage – Fishing in a Bucket
Knowing when (and when not) to use GCS
Serving Static Content with GCS Buckets
Storage classes–Regional, multi-regional, nearline, and coldline
Working with GCS buckets
Creating buckets
Creating buckets using the web console
Creating buckets using gsutil
Changing the storage class of bucket and objects
Transferring data in and out of buckets
Uploading data to buckets using the web console
Uploading data to buckets using gsutil
Copying data between buckets using the web console
Copying data between buckets using the gsutil command line
Using the Transfer Service (instead of gsutil or the web console)
Transfer Service or gsutil?
Use case – Object Versioning
Object versioning in the Cloud Storage bucket
Use case – object life cycle policies
Managing bucket life cycle using the web console
Manipulating object life-cycle via JSON file
Deleting objects permanently using the web console
Deleting objects permanently using gsutil
Use case – restricting access with both ACLs and IAM
Managing permissions in bucket using the GCP console
Use case – signed and timed URLs
Setting up signed URLs for cloud storage
Use case – reacting to object changes
Setting up object change notifications with the gsutil notification watchbucket
Use case – using customer supplied encryption keys
Use case – auto-syncing folders
Use case – mounting GCS using gcsfuse
Mounting GCS buckets
Use case – offline ingestion options
Summary
Relational Databases
Relational databases, SQL, and schemas
OLTP and the ACID properties
Scaling up versus scaling out
GCP Cloud SQL
Creating a Cloud SQL instance
Creating a database in a Cloud SQL instance
Importing a database
Testing Cloud SQL instances
Use case – managing replicas
Use case – managing certificates
Use case – operating Cloud SQL through VM instances
Automatic backup and restore
Cloud Spanner
Creating a Cloud Spanner instance
Creating a database in Cloud Spanner instances
Querying a database in a Cloud Spanner instance
Interleaving tables in Cloud Spanner
Summary
NoSQL Databases
NoSQL databases
Cloud Bigtable
Fundamental properties of Bigtable
Columnar datastore
Denormalization
Support for ACID properties
Working with Bigtable
When to use Bigtable
Solving hot-spotting
Choosing storage for Bigtable
Solving performance issues
Ideal row key choices
Performing operations on Bigtable
Creating and operating an HBase table using Cloud Bigtable
Exporting/Importing a table from Cloud Bigtable
Scaling GCP Cloud BigTable
The Google Cloud Datastore
Comparison with traditional databases
Working with Datastore
When to use Datastore
Full indexing and perfect index
Using Datastore
Summary
BigQuery
Underlying data representation of BigQuery
BigQuery public datasets
Legacy versus standard SQL
Working with the BigQuery console
Loading data into a table using BigQuery
Deleting datasets
Working with BigQuery using CLI
BigQuery pricing
Analyzing financial time series with BigQuery
Summary
Identity and Access Management
Resource hierarchy of GCP
Permissions and roles
Units of identity in GCP
Creating a Service Account
Working with cloud IAM – grant a role
Working with IAM – creating a custom role
Summary
Managing Hadoop with Dataproc
Hadoop and Spark
Hadoop on the cloud
Google Cloud Dataproc
Compute options for Dataproc
Working with Dataproc
Summary
Load Balancing
Why load balancers matter now
Taxonomy of GCP load balancers
HTTP(S) load balancing
Configuring HTTP(S) load balancing
Configuring Internal Load Balancing
Other load balancing
Summary
Networking in GCP
Why GCP's networking model is unique
VPC networks and subnets
The default VPC
Internal and external IP addresses
VPN and cloud router
Working with VPCs
Working with custom subnets
Working with firewall rules
Summary
Logging and Monitoring
Logging
Working with logs
More Stackdriver – creating log-based metrics
Monitoring
Summary
Infrastructure Automation
Managed Instance Groups
Cloud deployment manager
Summary
Security on the GCP
Security features at Google and on the GCP
Google-provided tools and options for security
Some security best practices
BeyondCorp – Identity-Aware Proxy
Summary
Pricing Considerations
Compute Engine
BigTable
BigQuery
Datastore
Cloud SQL
Google Kubernetes Engine
Pub/Sub
Cloud ML Engine
Stackdriver
Video Intelligence API
Key Management Service – KMS
Vision API
Summary
Effective Use of the GCP
Eat the Kubernetes frog
Careful that you don't get nickel-and-dimed
Pay for what you allocate not what you use
Make friends with the gsuite admins
Try to find reasons to use network peering
Understand how sustained use discounts work
Read the fine print on GCS pricing
Use BigQuery unless you have a specific reason not to
Use pre-emptible instances in your Dataproc clusters
Keep your Dataproc clusters stateless
Understand the unified architecture for batch and stream
Understand the main choices for ML applications
Understand the differences between snapshots and images
Don't be Milton!
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
← Prev
Back
Next →
← Prev
Back
Next →