Google Cloud Services
Google Cloud Platform – Components
GCP Provides suit of Cloud Services, which help enterprise to run their services in cloud and meets the need of a wide range of cloud computing Customers.
In GCP, most of the services are grouped in to several core categories.
- Computing Resources
- Storage Resources
- Networking Services
- Identity management & Security
- Development Tools
- Management Tools
- Specialized Services
Let’s discuss one by one components and their resources.
GCP Compute resources is IaaS product also called as compute engine. In this customer can create VMs, Choose Operating systems to run packages, perform back up and run maintenance operations.
In addition, Google also offers Kubernetes Engine, which is a Service for managing Containers in clusters.
It is a service from GCP, which Enterprise uses to create VMs, attach persistent storage to those VMs, and make use of other GCP services like Cloud Storage.
VMs run within a low-level service called hypervisor. GCP uses a security hardened version of the KVM hypervisor and provides virtualization on Linux systems running on x86 hardware.
Below figure shows the logical Organization of VM instances running on a physical Server.
GCP provides wide range of VMs with Predefined sizes, but Enterprise can create a customized configuration. When any Enterprise creates a VM, following parameters can be included.
- The Operating Systems
- Size of Persistent Storage
- Adding Graphical Processing units (GPU) for compute-intensive Operation like ML.
- VM Pre-emptible
Kubernetes Engine is used to run containerized Applications on a cluster of Servers. It acts as a single Cluster manager, who coordinates containers running on the servers. No Guest OS runs on the top of the container Manager. Instead Containers uses the Host OS functionality, while the OS and Container Manager ensure isolation between running containers.
Below figure describes Architecture of Containers running on Physical Server.
Users using the Kubernetes Engine are able to describe the compute, Storage, and memory resources for running their services. Once done, Kubernetes Engine will provision these resources.
Kubernetes Engine also monitors Server’s health in cluster and automatically repairs problems like failed servers. It also supports Auto-Scaling, in case load of your application increases.
APP Engine is PaaS offering from GCP. Using APP Engine, developers create applications using languages like java, Go, Python, Node.js, and deploy their code to a Serverless applications Environment.
App Engine manages underlying compute and network Infrastructure and developers need not to configure VMs and its related Network & Security components. APP Engine is best suited for web and mobile backend Applications.
APP Engine is available in two modes: Standard and Flexible
Standard APP Engine Environment:
Enterprise run their Applications in a language specific sandbox, due to which their Applications are isolated from Underlying Server OS as well as other Applications running on that server.
This Environment is well suited to applications, that are written in one of the supported language and do not need OS packages or other complied software that would have to be installed along with the application code.
Flexible APP Engine Environment:
In this, Enterprise runs Docker containers in the APP Engine Environment. This Environment works well in cases where you have applications code, but also need Libraries or third party Software installed.
It provides more options, like ability to work with background processes and write to local disk.
It is a light weight compute options that are well suited to Event-Driven Processes. Cloud Functions runs code in response to an event like File being uploaded to Cloud Storage or Message being written to a message queue.
It is mostly used to call other services like third party API, or other GCP Services. It is also a Servers less Product, where users only need to provide code and don’t require to configure VMs or create containers.
Cloud Functions also support automatic Auto-Scaling feature, as load increases.