The purpose of this article is to put an eye on this emerging technology which is increasing making bigger space day by day. Let‘s dive into the technological term “Cloud Computing”
- What is Cloud Computing ?
- What is Google Compute Engine?
- How to launch OS on GCP in any part of Google Data Center?
- What is VPC ?
- What is VPC Peering?
- What is Docker ?
- What is Kubernetes ?
- What is Load Balancer ?
- What is IAM?
What is Cloud Computing ?
Lets first understand what is actual ongoing scenario, for building any small or large company, we generally requires an Operating System(OS) to run any program and to boot or launch any OS we need memory i.e. RAM/CPU. And we also need physical hardware like Hard Disk.
So you have not seen the future yet that your idea which you are going to implement will be that blockbuster that everyone will run behind it, may be it fails or may be it takes years. So is it feasible to buy all these RAM/CPU, Hardware and other devices on your own?
I think you have the answer. “NO”. Right?
So in this dilemma, Google came with its very important service i.e. Google Cloud Platform as Infrastructure as a Service (IaaS). By this platform, anyone in the world can take the services of their requirement like CPU/RAM, storage, bridges, firewall and many more for their use just like on a rental basis. We have to pay just for minute to minute/hr to hr/ day to day use.
Here Google is providing its services, so acting as Service Providers(SP).This new technology is known as Cloud Computing.
Now the incoming start-ups are no longer wants to invest in purchasing the physical hardware and they are moving towards these Service Providers and can put their main focus on their actual idea and can invest wisely.
Believe me Google has such large Data Centers all over the globe which can fulfill every single person requirement. It somewhat looks like this from inside.
By this platform, we can even launch our one OS in Singapore and other in Las Vegas while sitting in India and Google will manage all these behind for us and will provide the Google private network for transferring between them.
What is Google Compute Engine?
Google provide us facility to hire their RAM/CPU (together called Compute) from any of their Data Center, providing Compute as a Service to user.
Google Compute Engine provides Infrastructure as a Service as a component of Google Cloud Platform which is built on the global infrastructure, that runs the Google’s search engine, Gmail, YouTube and other services. Google Compute Engine enables users to launch virtual machines on demand.
The interesting fact about this is that the space which we are taking in Google Data Center for our use is the same space upon which Google is running their services like Gmail, YouTube etc.
And by this, We get and opportunity to do any transfer under Google private network, this means that this time our connection is fast, more secure and reliable.
So how to launch OS on GCP in any part of Google Data Center?
There is not much rocket science behind it. We can do it using graphical interface as well as command line interface as well as Google cloud shell also.
Below is the graphical way for you:
What is VPC ?
VPC stands for Virtual Private Cloud.
Google say don’t invest much on land and network for your startup. Let me handle that part for you and put your more focus on your idea.
So here Google comes with Network as a Service.
By this we can activate as much as labs for our company with the Google Private connection facility and can run thousands of instances on the top of these labs. The main advantage of these labs are our OS/instance will be going to launch within a second. And you know how much time any laptop or system generally takes to setup any OS. That’s the power of VPC.
Imagine you can launch any of your OS within a second in any part of the World because Google has that much strong implementation behind it just for you.
What is VPC Peering?
Lets understand this with the help of a sweet example. Suppose you have opened one lab virtually in Singapore with the help of GCP. And you opened another in Las Vegas. On the top of these labs, you created 1–1 instances.
Now if you want to transfer files/data between these two labs, their can be two ways:
- By using public internet: Like Jio or airtel or any other network. But your data must be secure and the public internet is not reliable and that much secure and not much fast also. So we should drop this plan.
- Google Private Network: Google says let give me responsibility for this transfering under my private network which is very much secure and fast.
This transfer will be done under Google private network and is done by connecting both the labs which we created above, this is called VPC Peering.
What is Docker ?
Nowadays container technology is one of the emerging technology coming into market. Docker is a container technology that is used to achieve virtualization .On the top of physical hardware we can run Docker and on the top of it we can launch thousands of OS within a second. And here these OS are called Containers.
Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. And it is written in GO language.
The most important advantage of Docker is if any of the container fails in between, Docker will launch its replica. That is very powerful technology.
But every coin has two sides, the only and only disadvantage of Docker is that if any of the container fails, we have to manually tell the Docker that launch its replica, So it is not an automatic in a way.
What is Kubernetes ?
Kubernetes, also know as K8s is very powerful technology in Cloud Computing. As discussed above, the limitation of Docker becomes the most important advantage of Kubernetes(k8s).
GCP provides Kubernetes as a Service (KaaS) as Google Kubernetes Engine (GKE) by which Google says I will manage all the containers and docker engine for you and you just focus main on your idea.They basically tells that Google will take care of all the managerial things like OS creation, VPC Peering, Master Node setup and all other.
Now no more we have to do manual work for docker and tells to create replica of container because it is fails, Kubernetes do it for you. GKE creates a Master Node as same as give in below picture and it manages the other physical systems on which docker is running and upon docker thousands of OS are running for clients.
Here, this architecture is known as Master Slave Architecture and slaves are called Nodes. Here every node consists of physical hardware and Docker is installed on the top of it and thousands of OS can be achieve by virtualization within a single second and here these containers are called Pod.
GCP is very much flexible that it says don’t worry, you don’t have to manage these all by yourself, it will manage Master Node for us and we have to just focus on the implementation which we are going to do.
And this architecture in implementation is called Cluster.
Believe me, this is very powerful technology because I have experienced the magical things happening in GCP and this is going to be a BOOM! in upcoming time.
What is Load Balancer ?
Load Balancer has the same meaning as its name only.It manages the clients request’s load for you and distributes them upon different Pods which are available in the Cluster.
The issue any website or application majorly faces is their application should never goes down. So to achieve minimum downtime Load balance is fixed in front of GKE for clients so that equal load of traffic will be going to the pods available in the cluster.
As we know, pictorial representation helps more in understanding so here it is for you.
What is IAM ?
Google Cloud offers Identity and Access Management (IAM), which lets you give more granular access to specific Google Cloud resources and prevents unwanted access to other resources. IAM lets you adopt the security principle of least privilege, so you grant only the necessary access to your resources.
IAM lets you control who (users) has what access (roles) to which resources by setting IAM policies. IAM policies grant specific role(s) to a user giving the user certain permissions.
These are same as we grant or revoke permissions from any of the user in Databases.
That was some little overview of Google Cloud Platform and its services from my side, as i feel everyone should get themselves updated with the new technology.
If you are here, I believe you have really invested your precious time in reading my first article. Thank you very much!
Special thanks to Google Images that became the perfect way of giving visualization for these core concepts and also Google Cloud Platform.