Google Cloud Platform (GCP)
This article talks about all the services in Google Cloud Platform which I learnt from 2 days of workshop organised by LinuxWord Informatics Pvt Ltd under the mentorship of World record holder "Mr Vimal Daga" sir, from basic to advance level.
WHAT IS GCP? : Google provides a variety of services like Gmail, Youtube, etc. and one among such services is GCP by which we can utilise the power of Google Datacentres from one single os. Nowadays, all the companies need resources for projects, like RAM, CPU, storage units, networking card, etc., so, in order to eliminate the need of investing hefty amount of money on these resources, concept of cloud technology comes into play. GCP is a public cloud which provides these resources. It provides On-Demand services to the users. It's just that user have to select the services to run in any region of the world.
SERVICES: GCP provides various services including: Google Compute Engine(GCE), VPC (Virtual Private Cloud) networking, Google Kubernetes Engine(GKE), Load Balancer, SQL, IAM, Google App Engine(GAE), etc.
VM INSTANCE- To launch operating system/virtual machine with desired RAM/CPU and image of our choice. VPC NETWORK- To connect instances, GKE containers under a VPC located in different regions via private network/IP in order to do any work, like webserver connecting to database. SECURITY- Firewall controls inbound and outbound traffic and allows networking with only selected outsources and blocks the rest. GKE- Though we learned Docker for containerisation but since it is not good for managing purpose, we need Kubernetes which works on master-slave concept and google provides this service. We just need to create a Cluster in which we create one node with desired number of pods/OS and then create the replicas of the same node and then GKE will complete the entire setup, give it to us and manages them internally. In case any node crashes, it recreates it automatically so that work keeps on going smoothly. To perform Kubernetes operations like deployment, replication, etc, we connect them using 'kubectl.exe'.
LOAD BALANCER- It manages the clients requests load and distributes them upto different Pods which are available in a node of a Cluster so that load on a single server never increases and the server never goes down. SQL- It is a Database provided by GCP. We can launch a webserver on gcp cloud by connecting it to mysql instance which has database inside it. IAM- By this we can create multiple users, giving some powers to certain users. it helps in managing our work. GAE- This deploys our code instantly in a single command. If we change anything in our code, a single command will launch another version of pour application.
PROJECT- In order to use any of the resources and services in GCP, we need to create a Project. It sets APIs and billing and monitors everything what we're doing, keeping our work organised, managed and secure. We can create/access projects from both WebUI and CLI. GCP provides us Google Cloud Shell, which can do almost all CLI operations in google cloud. Also we can install gcloud sdk if we want to do these operations from command prompt. To run our project from CLI, we must know certain Commands:---
Commands of Cloud--- -gcloud projects create projectId --name=projectName (it'll create a new project), gcloud project list (to see whole poject list), gcloud service list (it'll show services provided by gcp), gcloud services list --available --project projectId (it'll show all sevices available for this project, gcloud compute ssh VMIstanceName (it'll take us inside the os). Commands of Kubernetes--- To use these commands we need to install kubectl.exe first. kubectl.exe get pods (it'll show all in os in node and their status), kubectl.exe get nodes (it'll show all the nodes in a cluster), kubectl.exe create deployment osName --image=desirableImage (it'll create an os and launch it with particular image), kubectl.exe scale deployment osName --replica=3 (it'll create copies of the same os), kubectl.exe expose deployment osName --type=LoadBalancer --port=80 (it'll crate a load balancer).
We've learned much more new concepts throughout this training. This was a summary to whatever was taught by Vimal Daga sir. Thankyou to sir for making us learn all the new technology in a very easy and logical way.
- Thanks for reading my article!