Google Cloud Certified - Professional Cloud Developer

Cloud computing has five fundamentals attributes

Waves of the trend towards cloud computing

  1. Colocation: You host the servers
  2. Virtualized data centers: You still own the infrastructure, but it is virtualized
  3. Container based architecture: More versatile than virtualization

Kind of services

Traditional On-Premises Legacy

Infrastructure as a service (IaaS)

Platform as a service (PaaS)

Software as a Service (SaaS)

Regions and Zones

Regions are independent areas that contain zones. The round-trip latency between two points in the same region is under 5 milliseconds. A zone is the minimum area for a failure, so to get a resilient application, it must be deployed across multiple zones.

In 2019 there are 20 regions.

 

Google Cloud Compute Engine VM instance resides in a specific zone

Resources

There are regional and multiregional resources. Those have a higher latency but are more fault-tolerant. Those services have regional and multi-regional deployments:

Resource hierarchy

Policies are inherited across the tree

Policies cannot remove access of something granted in a more specific rule. If there are several rules at the same level, the less restrictive has prevalence.

Google Cloud billing

Open APIs

Security

Service categorization

Budgets and alerts

Google Cloud Identity and Access Management

Like an ACL allows somebody do an action on a resource.

Who:

Can do what:

On which resource

Permissions can be exported from LDAP (one way)

Interaction with Google Cloud Platform

Virtual Private Cloud Networking

They are global. Subnets are regionals.

A VPC belongs to a Google Cloud Platform Project.

Virtual Private Cloud Networks have routing tables to forward traffic between instances. There is a global firewall and it can be configured by compute engine instance, defined by metadata tags (for example: all instances with “WEB” tag are allowed as incoming traffic on ports 80 and 443)

With VPC peering you can add visibility across different Google Cloud Platform projects

Compute Engine

In 2019 the maximum number of virtual CPUs was 96 (zone dependent), the maximum memory size was 624 GB. A mega memory machine can handle 1.4 TB

Auto Scaling allows to add and remove Virtual Machines for your applications based on load metrics.

Cloud Load Balancing

Provides a cross-region load balancing, including automatic multi region failover

Cloud DNS

8.8.8.8 DNS for de www free

Cloud DNS is a managed DNS Service, It is programmable using de GCP Console, the command line interface or de API

Cloud CDN (Content delivery Network)

Enabled by a single checkbox in the Load Balancer

Cloud Storage

Cloud Storage Classes

Ways to bring data to Cloud Storage

Cloud Storage integration

Cloud Bigtable

It is a full managed NoSQL database for Terabytes Applications

When to use Cloud Bigtable

To sum up, it handles massive workloads, has low latency and high throughput. It is apropriate for operacional and analytical application and IoT

Cloud SQL

Managed RDBMS (Relational Data Base Management System).

Offers MySQL and PostgreSQL database as a service:

Cloud SQL integration

Cloud Spanner

It is appropriate if you need:

Cloud Datastore

Fully managed NoSql Database designed for application bakends

High-scalable

Automatic scaling

support for Databases with Terabytes

support multirow transactions

Benefits of Cloud Datastore

Local development tools

Includes a free daily quota

Restful interface

Atomic transactions (ACID)

High availability of reads and writes

Massive scalling with high performance

Flexible storage and querying of data (SQL - like language)

Encryption at rest

Fully managed with no downtime

Google Kubernetes Engine

Google Kuberenetes Engine GKE On-Prem

It is a GKE to run On Premise

Stackdriver

Built-in logging and monitoring solution for Google Cloud Platform

App Engine

It is a Platform as a service for scalable Applications

Designed for Backend applications and mobile backends

There is a free daily use quota

Provides:

Scales automatically depending on the amount of traffic

Preconfigured with:

Persistent storage with queries, sorting and transactions

Restrictions:

There is a simulated sandbox to emulate app engine in your local computer. From there you can launch a deploy in App Engine, in production

Security scanner

Automatically scans and detects common vulnerabilities

App Engine Flexible

Runs in a container instead of a sandbox (Docker inside Compute Engine)

Customizable container

Instances are auto health-checked

Critical backward compatibility operating system updates are automatially aplied

instances are restarted every week

App Engine Flexible can access App Engine services

Support for:

Cloud Endpoints

Distributed API management system. It works with those APIs that implements Open API specification (Former swagger)

Supported platforms for Cloud Endpoints

Apigee

Platform for developing and managing API proxies

Cloud Source Repository

It is a Git Repository hosted on Google Cloud Platform

Includes integration with Stackdriver Debugger without slowing down the users

Allows any number of Git repositories

Integration with Github and Bitbucket repositories

Cloud Functions

Single purpose functions that respond to events without a server or runtime:

Created in Javascript, Phyton or Go and executed in a Node.js environment

You ar billed to the nearest 100 milliseconds, only when the code is running.

Deployment Manager

Infrastructure management service that automates the creation and management of resources.

You create a .yaml file or python and the deployment manager do the actions needed to deploy the environment your template describes

Cloud Dataproc

A managed way to run Hadoop, Spark, Hive and Pig on Google Cloud Platform. A Hadoop cluster will be built in 90 seconds or less.

It can be monitored with Stackdriver

Peemtible instances can be used to make them cheaper.

When the data is in your cluster, you can use Spark to mine it. It discover patterns through machine learning.

Cloud Dataflow

When the data shows up in real time or has unpredictible size Dataflow is a good choice. It is used to build data pipelines in batch and in streaming models:

BigQuery

Is a fully managed Data warehouse. Provides nearly rea-time analysis of hundreds of TB

Use of SQL.

Features:

Cloud Pub/Sub

Many to many asynchronous messages

Applications subscribe to topics

Integration with Cloud Dataflow

Grants at least one time delivery at low latency

Suitable for:

Cloud Datalab

Lets you useu Jupyter notebooks to explore, analyze and visualize data on Google Cloud Platform

Shows an interactive Pyton interface ready to use for data exploration

Integrations:

Multilanguage Support:

Pay per use pricing

Interactive data visualization

Git-based control version, linkable with GitHub and Bitbucket

Open Source

IPhyton support

When to use:

TensorFlow

TensorFlow is an open source software library for machine learning.

Cloud Vision API

Analyzes images with a REST API

Cloud Speech API

Cloud Natural languge API

Cloud Translation API

Cloud Video Intelligence API

Cloud CDN (Content Delivery Network)