O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Building Google Cloud Platform Solutions

Book Description

Build cost-effective and robust cloud solutions with Google Cloud Platform (GCP) using these simple and practical recipes

Key Features

  • Explore the various service offerings of the GCP
  • Host a Python application on Google Compute Engine
  • Securely maintain application states with Cloud Storage, Datastore, and Bigtable

Book Description

GCP is a cloud computing platform with a wide range of products and services that enable you to build and deploy cloud-hosted applications. This Learning Path will guide you in using GCP and designing, deploying, and managing applications on Google Cloud.

You will get started by learning how to use App Engine to access Google's scalable hosting and build software that runs on this framework. With the help of Google Compute Engine, you'll be able to host your workload on virtual machine instances. The later chapters will help you to explore ways to implement authentication and security, Cloud APIs, and command-line and deployment management. As you hone your skills, you'll understand how to integrate your new applications with various data solutions on GCP, including Cloud SQL, Bigtable, and Cloud Storage. Following this, the book will teach you how to streamline your workflow with tools, including Source Repositories, Container Builder, and Stackdriver. You'll also understand how to deploy and debug services with IntelliJ, implement continuous delivery pipelines, and configure robust monitoring and alerts for your production systems. By the end of this Learning Path, you'll be well versed with GCP's development tools and be able to develop, deploy, and manage highly scalable and reliable applications.

This Learning Path includes content from the following Packt products:

  • Google Cloud Platform for Developers Ted Hunter and Steven Porter
  • Google Cloud Platform Cookbook by Legorie Rajan PS

What you will learn

  • Host an application using Google Cloud Functions
  • Migrate a MySQL database to Cloud Spanner
  • Configure a network for a highly available application on GCP
  • Learn simple image processing using Storage and Cloud Functions
  • Automate security checks using Policy Scanner
  • Deploy and run services on App Engine and Container Engine
  • Minimize downtime and mitigate issues with Stackdriver Monitoring and Debugger
  • Integrate with big data solutions, including BigQuery, Dataflow, and Pub/Sub

Who this book is for

This Learning Path is for IT professionals, engineers, and developers who want to implement Google Cloud in their organizations. Administrators and architects planning to make their organization more efficient with Google Cloud will also find this Learning Path useful. Basic understanding of GCP and its services is a must.

Table of Contents

  1. Title Page
  2. Copyright and Credits
    1. Building Google Cloud Platform Solutions
  3. About Packt
    1. Why subscribe?
    2. Packt.com
  4. Contributors
    1. About the authors
    2. 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. Download the example code files
      2. Conventions used
    4. Get in touch
      1. Reviews
  6. Why GCP?
    1. The public cloud landscape
      1. Amazon Web Services
      2. Microsoft Azure
    2. Google Cloud Platform
      1. Standing on the shoulders of giants
      2. A world-class global presence
      3. Choosing your own adventure
      4. Leading the way for big data
      5. The Open Cloud and innovation
      6. Dedication to customer success
      7. Bottom-up security
      8. In good company
    3. Summary
  7. The Google Cloud Console
    1. Getting started – Google Cloud projects
      1. Architectural role of Google Cloud projects
      2. Creating a project
      3. Free trials on GCP
    2. The Google Cloud Console
      1. Understanding the Cloud Console dashboard
    3. The Google Cloud Shell
      1. Launching the Cloud Shell
      2. Supporting multiple sessions
      3. Features and integrations
        1. File management
        2. Web Preview
        3. The Cloud Shell Code Editor
        4. Opening in Cloud Shell
        5. Trying it out
      4. Installing additional tools
      5. Boost mode
      6. Repairing the Cloud Shell
    4. Other tools
      1. Mobile apps
      2. Developer tool integrations
    5. Summary
  8. APIs, CLIs, IAM, and Billing
    1. Google Cloud APIs
      1. Managing APIs
      2. Google APIs Explorer
        1. Trying out the APIs Explorer
    2. The Google Cloud SDK
      1. Installing the Google Cloud SDK
    3. The gcloud command-line tool
      1. The basics of gcloud
        1. Command groups
        2. Root commands
        3. Global flags
      2. Initializing the Google Cloud SDK
      3. Authentication
      4. Managing your Google Cloud SDK
        1. Updating and rollbacks
        2. Alpha and beta channels
      5. Configurations in the Google Cloud SDK
        1. Modifying configuration properties
        2. Multiple configurations
    4. Other command-line tools
      1. bq
      2. gsutil
      3. kubectl
    5. Automating tasks with gcloud
      1. Modifying output and behavior
        1. Formatting attributes
        2. Formatting projections
        3. Filtering
    6. Google Cloud IAM
      1. How IAM works
        1. IAM roles
        2. The structure of IAM policies
          1. Organization-level policies
          2. Project-level policies
          3. Resource-level policies
          4. Cross-project access
      2. Managing IAM
        1. Service accounts
    7. Billing on Google Cloud
      1. Billing accounts
        1. Billing accounts and IAM
      2. Budgets and billing alerts
      3. Google Cloud Platform Pricing Calculator
        1. Creating an estimate
    8. Summary
  9. Google App Engine
    1. Compute services on the GCP
      1. Google Compute Engine
      2. Google Kubernetes Engine (GKE)
      3. Google App Engine
      4. Google Cloud Functions
      5. General considerations
    2. Google App Engine
      1. Features and benefits
        1. Developer velocity
        2. Visibility
        3. Scalability
        4. Simple integrations
      2. Structure of a Google App Engine application
      3. Architecture of an App Engine solution
        1. Microservices
        2. Batch work and task queues
      4. App Engine locations
      5. IAM on the Google App Engine
        1. App Engine service accounts
      6. The standard and flexible environments
        1. Standard environment
        2. Flexible environment
      7. Setting up the App Engine
    3. The App Engine standard environment
      1. Language support
      2. Developing for the App Engine standard environment
        1. The Python runtime
          1. WSGI and CGI
          2. Getting started
          3. The App Engine development server
        2. The Go runtime
          1. Running multiple services locally
        3. The Java 8 runtime
      3. Deploying App Engine standard services
        1. Deployment behavior
        2. Splitting network traffic
        3. Instance classes
      4. Pricing in the standard environment
        1. Spending limits
    4. The App Engine flexible environment
      1. Benefits of the flexible environment
        1. More control over the infrastructure
        2. Application portability
        3. Language support
      2. Developing for the flexible environment
      3. Deploying App Engine flexible apps
        1. Container technologies
          1. Google Container Builder
          2. Google Container Registry
      4. Custom runtimes
        1. Building custom runtime services
        2. Deploying a service to the flexible environment
      5. Pricing in the flexible environment
    5. App Engine resources and integrations
      1. Task queues
        1. Push and pull queues
          1. Push queues
          2. Named queues
          3. Pull queues
        2. Creating tasks
        3. Structuring tasks queues
      2. Scheduled tasks
        1. Deploying a cron definition
          1. Trying the App Engine cron service
    6. Scaling App Engine services
      1. Autoscaling
      2. Basic and manual scaling
    7. Externalizing configuration and managing secrets
      1. Application configuration files
      2. Compute Engine metadata server
      3. Runtime Configurator
      4. Cloud Key Management Service (KMS)
      5. General considerations
    8. Networking and security
      1. The App Engine firewall
      2. Cloud Endpoints
      3. Google Cloud IAP
      4. Virtual private networks 
    9. Summary
  10. Google Kubernetes Engine
    1. Google Kubernetes Engine
      1. When to choose GKE
        1. GKE or App Engine Flex
    2. Creating and maintaining a GKE cluster
      1. Node pools
      2. Multi-zonal and regional clusters
      3. Container Registry
    3. Deploying workloads to GKE
      1. Rolling updates
      2. Rolling back updates
      3. Scaling deployments
        1. Manually scaling deployments
        2. Automatically scaling deployments
    4. Exposing GKE Services
      1. Exposing services within a cluster
      2. Exposing services to external traffic
    5. Managing secrets with GKE
      1. Creating/Storing secrets
      2. Using secrets
    6. Billing
    7. Summary
  11. Google Cloud Functions
    1. Functions as a Service
    2. Google Cloud Functions
      1. Advantages of Cloud Functions
        1. Price
        2. Scalability
        3. Developer velocity
      2. Considerations when using Cloud Functions
    3. Invoking Cloud Functions
      1. HTTP functions
        1. Processing HTTP requests
      2. Background functions
        1. Cloud Pub/Sub functions
        2. Cloud Storage functions
        3. Background function retries and termination
    4. Developing Cloud Functions
      1. Using the Cloud Console
      2. Local development
        1. Debugging functions
    5. Deploying Cloud Functions
      1. Deploying from a local machine
      2. Deploying from a source repository
    6. Integrating with other Google services
    7. IAM and billing
      1. Cloud Functions and IAM
    8. Frameworks and tooling
    9. Summary
  12. Google Compute Engine
    1. Understanding Compute Engine
      1. IaaS
        1. Infrastructure as Code (IaC)
      2. More than virtual machines
      3. When to use Compute Engine
        1. A straightforward migration path
        2. Host anything
        3. Building a robust global presence
        4. Long running and resource intensive processes
        5. Security and compliance
    2. Virtual machines on Google Compute Engine (GCE)
      1. Machine types
        1. Standard machine types
        2. High-memory machine types
          1. Mega-memory machine types
        3. High-CPU machine types
        4. Shared-core machine types
        5. Custom machine types
          1. Extended memory
        6. Other resources
          1. Disk storage
          2. GPUs
      2. Images
        1. Public images
          1. Premium images
          2. Community images
        2. Container images
    3. Managing Compute Engine instances
      1. Creating instances
      2. Remote access
        1. SSH access
        2. SCP access
        3. Remote Desktop Protocol (RDP) access
      3. Metadata server
        1. Default metadata
        2. Project-wide metadata
        3. Instance-specific metadata
        4. Setting and removing metadata
        5. Querying metadata from within instances
          1. Trying it out
          2. Modifying API responses
      4. Startup and shutdown scripts
        1. Startup scripts
        2. Shutdown Scripts
        3. Windows machines
      5. Updates and patches
      6. Availability policies
        1. Maintenance behavior
        2. Restart behavior
      7. Relocating an instance
    4. Storage solutions
      1. Persistent disks
        1. Standard and solid-state drive (SSD) persistent disks
          1. Persistent disk performance
        2. Boot disks
        3. Managing persistent disks
          1. Persistent disk snapshots
      2. Local SSDs
    5. Creating scalable solutions with GCE
      1. Custom images
        1. Creating images from a persistent disk
          1. Copying an image
          2. Creating images from snapshots
        2. Golden images
        3. Security concerns
      2. Managed instance group (MIG)
        1. Instance templates
        2. Creating MIGs
        3. Built for resilience
          1. Autoscaling
          2. Autohealing
          3. Change management
          4. Performing a rolling update
    6. IAM and service accounts
      1. Administrative operations
        1. General roles
        2. Compute resource roles
        3. Network and security resource roles
      2. Compute instance IAM
    7. Pricing on GCE
      1. Instance discounts
        1. Preemptible instances
        2. Committed use discounts
        3. Sustained use discounts
      2. Other resource costs
      3. Always-free tier
    8. Summary
  13. NoSQL with Datastore and Bigtable
    1. NoSQL solutions on GCP
      1. NoSQL technologies
    2. Google Cloud Datastore
      1. When to use Datastore
      2. Getting started
        1. Datastore locations
        2. Managing entities in the Cloud Console
    3. Datastore core concepts
      1. The structure of Datastore data
        1. Entities, kinds, and properties
          1. Data types
          2. Entity identifiers
        2. Namespaces
        3. Ancestry paths and keys
      2. Entity groups and consistency
        1. Entity groups
        2. Consistency and queries
      3. Working with entities
        1. Queries with GQL
          1. Using GQL in the Cloud Console
        2. Indexes
          1. Single property indexes
          2. Composite indexes
      4. Datastore under the hood
        1. The entities table
          1. Key
          2. Entity group
          3. Kind
          4. Properties
          5. Custom indexes
        2. Index tables
          1. EntitiesByKind
          2. EntitiesByProperty
          3. EntitesByCompositeProperty and Custom Indexes
    4. Datastore management and integrations
      1. Administrative tasks
        1. The Datastore Admin Console
        2. gcloud operations
      2. Integrations with other GCP services
        1. App Engine standard environment
          1. Other GCP services
      3. Datastore pricing and IAM
        1. Permissions in Datastore
    5. Google Cloud Firestore
      1. Comparison to Datastore
      2. A promising future
    6. Google Bigtable
      1. Core concepts
        1. Structure of Bigtable data
        2. Columns and column families
          1. Column families
        3. Scalable and intelligent
      2. Bigtable under the hood
        1. Building on other Google technologies
        2. Tablets and servers
      3. Creating and managing clusters
        1. Instances, clusters, and nodes
        2. Development instances
        3. Bigtable locations
        4. Create a development cluster
          1. Using gcloud
        5. Scaling clusters
          1. Promoting development clusters
        6. Deleting a cluster
      4. Interacting with data on Bigtable
        1. The cbt command-line interface
        2. The Bigtable HBase Client
        3. Platform integrations
          1. BigQuery external tables
          2. Dataflow Bigtable IO
      5. Bigtable pricing and IAM
        1. Permissions in Bigtable
    7. Summary
  14. Relational Data with Cloud SQL and Cloud Spanner
    1. Google Cloud SQL
    2. Configuring Cloud SQL instances
      1. Creating a Cloud SQL instance
      2. Database engines
        1. MySQL generations
      3. Machine and storage types
        1. Choosing a machine type
        2. Configuring storage
      4. Cloud SQL locations
      5. When to use multiple instances
    3. Connecting to Cloud SQL
      1. Authorized networks
        1. Connecting with gcloud
        2. SSL support
          1. Establishing an SSL Connection
      2. The Cloud SQL Proxy
        1. Setting up the Cloud SQL Proxy
        2. Authenticating with the Cloud SQL Proxy
        3. Trying it out
    4. Managing Cloud SQL instances
      1. Maintenance operations
        1. Importing data to Cloud SQL
        2. Exporting data to cloud storage
        3. Backups and recovery
          1. Trying it out
          2. Point-in-time recovery
        4. Updates
        5. Database flags
        6. Database flags and SLAs
      2. Replicas and high availability
        1. Read-only replicas
          1. External replicas
        2. High availability
          1. Forcing a failover
      3. Scaling Cloud SQL instances
        1. Scaling Storage
        2. Scaling compute
      4. Alerting on resource pressure
      5. Horizontal scaling
    5. Migrating databases to Cloud SQL
    6. Cloud SQL IAM and users
      1. IAM policies
      2. Database users
        1. Default and system users
        2. Additional users
        3. Changing user passwords
        4. Cloud SQL Proxy users
      3. Cloud SQL pricing
    7. Google Cloud Spanner
      1. Instances and instance configurations
        1. Regional configurations
        2. Multi-region configurations
        3. Nodes, databases, and tables
      2. Creating a Cloud Spanner instance
      3. Importing data into Cloud Spanner
      4. Performing a simple query
    8. Understanding Cloud Spanner
      1. Cloud Spanner and CAP theorem
      2. Maintaining consistency
        1. TrueTime and linearization
      3. Paxos groups
        1. Read operations
        2. Write operations
        3. Transactions
      4. Database design and optimizations
        1. Query execution plans
        2. Primary keys
        3. Data collocation and interleaving
        4. Secondary indexes and index directives
    9. Cloud Spanner administration
      1. Cloud Spanner IAM Roles
      2. Cloud Spanner prices
    10. Summary
  15. Google Cloud Storage
    1. GCS basics
      1. Buckets
        1. Bucket names
          1. Domain-named buckets
          2. The global bucket namespace
      2. Objects
        1. Object data
        2. Object metadata
        3. Virtual file structures
      3. Using gsutil
        1. Creating and using a bucket
        2. Uploading files to GCS
    2. Storage classes and locations
      1. Regional and Multi-Regional Storage
        1. Standard and durable reduced availability
      2. Nearline and Coldline Storage
      3. Cloud Storage locations
        1. Nearline and Coldline Storage locations
      4. Choosing the right storage class
        1. Cloud Storage pricing
      5. Bucket and object storage classes
    3. Automating object management
      1. Monitoring lifecycle events
      2. Object versioning
    4. Data governance in Cloud Storage
      1. Cloud Storage IAM
      2. ACLs
      3. Limitations of concentric access control
      4. Customer supplied encryption keys
      5. Signed URLs
    5. Capabilities and integrations
      1. Integrating with Google Cloud Functions
      2. Static web content and Backend Buckets
    6. Summary
  16. Stackdriver
    1. Lessons from SRE
      1. Monitoring and alerting
    2. Preparation for this chapter
    3. Stackdriver basics
      1. Stackdriver and GCP projects
        1. Creating and linking a Stackdriver account
    4. Stackdriver Logging
      1. Filtering and searching
        1. Basic filtering
        2. Advanced filtering
      2. Exporting Stackdriver logs
        1. Exporting to Cloud Storage
        2. Exporting to BigQuery and Cloud Pub/Sub
    5. Monitoring and alerting
      1. The Stackdriver Monitoring console
        1. Exploring Stackdriver metrics
        2. Creating dashboards
      2. Stackdriver alerting policies
        1. Policy conditions
        2. Creating an alerting policy
        3. Notifications and documentation
      3. Stackdriver incidents
        1. Other types of metrics
    6. Error reporting
      1. Investigating errors
    7. Stackdriver APM
      1. Stackdriver Trace
        1. Investigating application latency
    8. Stackdriver Debugger
      1. Debugging the todos services
        1. Logpoints
      2. Stackdriver Profiler
    9. Summary
  17. Change Management
    1. Preparing for this chapter
    2. Google Cloud Source Repositories
    3. Google Cloud Deployment Manager
      1. Declarative configuration management
      2. Basic configurations
        1. Resource types and properties
      3. Deployments
        1. Deploying a simple configuration
        2. Deployment manifests
        3. Updating deployments
          1. Create and delete policies
        4. Maintaining deployment state
          1. Remediation
      4. Templates
        1. Creating a template
        2. Other template features
        3. Cloud Launcher and Deployment Manager
      5. Runtime Configurator
        1. Watchers
        2. Waiters
    4. Google Cloud Container services
      1. Google Container Registry – GCR
      2. Container Builder
        1. Build triggers
    5. Continuous deployment in Google Cloud
    6. Summary
  18. GCP Networking for Developers
    1. Networking fundamentals
      1. Virtual private networks
      2. Subnetworks
        1. Configuring VPC networks
        2. Networks and compute resources
      3. Firewall rules
        1. Components of a firewall rule
          1. Action
          2. Direction
          3. Target
          4. Source or destination
          5. Protocol and port
          6. Priority
        2. Securing networks with firewall rules
      4. Routes
      5. IP addresses
        1. Internal and external IP addresses
        2. Ephemeral and static IP addresses
          1. Global IP addresses
    2. Google load balancers
      1. Network load balancers
        1. Target pools
        2. Forwarding rules
        3. Health checks
        4. Failover ratio and backup pools
      2. Creating a TCP network load balancer
      3. Internal load balancing
    3. Global load balancers
      1. Components of global load balancers
        1. Backend services
        2. Target proxies
        3. Global forwarding rules
      2. SSL and TCP proxies
      3. HTTP(S) load balancers
        1. Autoscaling load balanced resources
    4. Google Cloud DNS
    5. Access control and API management
      1. Google Cloud Endpoints
        1. Services
        2. API providers
        3. Access and discovery
      2. Identity-Aware Proxy
      3. Cloud Armor
    6. Summary
  19. Messaging with Pub/Sub and IoT Core
    1. Google Cloud Pub/Sub
      1. Topics and subscriptions
      2. Push and pull message delivery
        1. Pull subscriptions
        2. Push subscriptions
        3. Choosing a subscription model
        4. Message acknowledgment
          1. Nacking messages
      3. Designing for resilience
        1. Message loss
        2. Processing failures
        3. Duplicate messages
        4. Out-of-order messages
    2. Google Cloud IoT Core
      1. Device management and registries
      2. Device authentication and security
      3. Consuming device data
    3. Summary
  20. Integrating with Big Data Solutions on GCP
    1. Big data and Google Cloud Platform
    2. Cloud Dataflow
      1. Evolution of data processing at Google
      2. Pipelines
        1. Collections
        2. Transformations
          1. Element-wise transforms
          2. Aggregate transforms
          3. Composite transforms
      3. Sources and sinks
      4. Creating and executing pipelines
        1. Executing pipelines locally
        2. Executing pipelines on Cloud Dataflow
        3. Executing streaming pipelines
        4. Pipeline templates
          1. Google provided pipeline templates
        5. Managing Cloud Dataflow jobs
    3. Google BigQuery
      1. How BigQuery executes queries
      2. Integrating with BigQuery
        1. BigQuery as a Cloud Dataflow Sink
        2. Batch loading files from Cloud Storage
        3. Streaming inserts
        4. Exploring BigQuery data
    4. Summary
  21. Compute
    1. Introduction
    2. Hosting a Node.js application on Google Compute Engine
      1. Getting ready
      2. How to do it...
        1. Running the application on the development machine
        2. Deploying the application on GCP
          1. Moving the code to Google Source Repositories
          2. Creating the start up script
          3. Creating and configuring a GCE instance
    3. Hosting the Node.js application on Google App Engine
      1. Getting ready
      2. How to do it...
    4. Hosting a Node.js application on Kubernetes Engine
      1. Getting ready
      2. How to do it...
        1. Creating a cluster on GKE to host the containers
        2. Containerizing the KeystoneJS application
        3. Creating a replicated deployment for the application and MongoDB
    5. Hosting an application on Google Cloud Functions
      1. Getting ready
      2. How to do it...
    6. Hosting a highly scalable application on Google Compute Engine
      1. Getting ready
      2. How to do it...
      3. How it works...
  22. Storage and Databases
    1. Introduction
    2. Hosting a static application using Google Cloud Storage
      1. Getting ready
      2. How to do it...
      3. There's more...
    3. Image resizing using Google Cloud Storage and Cloud Functions
      1. Getting ready
      2. How to do it...
      3. How it works...
    4. Migrating a MariaDB to Cloud Spanner
      1. Getting ready
      2. How to do it...
    5. Loading temperature data to Cloud Bigtable and BigQuery-ing it
      1. Getting ready
      2. How to do it...
    6. Storage metadata in Google Cloud Datastore
      1. Getting ready
      2. How to do it...
      3. There's more...
  23. Networking
    1. Introduction
    2. Network management using a data and a management network
      1. Getting ready
      2. How to do it...
      3. There's more...
    3. Content-based load balancing
      1. Getting ready
      2. How to do it...
    4. VPC network peering between two networks
      1. Getting ready
      2. How to do it...
    5. VPN connection between two networks
      1. Getting ready
      2. How to do it...
    6. CDN setup for a static website
      1. Getting ready
      2. How to do it...
  24. Security
    1. Introduction
    2. Scanning for vulnerabilities using Cloud Security Scanner
      1. Getting ready
      2. How to do it...
      3. How it works...
    3. Using Identity-Aware Proxy on App Engine
      1. Getting ready
      2. How to do it...
    4. Securing financial data using Cloud KMS
      1. Getting ready
      2. How to do it...
    5. Using Data Loss Prevention API
      1. Getting ready
      2. How to do it...
    6. Creating IAM custom roles
      1. Getting ready
      2. How to do it...
    7. Creating service accounts
      1. Getting ready
      2. How to do it...
    8. Automatic recon and defense
      1. Getting ready
      2. How to do it...
  25. Machine Learning and Big Data
    1. Introduction
    2. Uploading data to the Google BigQuery table
      1. Getting ready
      2. How to do it...
      3. There's more...
    3. Translating text to a target language
      1. Getting ready
      2. How to do it...
      3. See also
    4. Creating a Dataflow pipeline to store streaming data
      1. Getting ready
      2. How to do it...
    5. Using the Vision API
      1. Getting ready
      2. How to do it...
    6. Using the Google Cloud Speech API
      1. Getting ready
      2. How to do it...
    7. Using the Cloud IoT Core
      1. Getting ready
      2. How to do it...
  26. Management Tools
    1. Introduction
    2. Creating alerts on specific events
      1. Getting ready
      2. How to do it...
    3. Monitoring a webserver using Stackdriver Monitoring
      1. Getting ready
      2. How to do it...
      3. How it works...
    4. Creating tailor-made instances using Deployment Manager
      1. Getting ready
      2. How to do it...
    5. Error Reporting on a Python Flask application
      1. Getting ready
      2. How to do it...
    6. Viewing application state using Stackdriver Debugger
      1. Getting ready
      2. How to do it...
  27. Best Practices
    1. Introduction
    2. Creating a custom VM using Terraform
      1. Getting ready
      2. How to do it...
    3. Monitoring a GCP account using Security Monkey
      1. Getting ready
      2. How to do it...
    4. Creating instance backups
      1. Getting ready
      2. How to do it...
    5. Simulating VM migration
      1. Getting ready
      2. How to do it...
    6. Creating a golden image using Packer
      1. Getting ready
      2. How to do it...
  28. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think