Skip to content

This repo consists study material related GCP ACE certificate which is heavily based on Udemy course by in28minutes

Notifications You must be signed in to change notification settings

Aman0509/learningGCP-AssociateCloudEngineer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 

Repository files navigation

GCP - Associate Cloud Engineer

Resources and Useful Links

Contents

GCP ACE - Getting Started

Introduction to Cloud and GCP - Google Cloud Platform

in28minutes slide image

in28minutes slide image

in28minutes slide image

in28minutes slide image

in28minutes slide image

in28minutes slide image

Google Cloud Regions and Zones

Need for Regions and Zones

in28minutes slide image

in28minutes slide image

in28minutes slide image

Understanding Regions and Zones in GCP

in28minutes slide image

in28minutes slide image

in28minutes slide image

Google Compute Engine for Associate Cloud Engineer

Getting started with Google Compute Engine - GCE

in28minutes slide image

in28minutes slide image

in28minutes slide image

  • Go to search bar > type 'compute engine' and hit enter > create

    in28minutes demo image

  • Provide configurations like, name, region, machine type, os details etc and then click on create.

Readings:

Understanding Machine Types and Images in Google Compute Engine

in28minutes slide image

in28minutes slide image

in28minutes slide image

Installing HTTP Webserver on GCE VM

  • Once VM is created, install Apache in it and inside the index page, let's just keep the VM's hostname and IP address.

    in28minutes slide image

  • To launch the index page hosted on VM, use the External IP. Make sure you have allow the HTTP/HTTPS traffic on this VM.

    in28minutes demo image

    in28minutes demo image

Understanding Internal and External IP addresses

in28minutes slide image

Playing with Static IP Addresses

in28minutes slide image

  • Go to Search bar > type External IP Addresses > list of all external IP addresses can be found here which are assigned to VMs

    in28minutes demo image

  • Now to reserver an IP or create a static IP, click on Reserve Static Address and provide the configurations.

    in28minutes demo image

    in28minutes demo image

  • Once static IP is created, it needs to be assigned to the VM. For that, click on change and select the VM.

    in28minutes demo image

in28minutes slide image

Simplifying the Web Server setup with Compute Engine Startup Script

in28minutes slide image

in28minutes slide image

We will configure our startup script during VM creation. For that, while creating VM and configuring options, go to Management > under Automation, you will find Startup script text area. Update your script there and create instance.

in28minutes demo image

To test it, click on external IP and verify everything's working as expected.

Simplifying VM creation with Instance Templates

in28minutes slide image

in28minutes demo image

in28minutes demo image

in28minutes demo image

Click on create and new instance template will be created. Based on it, now, VMs can be created.

in28minutes demo image

Reducing Launch Time with Custom Images

in28minutes slide image

To create image from a disk, ensure VM instance attached with that disk should be in stopped state.

in28minutes demo image

Provide all required configurations and click on create. Once created, you can find it under Images tab.

in28minutes demo image

Now, you can create an instance template and use this custom image under boot disk section and create VM instances based on this template.

Google Compute - Optimizing Costs and Performance in GCP

Understanding Sustained Use Discounts in GCP

in28minutes slide image

Understanding Committed Use Discounts in GCP

in28minutes slide image

in28minutes demo image

in28minutes demo image

Saving Costs with Preemptible VMs

in28minutes slide image

Proceed with the VM creation and select under Management, security, disks, networking, sole tenancy

in28minutes demo image

in28minutes demo image

Quick Update about Spot VMs

in28minutes slide image

Understanding Billing for Google Compute Engine VMs

in28minutes slide image

in28minutes demo image

Click on 'Create Budget' and configure as per your requirements.

Achieving High Availability with Live Migration and Automatic Restart

in28minutes slide image

in28minutes demo image

Understanding Custom Machine Types

in28minutes slide image

in28minutes demo image

Exploring GPUs in Google Compute Engine

in28minutes slide image

There are 2 ways of creating GPU machines:

1st Way

in28minutes demo image

2nd Way

Select machine type and then add GPU to it.

in28minutes demo image

Quick Review - Virtual Machines in Google Cloud Platform

in28minutes slide image

Best Practices - Virtual Machines in Google Cloud Platform

in28minutes slide image

Scenarios - Virtual Machines in Google Cloud Platform

in28minutes slide image

Quick Review - Google Compute Engine

in28minutes slide image

in28minutes slide image

GCloud for Associate Cloud Engineer

Getting Started with GCloud

in28minutes slide image

in28minutes slide image

Playing with GCloud Config Set

in28minutes slide image

Managing Multiple Configurations in GCloud

in28minutes slide image

Understanding Command Structure in GCloud to play with Services

in28minutes slide image

Playing with GCloud Compute Instance Create

in28minutes slide image

Setting Default Region and Zone for Compute Engine

in28minutes slide image

Exploring GCloud Commands - list and describe

in28minutes slide image

Playing with Compute Instances in GCloud

in28minutes slide image

Playing with Instance Templates in GCloud

in28minutes slide image

Getting Started with Instance Groups

in28minutes slide image

in28minutes slide image

Creating Managed Instance Groups (MIG)

in28minutes slide image

in28minutes demo image

Provide configurations as per your requirements and click on create.

in28minutes demo image

Updating a MIG - Rolling Update and Restart

in28minutes slide image

Rolling Update

To configure rolling update, go to instance groups > update VMs

in28minutes demo image

In this scenario, let's say you want this MIG to run on different Instance template. In summary, you want to update the instance template.

in28minutes demo image

After that, select type update. With Automatic update type, you've few more configure options to select.

in28minutes demo image

in28minutes demo image

in28minutes demo image

Rolling Restart

in28minutes demo image

in28minutes demo image

Scenarios - Instance Groups

in28minutes slide image

Using GCloud to play with MIG

in28minutes slide image

GCloud and MIG - Making Updates

in28minutes slide image

GCloud and MIG - Managing Templates Updates

In the last section, we looked at a few ways to make updates to our managed instance group and it was concluded with setting of instance template. However, one thing that we did not discuss is when would the template be updated? Will it be updated immediately?

Note that the manage instance group configuration would be updated immediately, but would the instance be immediately updated to that template? Will there be any downtime while making the update to that specific template?

The answer to that is after updating the instance template you can configure how to do the update. How do you roll out the new template to the existing virtual machines?

There are multiple commands that you can make use of. You can make use of the recreate-instances and the update-instances that we have used earlier. Or there is another set of command which you can use called rolling-action start-update.

in28minutes slide image

When you're doing recreate-instances, you are doing everything manually. However, you can also automate the upgrade to the new version template in a more controlled fashion using rolling-action start-update.

in28minutes slide image

Load Balancing in GCP

Getting Started with Cloud Load Balancing

in28minutes slide image

Understanding HTTP, HTTPS, UDP and TCP Protocols

in28minutes slide image

in28minutes slide image

in28minutes slide image

Readings:

Creating a Load Balancer in GCP

in28minutes demo image

Select type of load balancing as per your requirement.

in28minutes demo image

Let's create a HTTP(s) load balancer. For that, click on Start Configuration and provide configurations.

in28minutes demo image

Click on Continue and configure backend, host and path rules and frontend.

in28minutes demo image

Understanding Cloud Load Balancing Terminology in GCP

in28minutes slide image

in28minutes slide image

Readings:

Choosing a Load Balancer in GCP

google cloud docs image

Readings:

Explore Features of Load Balancers

in28minutes slide image

Scenarios - Cloud Load Balancing

in28minutes slide image

Managed Services in Google Cloud Platform

What are Managed Services?

in28minutes slide image

Understanding IAAS and PAAS

in28minutes slide image

in28minutes slide image

Understanding Evolution to Containers and Containers Orchestration

in28minutes slide image

in28minutes slide image

in28minutes slide image

Understanding Serverless

in28minutes slide image

in28minutes slide image

Exploring Google Cloud Platform GCP Compute Services

in28minutes slide image

Getting Started with Google App Engine

in28minutes slide image

in28minutes slide image

Understanding App Engine Environments - Standard & Flexible

in28minutes slide image

Understanding App Engine Components Hierarchy

in28minutes slide image

Comparing App Engine Environments - Standard vs Flexible

in28minutes slide image

Scaling Google App Engine Instances

in28minutes slide image

Playing with App Engine in GCP - Google Cloud Platform

  • Go to search bar > type 'App Engine' > click on 'Create application'

    in28minutes demo image

  • Select Region and click on 'Create app'

    in28minutes demo image

  • Select language and environment and click on 'Next'

    in28minutes demo image

  • App engine app will be created successfully.

  • Now to deploy service to this app, you can either use GCloud SDK or cloud shell. Let's use cloud shell.

  • For demo purpose, let's write simple Python flask program via inbuilt editor in cloud shell (focus only on code inside default-service directory for now).

    in28minutes demo image

  • Inside app.yaml, you have application configuration required for App Engine. For instance, 'runtime' is one of the configuration which tells App Engine about the application environment.

    runtime: python39
    
  • To deploy, use command, gcloud app deploy. Ensure, you are on the right project.

    in28minutes demo image

    in28minutes demo image

  • In this deployment, we didn't specify the service name, so it will be deployed as default service. Also, we didn't specify the default service for this specific deployment.

  • Once this deployment is successful, you can go to the URL at which your app is exposed and check if it is working fine.

    in28minutes demo image

Exploring App Engine App, Services and Versions

App Dashboards

In App Dashboards, you have can see metrics and summary.

in28minutes demo image

Services

in28minutes demo image

Versions

in28minutes demo image

You can also get above information using commands:

in28minutes demo image

Now, let's say you want to deploy another version of it. For that, you can do it like below:

in28minutes demo image

During the next version deployment, your application will keep on running of current version. So, there will be no downtime. As soon as the next version is deployed. Traffic will be shifted to the new version.

To find out the link of this version (or active version), you can use gcloud app browse command. However, to find out the link for specific version, just add --version=<version> flag.

in28minutes demo image

Splitting Traffic between Multiple Versions in App Engine

Previously, we had seen that after deploying new version, full traffic was automatically shifted to it. However, sometimes, you really don't want this rather slowly transfer the traffic to new version after doing some testing.

Let's suppose, currently our app is running on v2 and now, we are updating it to v3.

--no-promote, it will disable the transfer of all traffic to the newly deployed version.

in28minutes demo image

After verifying that everything is working fine. You can now shift or split the traffic between multiple versions.

in28minutes demo image

Readings:

Create a New Service and Playing with App Engine

In addition to the default service, you can create the multiple services. In our example, we will create the new service whose code is inside my-first-service. We will deploy the same. After deploy, new service is created with it's first version.

in28minutes demo image

If you check the services, you will find 2 services running.

in28minutes demo image

To find the link for the new service's version, do like below:

in28minutes demo image

Just add --version flag if you are looking for a specific version of that service.

Understanding App Engine's app.yaml

in28minutes slide image

Understanding Request Routing in Google App Engine

in28minutes slide image

Deploying New App Engine Versions without Downtime in GCP

in28minutes slide image

Splitting Traffic between App Engine Version in GCP

in28minutes slide image

Exploring App Engine and GCloud - GCloud App

in28minutes slide image

Exploring App Engine and GCloud - GCloud App Instances

in28minutes slide image

Exploring App Engine and GCloud - GCloud App's Services & Versions

in28minutes slide image

Creating Cron Jobs in App Engine

in28minutes slide image

Exploring App Engine YAML Files - dispatch and queue

in28minutes slide image

Important Things to Remember - Google App Engine

in28minutes slide image

Scenarios - Google App Engine

in28minutes slide image

Getting Started with Google Kubernetes Engine

in28minutes slide image

in28minutes slide image

K8s Journey - Creating a GKE Cluster

In search bar, type 'Kubernetes Engine' > Create Cluster

in28minutes demo image

You will 2 cluster modes

in28minutes demo image

in28minutes slide image

For now, click on the standard, provide the configurations and click on create.

Now, once cluster is created successfully, connect to it and you can perform K8s related tasks using kubectl CLI.

in28minutes demo image

in28minutes slide image

Readings:

Understanding Kubernetes Clusters - Google Kubernetes Engine

in28minutes slide image

in28minutes slide image

Getting Started with Google Container Registry(GCR)

in28minutes slide image

Important Things to Remember - GKE

in28minutes slide image

Scenarios - GKE

in28minutes slide image

in28minutes slide image

Quick Review - Command Line - gcloud container clusters

in28minutes slide image

Quick Review of GKE & K8s

in28minutes slide image

Getting Started with Google Cloud Functions

in28minutes slide image

Readings:

Cloud Functions - Important Concepts

in28minutes slide image

in28minutes slide image

Demo - Creating Cloud Functions

Getting Started with Google Cloud Run

in28minutes slide image

Google Developers slide image

Google Developers slide image

Google Developers slide image

Google Developers slide image

in28minutes slide image

Readings:

Exploring Google Cloud Functions Gen 2

in28minutes slide image

Readings:

Exploring Cloud Functions - Scaling and Concurrency

in28minutes slide image

Quick Overview of deploying Cloud Functions with GCloud

in28minutes slide image

in28minutes slide image

Encryption in Google Cloud with Cloud KMS

Understanding Data States

in28minutes slide image

Understanding Encryption - Symmetric and Asymmetric

in28minutes slide image

in28minutes slide image

in28minutes slide image

Getting Started with Cloud KMS

in28minutes slide image

Readings:

Block and File Storage in GCP

Exploring Block and File Storage in GCP

in28minutes slide image

in28minutes slide image

in28minutes slide image

in28minutes slide image

Let's quickly see where you can actually look at these options.

So, when we create a virtual machine, that's when you can attach block storage devices with it. You can either attach persistent disks or local SSDs.

During creation of VM, if you go to the boot disk, you will see a persistent disk is attached from where your operating system is loaded and whenever we create a virtual machine, a boot disk is automatically attached with the virtual machine. So by default, a persistent disk called a boot disk is attached with your VM.

in28minutes demo image

If you'd want to have additional persistent disks attached, then go to Disks > Add New Disk

in28minutes demo image

Remember, Local SSD is available with selected machine types

Readings:

Exploring Block Storage in GCP - Local SSDs

in28minutes slide image

in28minutes slide image

in28minutes slide image

Exploring Block Storage in GCP - Persistent Disks

in28minutes slide image

Comparing Persistent Disks vs Local SSDs

in28minutes slide image

Exploring Persistent Disks Types

in28minutes slide image

Taking Snapshots for Persistent Disks

in28minutes slide image

in28minutes slide image

Readings:

Playing with Persistent Disks and Snapshots

We know that boot disk of persistent disks. However, if you delete your VM, the boot disk will also get deleted. To avoid that you can configure like below:

While creating the VM

Go to Boot Disk > Change > Show Advanced Configuration > Deletion Rule > Keep Boot Disk

in28minutes demo image

In a existing VM

Go to you instance > Edit > Under Storage (Boot Disk) section > Deletion Rule > Keep Disk

in28minutes demo image

Creating Snapshot

in28minutes demo image

Once your snapshot is created, you can create an VM instance using it. But remember that snapshots must be created from a boot disk.

in28minutes demo image

You can also create a disk using snapshot.

in28minutes demo image

Scheduling Snapshots

Snapshot schedule is not really linked to a disk. It's a general schedule. Once created, you need to explicitly assigned it to a disk.

in28minutes demo image

in28minutes demo image

Assigning snapshot schedule to a disk.

in28minutes demo image

Playing with machine images

in28minutes slide image

in28minutes demo image

After creating a machine image, instance can be created based on it.

in28minutes demo image

Comparing Snapshots vs Images vs Machine Images

in28minutes slide image

Playing with Disks - GCloud

in28minutes slide image

Playing with Images - GCloud

in28minutes slide image

Scenarios - Persistent Disks

in28minutes slide image

Exploring File Storage with FileStore

in28minutes slide image

Exploring Global, Regional and Zonal Resources

in28minutes slide image

Scenarios - Block and File Storage

in28minutes slide image

Object Storage in GCP - Cloud Storage

Playing with Object Storage in GCP - Cloud Storage

To get an idea about object and cloud storage, we'll start with demo.

Go to search > type Cloud Storage and you might see few buckets like below. Bucket is kind of a container for all the objects that you would want to place in cloud storage. We will talk about it in lengths later.

in28minutes demo image

Let's create a new bucket. For that, click on 'Create Bucket'. Now you have to provide bucket name which must be unique globally.

in28minutes demo image

Next, chose where to store data.

in28minutes demo image

Now choose default storage class

in28minutes demo image

Let's keep other options with default values.

One of the important things to be noticed in here is that there is no mention of the size of the storage that we would want All that we said is that this is the bucket and this is where we want to create it.

Once bucket is created, you may go ahead and store your data in it.

Exploring Cloud Storage in GCP

in28minutes slide image

In bucket, objects are stored in key-value pair.

in28minutes demo image

In below image, '2030/10/course1.png' is the key and value is the content of course1.png image.

in28minutes demo image

Whenever we are storing files, we will not be updating files bit by bit. So, whenever we want to change any file, we will create a new image and then upload the entire image as such. So, we would be treating the entire object as a single unit. We'll not do partial updates.

Understanding Cloud Storage - Objects and Buckets

in28minutes slide image

Readings:

Understanding Cloud Storage - Storage Classes

in28minutes slide image

in28minutes slide image

Storage classes can also be defined at object level. So, in the same bucket, you can have different objects with different storage classes.

in28minutes slide image

in28minutes slide image

Understanding Cloud Storage - Uploading and Downloading Options

in28minutes slide image

Understanding Cloud Storage - Versioning

in28minutes slide image

Understanding Cloud Storage - Lifecycle Management

in28minutes slide image

in28minutes slide image

To configure the lifecycle for your bucket, go to 'Lifecycle' tab and then 'Add a rule'

in28minutes demo image

in28minutes demo image

in28minutes demo image

Understanding Cloud Storage - Encryption with KMS

in28minutes slide image

To configure server side encryption, go to 'Configuration' tab of your bucket and click on 'Encryption Type'.

in28minutes demo image

You can also add encryption at the time of creating bucket in 'Advanced Setting' section.

in28minutes demo image

Scenarios - Cloud Storage

in28minutes slide image

Playing with gsutil - Cloud Storage from Command Line

in28minutes slide image

in28minutes slide image

Authentication & Authorization in Google Could with Cloud IAM

Introduction

  • You have resources in the cloud (examples, a virtual server, a database etc).

  • You have identities (human and non-human) that need to access those resources and perform actions​.

    • for eg., start, stop or terminate a virtual server
  • How do you identify users in the cloud?​

    • How do you configure resources they can access?​

    • How can you configure what actions to allow?

  • In GCP, Identity and Access Management (Cloud IAM) provides this service

    • Authentication - Is it the right user?

    • Authorization - Do they have the right access?

    • Identities can be:

      • A GCP User (Google Account or Externally Authenticated User)​

      • A Group of GCP Users​

      • An Application running in GCP​

      • An Application running in your data center

      • Unauthenticated users​

    • Provides very granular control:

      • Provides very granular control,

        • to perform single action

        • on a specific cloud resource

        • from a specific IP address

        • during a specific time window

Scenario

I want to provide access to manage a specific cloud storage bucket to a colleague of mine.

Important generic concepts:

  • Member: My colleague​

  • Resource: Specific cloud storage bucket​

  • Action: Upload/Delete Objects​

In Google Cloud IAM,

  • Roles are set of permissions to perform specific actions on specific resources.

    • Roles do NOT know about members. It is all about permissions.
  • How do you assign permissions to a member?​

    • By using Policy. In policy, you assign (or bind) a role to a member​.

Solution

  • Choose a Role with right permissions (Ex: Storage Object Admin).

  • Create policy which binds the member with that Role.

Note

IAM in AWS is very different from GCP.

Readings:

Exploring Cloud IAM Roles

  • Roles are permissions:

    • Perform some set of actions on some set of resources​.
  • There are 3 types of roles:

    • Basic Roles (or Primitive roles) - Owner/Editor/Viewer​

      • Viewer(roles.viewer) - Read-only actions​

      • Editor(roles.editor) - Viewer + Edit actions​

      • Owner(roles.owner) - Editor + Manage Roles and Permissions + Billing

      • Basic roles are earliest version and not recommended to use in production

    • Predefined Roles - Fine grained roles predefined and managed by Google​.

      • Different roles for different purposes​, for examples, Storage Admin, Storage Object Admin, Storage Object Viewer, Storage Object Creator
    • Custom Roles - When predefined roles are NOT sufficient, you can create your own custom roles

Readings:

Playing with IAM Roles - Predefined, Basic and Custom Roles

Let's play with roles. For that, type roles in search bar and press enter. You will be presented with varieties of roles available in GCP. Let's see one role of each category.

cloud iam - personal

1. Basic Roles

In filter, type Name:roles/viewer and you will see more than 2000 permissions are associated with this role. Analyze all such permissions associated with it.

cloud iam - personal

2. Predefined Roles

In filter, type Storage Admin Object and you will see more than 10 permissions are associated with this role. Analyze all such permissions associated with it.

cloud iam - personal

3. Custom Roles

Follow this link to know how to create custom roles.

Exploring Cloud IAM - Members, Role and Policy

in28minutes slide image

in28minutes slide image

in28minutes slide image

Demo - Playing with IAM (DIY)

GUI

Below things are covered in this demo:

  • In search bar, type IAM and try adding a new member, modify present member roles.

  • Checkout Policy Troubleshooter.

CLI

Below are few important commands used to perform IAM related tasks:

in28minutes slide image

Getting started with Service Accounts

in28minutes slide image

Readings:

Demo - Playing with Service Accounts

Scenario

An application is running on VM and we want to give this VM access to create cloud storage bucket.

Solution

  • Create a service account with role Compute Instance Admin & Storage Admin and add users to grant access of this service account if required.

  • Create a VM and add this service account.

Exploring Service Account Use Cases

Use Case 1 - VM using Cloud Storage

in28minutes slide image

Use Case 2 - Connect on premises machine to cloud storage

Until now, we have been talking about resources which are present in Google Cloud. Now, let's suppose there is a server present outside GCP.

in28minutes slide image

Use Case 3 - Connect on premises machine to cloud storage but for few hours

in28minutes slide image

Scenarios - Service Accounts

in28minutes slide image

ACL(Access Control Lists) - Part of Cloud Storage

in28minutes slide image

in28minutes slide image

Readings:

Signed URLs - Part of Cloud Storage

in28minutes slide image

Readings:

Exposing a Public Website using Cloud Storage

Suppose, you want to expose buckets, let's say, in a public website, then below are the steps to do so:

in28minutes slide image

Readings:

Choosing Database in GCP

in28minutes slide image

Understanding Database Fundamentals - Snapshot, Standby etc

in28minutes slide image

in28minutes slide image

in28minutes slide image

in28minutes slide image

Readings:

Understanding Database Fundamentals - Availability and Durability

in28minutes slide image

in28minutes slide image

in28minutes slide image

in28minutes slide image

Understanding Database Fundamentals - RTO and RPO

in28minutes slide image

in28minutes slide image

in28minutes slide image

Understanding Database Fundamentals - Read Replicas

in28minutes slide image

in28minutes slide image

Understanding Database Fundamentals - Data Consistency

in28minutes slide image

Understanding Database Fundamentals - Choosing Databases

in28minutes slide image

in28minutes slide image

OLTP Relational Databases in Google Cloud - Cloud SQL and Cloud Spanner

in28minutes slide image

OLAP Relational Databases in Google Cloud - BigQuery

in28minutes slide image

in28minutes slide image

NoSQL Databases in Google Cloud - Firestone, Datastore and BigTable

in28minutes slide image

in28minutes slide image

Readings:

In Memory Database in Google Cloud - Memorystore

in28minutes slide image

Databases in Google Cloud Platform - A Quick Review

in28minutes slide image

Databases in Google Cloud Platform - Scenarios

in28minutes slide image

Exploring Databases in Google Cloud Platform

Getting Started with Cloud SQL

in28minutes slide image

Demo - Playing with CloudSQL

  • To begin with Cloud SQL, in search bar, type Cloud SQL and select SQL

    in28minutes demo image

  • Click on create instance, select the database provider, configure it and create the instance.

    in28minutes demo image

  • Once your instance is up, create the database.

    in28minutes demo image

  • To interact with database (performing database related operations like creating tables etc), go to Overview > Connect using Cloud Shell

    in28minutes demo image

    in28minutes demo image

  • Once connected to your database, you can perform your db related tasks.

Commands Used in this demo

# Cloud SQL
gcloud sql connect my-first-cloud-sql-instance --user=root --quiet
gcloud config set project glowing-furnace-304608
gcloud sql connect my-first-cloud-sql-instance --user=root --quiet
use todos
create table user (id integer, username varchar(30) );
describe user;
insert into user values (1, 'Ranga');
select * from user;

Understanding CloudSQL Features

in28minutes slide image

in28minutes slide image

Getting Started with Cloud Spanner

in28minutes slide image

Demo - Playing with Cloud Spanner

  • Search Bar > Cloud Spanner > Create Instance

    in28minutes demo image

  • Configure it as per your requirements.

    in28minutes demo image

  • In 'Allocate Compute Capacity', you can either choose 'node' or 'processing unit' (it is introduced recently).

  • Once cloud spanner instance is created, proceed with the database and table creation.

    in28minutes demo image

    in28minutes demo image

    # Cloud Spanner
    CREATE TABLE Users (
    UserId   INT64 NOT NULL,
    UserName  STRING(1024)
    ) PRIMARY KEY(UserId);
    

Getting Started with Cloud Datastore and Cloud Firestore

in28minutes slide image

Demo - Playing with Firestore

  • Search Bar > Firestore > Select desired mode. Cloud Firestore is the next generation of cloud Datastore. So, if you're creating new projects then the recommendation is to go for Native mode. However, if you have old Datastore projects that you are moving over to Firestore then the recommendation is to go with Datastore mode. Remember, once you choose the mode, it will be permanent for your project.

    in28minutes demo image

  • Once mode is chosen, select the location, which can be regional or multi-regional.

  • After doing all above and click on 'create database' to create the database.

    in28minutes demo image

  • Now, to add data into the database, click on 'start collection'. A collection is a set of one or more documents that contain data. It is similar to tables in relational database. Once collection is created, to store data, you have to create document under which you can define your fields.

    in28minutes demo image

  • One of the important things to remember about Datastore or Firestore is the fact that it is hierarchical. It means inside a document, you can add another collection.

Getting Started with Cloud BigTable

in28minutes slide image

in28minutes slide image

Getting Started with Memorystore

in28minutes slide image

Demo - Playing with Memorystore

  • Search Bar > Memorystore > Create Instance (for redis or memcached, based on your requirements)

    in28minutes demo image

  • Provide configuration details and click on create.

Getting Started with BigQuery

in28minutes slide image

in28minutes slide image

Playing with Cloud SQL, BigQuery and Big Table from Command Line

in28minutes slide image

in28minutes slide image

in28minutes slide image

Importing and Exporting Relational Databases

Whenever you look at any of the import or export scenarios in Google Cloud platform, you would see that typically cloud storage is involved. Whenever you'd want to move data from somewhere to somewhere, you would first move it to cloud storage and then move it to the destination and that's the reason why you would see that most of these services support export to and from cloud storage.

in28minutes slide image

Importing and Exporting NoSQL Databases

in28minutes slide image

Databases in Google Cloud Platform - Summary

in28minutes slide image

Asynchronous Communication in Google Cloud with Cloud Pub Sub

Understanding the need for Asynchronous Communication

in28minutes slide image

in28minutes slide image

Readings:

Getting Started with Cloud Pub Sub

in28minutes slide image

in28minutes slide image

Readings:

Exploring Cloud Pub Sub - Publishing and Consuming a Message

in28minutes slide image

in28minutes slide image

Demo - Playing with Pub/Sub

Pub/Sub Demo

in28minutes slide image

Few Commands for Reference

> gcloud config set project <project_name>

> gcloud pubsub topics create <topic_name>

> gcloud pubsub subscriptions create <subscription_name> --topic=<topic_name>

> gcloud pubsub topics publish <topic_name> --message=<message_content>

> gcloud pubsub subscriptions pull <subscription_name>

> gcloud pubsub subscriptions pull <subscription_name> --auto-ack

> gcloud pubsub topics list

> gcloud pubsub topics delete <topic_name>

> gcloud pubsub topics list-subscriptions <topic_name>

Private Networks in Google Cloud - Cloud VPC

Understanding the need for Google Cloud VPC - Virtual Private Cloud

in28minutes slide image

in28minutes slide image

Readings:

Understanding the need for VPC subnets

in28minutes slide image

in28minutes slide image

Readings:

Creating VPCs and Subnets in GCP

in28minutes slide image

in28minutes slide image

in28minutes slide image

Follow below links to see the creation of VPCs in GCP

Readings:

Understanding Firewall Rules in GCP

in28minutes slide image

in28minutes slide image

Getting Started with Shared VPC

in28minutes slide image

Getting Started with VPC Peering

in28minutes slide image

Implementing Hybrid Cloud with Cloud VPN and Cloud Interconnect

in28minutes slide image

in28minutes slide image

in28minutes slide image

Readings:

Operations in Google Cloud Platform

In this section, let's look at how you can perform operations in the cloud. Developing applications is important. However, maintaining applications and maintaining them in production is very important as well. That's where monitoring, logging, tracing, debugging, and all these kind of things become really, really important.

Getting Started with Google Cloud Monitoring

in28minutes slide image

in28minutes slide image

in28minutes slide image

Readings:

Getting Started with Google Cloud Logging

in28minutes slide image

in28minutes slide image

Exploring Google Cloud Logging - Audit Logs

in28minutes slide image

in28minutes slide image

in28minutes slide image

Exploring Google Cloud Logging - Routing Logs and Exports

in28minutes slide image

in28minutes slide image

in28minutes slide image

Readings:

Creating a Cloud Storage Bucket and Cloud Function

This is a practice section where you need to create a bucket and then associate a cloud function to it which will be triggered as soon as any object is uploaded to this bucket. In this cloud function you can do implement anything which generates a log when an object is uploaded to bucket.

The whole purpose of this exercise is to demonstrate the cloud logging.

Getting Started with Google Cloud Trace

in28minutes slide image

Readings:

Getting Started with Google Cloud Debugger

in28minutes slide image

Cloud Profiler and Error Reporting

in28minutes slide image

in28minutes slide image

Scenarios - Operations in GCP

in28minutes slide image

Organizations and IAM - Organizing Google Cloud Resources

Organizing Google Cloud Resources - Projects, Folders and Organization

in28minutes slide image

in28minutes slide image

Note

In a free tier, we don't have organization and folders. We directly create projects.

Readings:

Exploring Billing Accounts

in28minutes slide image

in28minutes slide image

Understanding IAM Best Practice

in28minutes slide image

Understanding User Identity Management in GCP

in28minutes slide image

in28minutes slide image

Exploring IAM Members and Identities

Let's look at different types of IAM Members or Identities:

in28minutes slide image

in28minutes slide image

Readings:

Understanding Organization Policy Service

in28minutes slide image

Note

Organization policy always overrides whatever is configured in IAM. So, if an organization policy prohibits the creation of resources in, let's say, a specific region even though a user might have that access through IAM, he will not able to create the resource in that specific region because Organization policy has the highest priority.

Exploring IAM policy at multiple levels - Resource Hierarchy

in28minutes slide image

Readings:

Exploring IAM Predefined Roles - Organization, Billing and Project

in28minutes slide image

in28minutes slide image

in28minutes slide image

Exploring IAM Predefined Roles - Google Compute Engine

in28minutes slide image

Exploring IAM Predefined Roles - Google App Engine

in28minutes slide image

Exploring IAM Predefined Roles - Scenarios

in28minutes slide image

Exploring IAM Predefined Roles - Google Kubernetes Engine

in28minutes slide image

Exploring IAM Predefined Roles - Google Cloud Storage

in28minutes slide image

Exploring IAM Predefined Roles - Google Cloud BigQuery

in28minutes slide image

Exploring IAM Predefined Roles - Logging Service Accounts

in28minutes slide image

Other Important IAM Roles

in28minutes slide image

SSHing into Linux VMs

in28minutes slide image

in28minutes slide image

Exploring IAM Scenarios

in28minutes slide image

Exploring Google Cloud Platform - GCP - Pricing Calculator

in28minutes slide image

Click here to access Google Price Calculator.

Google Cloud Platform - Other Important Services

Getting Started with Cloud Deployment Manager

in28minutes slide image

in28minutes slide image

Understanding Cloud Deployment Manager

in28minutes slide image

in28minutes slide image

in28minutes slide image

Getting Started with Cloud Marketplace

in28minutes slide image

Getting Started with Cloud DNS

in28minutes slide image

in28minutes slide image

Getting Started with Cloud Dataflow

in28minutes slide image

Readings:

Getting Started with Cloud Dataproc

in28minutes slide image

Readings:

References

About

This repo consists study material related GCP ACE certificate which is heavily based on Udemy course by in28minutes

Topics

Resources

Stars

Watchers

Forks