GCP Essentials :: What is GCP
Tags: googlecloud, gcp, cloud
Published: 2020-11-24 18:51:36

GCP is Google Cloud Platform: A cloud infrastructure provided and managed by google cloud team. It provides mainly 4 kinds of services

<p style="text-align: center">
<img src="https://i.ibb.co/DRcm0qz/image.png" alt="image" border="0" />
</p>

A cloud is basically **on-demand availability of resources** for computation / storage **without direct management of user**. So each cloud service provide should have these traits
1. **On demand service** with no human intervention
2. **Vastly covered regions** so that user can choose nearest locations
3. **Resource sharing** to make cost-effective plans
4. Can **grow or shrink the resources** for user at anytime
5. Users should pay for what they use (**pay-as-you-go model**)


The virtualized data-centers like _vultr_ provides you with Infrastructure as a Service (IaaS) that **offers raw compute service** which is managed by the user itself and other platforms like _heroku_ provides **Platform as a Service** (PaaS) that **runs the code** you have written without worrying about the system specific complications.

In IaaS you pay what you allocate (cpus, memory and storage), they replicate how traditional data centers work. PaaS on the other hand lets you pay for what you use.

GCP evolved the cloud computing in such a way that it can provide you IaaS, PaaS and Serverless architecture for your application. Serverless is same as PaaS, but here you will pay only when the event for your application will trigger. 

**Note** If you are not familiar with serverless architecture, I will be starting another series on that also in coming year.

### Networking

Google has invested billion of dollars to make its networking robust which provides highest throughputs and lowest latencies around the globe. 

To do this, GCP is available in multiple regions and zones. A zone is **deployment area** where actually the google cloud resources are located. There can be **multiple zones in the particular region** and all are managed by google cloud team. Regions are the **independent geographic locations**. So the closer the region is, the low latency would be.

**So what is zone then?** Suppose there is a failure in region, now if you would have only one zone in the region, then there might be some downtime in the application or you would have to relocate the application which will eventually provide high latency. So to overcome this issue, you can deploy your application into multiple zones of the region so that if one fails, your application still can respond with low latency and high throughputs.

### Pricing Schemes

Google is the first cloud service that provides per-second billing for their infrastructure as a service. Other services like Compute Engine and Kubernetes Engine are also billed by per-second model

Here is one offer google gives to all their customer that no other cloud gives so-far. If you are thinking that you will be locked in google cloud infrastructure to manage your resources, then you are wrong. GCP services are compatible with open source products. For instance, bigtable uses the interface of the open source database Apache HBase, which gives customers the benefit of code portability

### Security

Google is serving billions of users, so security is always on the minds of the google team. The networking equipment in the data centers are custom designed by Google that use cryptographic signatures to make sure they are booting the correct software. Physically accessing these data centers is limited to only a very small fraction of Google employees. 

So this was for google data centers. GCP also provides a section in cloud console, known as Identity and Access Management which is used to add users to your project and manage what they can see and do on your dashboard. This way you can control who will see what.

If you want to contact me, you can drop a message on the following platforms

+ Email: tbhaxor@gmail.com (Recommended)
+ Twitter: [@tbhaxor](https://twitter.com/tbhaxor)
+ GitHub: [@tbhaxor](https://github.com/tbhaxor)
+ LinkedIn: [@gurkirat--singh](https://www.linkedin.com/in/gurkirat--singh)
+ Instagram: [@_tbhaxor_](https://instagram.com/_tbhaxor_)