GCP Notes Last Modified: 2017-10-02
Notes about Google Cloud Platform
GCP

General

See also Firebase (mobile app platform built on top of GCP).

Main concept in GCP is the project. All operations in the GCP (except managing projects themselves) are performed in the context of a project. The project is also the primary method of grouping resources and many services have a 1-to-1 relationship with the project. For example, you cannot have two or more separate datastore service instances within a single project. (Instead, you must use namespaces to isolate data if required.)

Feature mapping

Platform

APIs Explorer: browse and try Google APIs in a browser (including authenticated requests) e.g. https://developers.google.com/apis-explorer/#search/datastore/datastore/v1beta3/datastore.projects.runQuery

Tools

https://cloud.google.com/products/tools/

Client Libraries:

SDK:

CLI:

Other:

  • Plugins for various development environments
  • Mobile App for managing GCP services

Management

https://cloud.google.com/products/management/

  • Stackdriver (Monitoring, logging, tracing, error reporting via notifications and dashboard, debugger)
  • Deployment Manager (yaml template based repeatable deployments)
  • Source Repositories https://cloud.google.com/source-repositories/

Networking

  • https://cloud.google.com/products/networking/
  • Cloud Virtual Network (VPC, VPN, Firewall, routes and firewall)
  • Cloud Interconnect (“VPN tunneling” to carriers, on-prem systems and CDN providers)
  • Cloud DNS
  • Load Balancing (for HTTP(s), TCP/SSL and UDP traffic)
  • Cloud CDN

Storage Options

https://cloud.google.com/products/storage/

Cloud DataStore

  • Entities with properties
  • Partitioned by namespace (and project id)
  • Kind is logical grouping, like a collection or table (GQL uses kind in the FROM clause).
  • Co-located with app engine region

TODO Example screenshots

Cloud Storage

  • BLOB storage
  • Encrypted
  • Multi-regional, regional, nearline or coldline

Cloud Bigtable

  • Wide-column db
  • HBase API, Streaming (Cloud Dataflow, Spark, Storm), Batch Processing

Cloud SQL

  • MySQL and PostgreSQL aaS
  • Horizontal scaling only for read access

Cloud Spanner

  • Horizontally scalable RDBMS
  • ANSI 2011 SQL with extensions

Compute Options

https://cloud.google.com/products/compute/

Compute Engine

App Engine

Can have multiple versions of multiple services (AKA modules)

Container Engine

TODO https://cloud.google.com/community/tutorials/developing-services-with-k8s

Complementary services:

  • Cloud Container Builder
  • Container Registry (private)

Cloud Functions

API Platform

Big Data

  • Solutions: https://cloud.google.com/solutions/big-data/
  • Products: https://cloud.google.com/products/big-data/
    • BigQuery (Fully managed analytics data warehousing service)
    • Cloud Pub/Sub (Service Bus)
    • Cloud Dataflow (Stream Analytics and Batch processing)
    • Cloud Dataproc (Managed Hadoop & Spark)
    • Cloud Datalab (Jupyter notebook / tensorflow as a service, can deploy models to BigQuery)
    • Data Studio (reporting/dashboard)
    • Cloud Dataprep (clean up and transform any data from input files)

Data Transfer

Machine Learning

Internet of Things