Google Cloud Platform for Architects

Book description

Get acquainted with GCP and manage robust, highly available, and dynamic solutions to drive business objective

About This Book
  • Identify the strengths, weaknesses and ideal use-cases for individual services offered on the Google Cloud Platform
  • Make intelligent choices about which cloud technology works best for your use-case
  • Leverage Google Cloud Platform to analyze and optimize technical and business processes
Who This Book Is For

If you are a Cloud architect who is responsible to design and manage robust cloud solutions with Google Cloud Platform, then this book is for you. System engineers and Enterprise architects will also find this book useful. A basic understanding of distributed applications would be helpful, although not strictly necessary. Some working experience on other public cloud platforms would help too.

What You Will Learn
  • Set up GCP account and utilize GCP services using the cloud shell, web console, and client APIs
  • Harness the power of App Engine, Compute Engine, Containers on the Kubernetes Engine, and Cloud Functions
  • Pick the right managed service for your data needs, choosing intelligently between Datastore, BigTable, and BigQuery
  • Migrate existing Hadoop, Spark, and Pig workloads with minimal disruption to your existing data infrastructure, by using Dataproc intelligently
  • Derive insights about the health, performance, and availability of cloud-powered applications with the help of monitoring, logging, and diagnostic tools in Stackdriver
In Detail

Using a public cloud platform was considered risky a decade ago, and unconventional even just a few years ago. Today, however, use of the public cloud is completely mainstream - the norm, rather than the exception. Several leading technology firms, including Google, have built sophisticated cloud platforms, and are locked in a fierce competition for market share.

The main goal of this book is to enable you to get the best out of the GCP, and to use it with confidence and competence. You will learn why cloud architectures take the forms that they do, and this will help you become a skilled high-level cloud architect. You will also learn how individual cloud services are configured and used, so that you are never intimidated at having to build it yourself. You will also learn the right way and the right situation in which to use the important GCP services.

By the end of this book, you will be able to make the most out of Google Cloud Platform design.

Style and approach

A clear, concise, and straightforward book which will enable to develop and manage optimum solutions for your infrastructure

Publisher resources

View/Submit Errata

Table of contents

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

Product information

  • Title: Google Cloud Platform for Architects
  • Author(s): Vitthal Srinivasan, Janani Ravi, Judy Raj
  • Release date: June 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781788834308