Edit on GitHub

Google Cloud Platform

Google Cloud Platform (GCP) is a cloud computing platform and infrastructure that provides a set of modular cloud-based services. These services include computing, data storage, data analytics and machine learning.

GCP



GCP Services

  • Data Storage (Cloud Storage, Cloud SQL, Cloud Bigtable, Cloud Datastore, Cloud Firestore, Cloud Spanner, Cloud Memorystore, Cloud Filestore)
  • Messaging Publish/Subscribe (Pub/Sub)
  • Compute (App Engine, Compute Engine, Kubernetes Engine, Cloud Functions)
  • Data Processing (Big Data).

GCP Services


Data Storage

  • Disk storage:
    • Persistent Disk: disk storage that is attached to a virtual machine instance;
    • Filestore: network attached storage (NAS) that can be mounted on virtual machine instances;
  • Cloud storage: BLOBs (Binary Large Objects);
  • NoSQL:
  • Relational:
    • SQL;
    • Spanner: relational database service with global consistency and horizontal scalability; 99.999% availability;
  • Memory storage:

Pub/Sub

  • Implementation of the Pub/Sub pattern;
  • Pub/Sub is a fully-managed messaging service that allows you to send and receive messages between independent applications;
  • Publishers send messages to a topic;
  • Subscribers receive messages from a subscription.

Pub/Sub


Compute

  • Compute Engine: virtual machines;
    • Different configurations (nr. of CPUs, RAM, etc.);
    • Regular (start/stop controlled by the user) or preemptible (short-lived, low-cost, can be terminated at any time by Google);
    • Groups of virtual machines can be created using instance groups for load balancing and auto-scaling;
  • Cloud Functions: serverless computing;
  • Containers:
  • App Engine: serverless computing for web applications;

Event-driven serverless computing

  • Execution of code in response to events, in multiple languages, with auto-scaling;
  • The cost only depends on the number of executions and the execution time;
  • Cloud Functions: serverless computing;
  • The server is only active during the execution of the code (no idle time);
  • Scalability is automatic, based on the number of executions;
    • Scaling is horizontal (more instances) and vertical (more resources per instance);
    • This is possible because the code is stateless (no session, no local storage).

Data Processing (Big Data)



Web Console

The Google Cloud Platform Console is a web-based user interface that allows you to manage resources for your Google Cloud Platform projects.

Accounts and Projects

  • Any user with a Google account can access the GCP console;
  • A user can have multiple projects;
  • The projects exist in an organization;
  • A user can have multiple billing accounts;
  • One project has one billing account, but one billing account can be used by multiple projects.

Budgets

  • A billing account can zero or more budgets;
  • A budget emits a notification when the budget is exceeded;
  • A notification does not stop the billing, it just notifies the user.

Access Control

  • Based on RBAC (Role-Based Access Control);
  • A project can have multiple members, that can represent a user, a group or a service account;
    • A service account is used to provide programmatic access to the GCP resources - managed in the IAM & Admin section.
    • Service accounts have an email and one or more key pairs (public and private keys), generated by the GCP;
    • The application uses the private key to authenticate with the GCP, and access the resources defined in the service account permissions/roles.

CN - Cloud Computing (Computação na Nuvem)

Last updated: June 14, 2023