Skip to main content

Command Palette

Search for a command to run...

Introduction to GCP: A beginner's guide to Google's Cloud 9

Updated
6 min read

Google’s GCP is the third-highest shareholder in Cloud Computing, following closely after AWS and Azure. I think they’re the best way to break into the cloud, but that’s a rather subjective view. Either way, I’d like to introduce you to GCP.

To give this introduction, I’d be following the guide using three questions.

  1. What is the Cloud?

  2. What is GCP?

  3. Why GCP?

What is "The Cloud"?

First of all, I'm going to answer, what is the cloud?

If you’re reading this, you’ve most likely heard the term “cloud” before, especially in the context of IT. It could be when talking about your phone storage, the internet, or some ambitious founder pitching their new AI-based company. One way or another, you must have heard it somewhere. But what really is “the cloud”?

To truly understand the cloud, we need to go into a little history.
Before anything like the cloud existed and when the internet was still the latest buzz, companies and start-ups of all kinds were in the "On-Premise" world. What this looked like back then was that if I had a start-up and I'm spinning up the latest social media (and I'm calling it faceyourbook.com) but it's first intended 5 users are just my friends and family that I've forced to use the app. When I'm building the servers for it, I'd go to the store, get the compute resources for 5 people, set it up in my room, configure everything and then host it. At this point, it's fine if all 5 of my friends log on to the app at the same time. It won't crash because I got enough resources for 5 users. Now, by some miracle, my app becomes popular overnight and it now has 500 users the next morning, and then it keeps crashing, I won't be surprised, because I only planned for 5 users not 500 so it won't be able to handle the traffic. Now, I'd have to do something called scaling.

Scaling back then meant that I'd have to go back to that store, buy brand new computers that could accommodate my traffic needs, bring all those computers back to my room and then set them up individually. This process alone takes time and there's a possibility that by the time I'm done, my users will have either grown exponentially or reduced, and I'll need to adjust accordingly again. This was a headache for both engineers and companies. Companies that had a lot of money opted to just getting more resources than they'd ever need and then keeping the extras. Smaller companies couldn't afford to do this, and bigger companies were basically wasting those resources, so they got together and agreed on a concept called Time-sharing.

What time-sharing meant for both parties was that the big companies will rent out resources from their large pool to smaller companies while those small companies pay a small fee to use those resources. The bigger companies got money for the resources they already owned, while the smaller ones paid for just what they needed at any time. It was a win-win model.

Over time, those companies decided to add a bit more features to the services they were renting out, which at the time were just the bare infrastructure (infrastructure as a service), to give the smaller ones more convenience to build their applications for a little more money (Platform as a service). This model kept growing until bigger companies started servicing complete applications for a fee (Software as a service).

In one sentence, they were offering a service or services that provide a set of tools that help users or companies spend less time managing and more time creating. That, my friends, is The Cloud.

The cloud (or cloud computing) is showcased under 3 main categories, namely;

  1. Infrastructure as a Service (IAAS): This is the core time-sharing I mentioned earlier. Companies (or Cloud Service Providers) get a bunch of resources and then allow others use those bare resources for a fee. On this, you're responsible for provisioning all the resources how you like them.

  2. Platform as a Service (PAAS): Platform as a service is basically the Infrastructure but with a lot of support from the CSP, you only have to worry about bringing your code and running it.

  3. Software as a Service (SAAS): Think of Google Docs, Google Slides. The infrastructure and platform has been provisioned for you, just bring your data and create.

What is GCP?

Google Cloud Platform, or GCP, is obviously a cloud tool in itself, but it is many, many more.Before I go into that, let me talk about Google Cloud as a whole and make a distinction between Google Cloud, GCP and G Suite.

Google Cloud as a whole is divided into GCP and G Suite (formerly Google Workspace). GCP is the Infrastructure as a service and platform as a service part of Google Cloud which is where you can get storage, compute and other cloud tools, while G Suite is the Software as a service side of things, consisting of a plethora of applications as APIs as well.

Since our focus is on GCP, lets look at it's tools.

GCP Tools

GCP offers a lot of individual tools and features that are too many too list, but most of them fall under ten categorizations, namely:

  1. Compute: Scalable VMs and Containers

  2. Storage: Long and short-term on-demand storage

  3. Database: Relational and non-relational databases

  4. Networking: Manage, connect, secure and scale your networks.

  5. Data Analytics: Collect, store, process, and analyze data.

  6. Developer Tools: Developer specific APIs and Tools

  7. Identity and Security: Policy and compliance tools.

  8. Cloud AI/ML: Create and use ML models

  9. Management Tools: Billings and APIs

  10. Data Transfer: Solutions and services for migration from on-premise or other CSPs

You can view the cheat sheet for (almost) all the cloud tools here.

Why GCP?

At the beginning of this article, I mentioned that I think Google Cloud is the best Cloud Service Provider to use (or at least to begin with) and here are a couple of reasons why. The following are a list of categories where GCP outperform other CSPs.

  1. Kubernetes Expertise: GCP is known for its strong support and optimization for Kubernetes.

  2. Data Analytics: BigQuery's performance and pricing model make it competitive.

  3. Machine Learning and AI**:** GCP offers a comprehensive ML ecosystem and strong TensorFlow support.

  4. Networkig Capabilities: GCP provides a flexible and powerful networking infrastructure.

  5. Global Data Centers: GCP's global network is known for low-latency and high-performance.

  6. Severless Computing: GCP's serverless offerings are competitive and well-integrated.

  7. Identity and Access Management: GCP's Cloud IAM offers granular control and simplicity.

  8. Multi-Cloud and Hybrid Cloud integration: GCP's Anthos provides a consistent platform across environments.

  9. Big Data Solutions: GCP's BigQuery is known for its performance and serverless model.

  10. Security and Compliance: GCP offers advanced security features and identity management.

Aside those, another reason I think GCP is the best is because there are less professionals in this technology compared to the other two. So learning this first give an edge. Finally, GCP has exceptional training material, so for people who are just trying to get in, it's the best way to go.

I hope you’ve been able to learn a thing or two, see you in the next article.

More from this blog

WTF is the Cloud

26 posts