Google Cloud Platform Core Services | Networking Funda
Before we do a deep dive into Google Cloud Platform core services, let’s have a tour to introduce all of the most important core services.
It will also allow you to choose the best fit for your use case.
Google Cloud Platform Core Services:
Google divides the services into the following logical groups:
- Computing and hosting services
- Storage services
- Networking services
- Big data services
- Machine learning (ML) services
- Identity services
- We will have a look at each of these in this chapter.
Computing and hosting services:
We are given a variety of options when it comes to computing in GCP. Depending on our requirements and flexibility, we can choose from one of the following four options.
- Infrastructure as a Service (IaaS): Google Compute Engine (GCE)
- Container as a Service (CaaS): Google Kubernetes Engine (GKE)
- Platform as a Service (PaaS): Google App Engine (GAE)
- Function as a Service (FaaS): Cloud Functions
The choice we make can depend on several factors. For example, do we need full control over our infrastructure, or do we want a fully managed service? Starting with Compute Engine, we have control from a virtual machine (VM) container.
This gives us the most flexibility but also implies that we need to take care of the stack above it. With Cloud Functions, we are very much constrained by the supported programming languages (JavaScript, Python, and Go).
The advantage of Cloud Functions is that you don’t need to worry about infrastructure and scaling. You only concentrate on developing your functions.
If you need to use a language that is not supported by Cloud Functions, you will not be able to use it.
Let’s have a look at each of the compute options and see what is managed by Google for us against the flexibility that we are given:
GCE: GCE is an IaaS offering. It allows the most flexibility as it provides compute infrastructure to provision VM instances. This means that you have full control of the instance hardware and operating system.
You can use standard GCP images or your own custom image. You can control where your VMs and storage are located in terms of regions and zones.
You have granular control over the network, including firewalls and load balancing. With the use of an instance group, you can autoscale your control and your capacity as needed. compute Engine is suitable in most cases, but might not be an optimal solution.
GKE: GKE is a CaaS offering. It allows you to create Kubernetes clusters on-demand, which takes away all of the heavy lifting of installing the clusters yourself.
It leverages Compute Engine for hosting the cluster nodes, but the customer does not need to bother with the infrastructure and can concentrate on writing the code.
The provision cluster can be automatically updated and scaled. The GCP software-defined networks are integrated with GKE and allow users to create network objects, such as load balancers, on-demand when the application is deployed.
Several services integrate with GKE, such as a container repository, which allows you to store and scan your container images.
GAE: GAE is a PaaS offering. It allows you to concentrate on writing your code, while Google takes care of hosting, scaling, monitoring, and updates.
It is targeted at developers who do not need to understand the complexity of the infrastructure.
GAE offers two types of environments, as follows:
Standard: With sets of common languages supported
Flexible: Even more languages, with the possibility of creating a custom runtime With a flexible environment, you lose some out-of-the-box integration, but you gain more flexibility.
GAE is tightly integrated with GCP services including databases and storage. It allows versioning of your application for easy rollouts and rollbacks.
Cloud Functions: Cloud Functions is a FaaS offering. It allows you to concentrate on writing your functions in one of the supported languages.
It is ideal for executing simple tasks for data processing, mobile backends, and IoT.
This service is completely serverless and all of the layers below it are managed by Google.
The functions can be executed using an event trigger or HTTP endpoint. Now that we have studied computing services.
Visit Networking Funda if you want to learn in deep!
https://www.networkingfunda.com/2021/04/google-cloud-platform-core-services.html