Google Cloud Flashcards
Definition: Resource Management Tool
Helps track / rename / update / create / delete projects
Identity and Access Management
Who has access to change folders / policies within the organisation node
Compute Engine
Google cloud product that offers VMs (Virtual Machines) as a service
Service Account
Permissions given to the VMs (Virtual Machines) themselves rather than specific people
Ways to interact with Google Cloud
- Google Cloud console (GUI)
- Cloud SDK and Cloud Shell
- APIs
- Cloud Mobile App
Virtual Private Cloud (VPC)
A secure, individual, private cloud-computing model hosted within a public cloud.
The firewall (protection) and the connections routing are already available with this option.
Tagging options are available to eg set a firewall rule for all instances called “web”.
Cloud Marketplace
Instance from where the Compute Engines (VMs) can be easily started as well as the third-party VMs
Preemtible & Spot VMs
Used for the work where the human supervision is not needed such as batch analysis jobs in a large dataset.
Unlike regular Compute Engines, these processes cannot be stopped so these resources cannot be re-allocated to a different task. Compute Engines also allow you to choose your machine type parameters.
Cloud Load Balancing
Helps manage traffic depending on the demand spikes
Cloud Domain Name Server (DNS) / Google’s free 8. 8. 8. 8 service
Translates the public host name into IP addresses
Cloud CDN (Contact delivery network)
So that the customers experience lower latencies, these are the services located close to the customers. Helps store content close to the end-users
Kubernetes Engine
Allows to have cloud services from different providers, diversify and not be stuck to Google Cloud only.
A product that helps manage and scale containerised applications.
There are pods that include max 1 container.
Groups of pods are a cluster.
Firewall Rules (example)
When you have several VMs connected to your VPC (Virtual Private Cloud) network, you cannot simply transmit info from one VM to another.
Firewall rules must be in place to allow for such interactions.
allow-icmp rule allows to send to the external IP
allow-custom rule allows to send to the internal IP
allow-ssh allows to start a Secure Shell instance on the web
VPC
Google Cloud Virtual Private Cloud (VPC) provides networking functionality to Compute Engine virtual machine (VM) instances, Kubernetes Engine containers, and App Engine flexible environment. In other words, without a VPC network you cannot create VM instances, containers, or App Engine applications. Therefore, each Google Cloud project has a default network to get you started.
You can think of a VPC network as similar to a physical network, except that it is virtualized within Google Cloud. A VPC network is a global resource that consists of a list of regional virtual subnetworks (subnets) in data centers, all connected by a global wide area network (WAN). VPC networks are logically isolated from each other in Google Cloud.
5 storage products
- Cloud Storage
- Cloud SQL
- Cloud Spanner
- Firestore
- Cloud Bigtable
Cloud Storage
Object storage rather than file storage or block storage.
Object storage contains packaged binary info of the data, as well as metadata.
The data is saved in the form of a URL.
Video, Pics, Audio
The data is stored into “buckets”, each piece with a unique name and a global identifier, i.e. location.
Has the following storage classes: Standard storage; Nearline Storage, Coldline Storage and Archive Storage.
Immutable object
Object itself cannot be modified but its copy is created which is the one that is being modified.
Cloud SQL
Helps with mundane tasks:
- Applying patches and updates
- Managing backups
- Configuring replications
Used with applications that require large database management
Cloud Spanner
Scales horizontally
Can use SQL
Used with applications with high number of inputs/outputs per second, where JOINs and INDEXing is used
Firestore
Scales horizontally
NoSQL cloud database
Offline availability, good when there is a need to read, write, delete something across the mobile devices.
Incoming data –> documents –> collections
Cloud Bigtable
NoSQL, big data database service.
Powers gmail, maps etc
Performs well in low latency situations
Suitable for large data.
Containers
Allows scalability like in PaaS yet flexibility as in IaaS.
Anthos
Google’s multi-cloud / hybrid services management.
Developing applications in the cloud
App Engine - platform for developing and hosting web applications at scale
App Engine environments
- Standard: applications run in a sandbox environment which is secure and constantly updated
- Flexible: type of container can be specified; custom configurations and libraries, custom runtime
Supporting APIs with: Cloud endpoints & Apigee API Management & API Gateway // API
Management tools for the APIs.
API: API basically represents an interface that the users of that programme “connect to”. The interface stays the same but the underlying configurations can change. The users of the Programme do not need to keep re-connecting because of the changes made to the programme as long as the interface stays the same.
- Apigee API: good for managing several APIs and seeing their costs
- API Gateway: helps to have REST Proxy so that all the APIs of a single service provider can run, regardless of their underlying architecture (how the API was made, using one language or another). It basically helps in unifying the APIs by one service provider.
Cloud run
Helps build apps in cloud. It’s serverless and fast.
Cloud Source Repositories
Acts as a git repository.
Allows google diagnostics.
Cloud Functions
Allows to create functions to do the required manipulations, eg changing a format of a picture, resizing it.
Terraform
Deploys the infrastructure.
It allows to run the VPC and its VMs using the Cloud SSH. I can create files using VS Code (in the “Open Editor” field), specify needed variables and simply create the VM instances as well as the firewall rules without doing it manually each time through the GUI.
Cloud Trace
Gathers info about latency, response time etc to measure the performance of the application
Cloud Profiler
Helps understand which apps consume most resources by showing CPU usage stats.