4 Core Compute Options with Google Cloud Platform (GCP)

by

Google Cloud Platform (GCP) may not be as common of a household name as Amazon Web Services (AWS), but that’s rapidly changing. GCP is one of the “big three” public cloud providers in the market, along with AWS and Microsoft Azure. GCP is riding on top of one of the largest networks in the globe – Google’s network. Brilliant! This is why some of the world’s largest companies are running their core apps on GCP, including Spotify, Evernote, Home Depot, Snapchat, Best Buy, Coca-Cola, Quizlet, Ubisoft, HSBC, and much more.

When it comes to fundamentals of any cloud, much of the concepts are similar. If you have experience with AWS or Azure, you’re likely going to pick up GCP with little effort. However, if you’re new to cloud concepts and architectures, or if you’re interested in understanding some Google Cloud Platform offerings with respect to Cloud computing – keep reading.

Why Google Cloud Platform?

Google is massive. For many, their name is an eponym for “The Internet” and is used as a verb representing the act of searching for accurate answers to any question in milliseconds. When you choose GCP as your cloud platform, you’re choosing Google as your partner.

Google Cloud Platform (GCP) is a hosted platform solution running on geographically dispersed data centers interconnected with a software-defined network on top of a fiber backbone.

google-network

Although the future-proof infrastructure is impressive, it’s the solutions Google provides on top it that really make GCP shine. Whether you’re doing powerful data and analytics, serverless computing, scalable security, streaming media, global commerce, IoT, or anything that requires highly available, auto scalable computing around the globe, GCP can handle it. Another beauty of GCP is you can use it as an Infrastructure-as-a-Service (Iaas), a Platform-as-a-Service (PaaS), or as a Software-as-a-Service (SaaS) solution.

With an IaaS approach, you’ll still have IT Ops and SysOps managing all essential components of the cloud environment, including their health, function, performance, backups and so on. This includes CPU, Memory, Disks, Interfaces, Instances, Networking, the full gamut.

With PaaS approach, you’ll start to see the trend from SysOps to DevOps, where the systems you’re managing are more related to availability, performance, and cost. You’ll be concerned with architecture, load-balancing, autoscaling, infrastructure automation, and so on.

Finally, with a SaaS approach, you reach the No Ops level of infrastructure, where you’re simply managing your resources (such as code) and access to those resources. At this level, you’re managing just the applications hosted in a Google-managed cloud.

Google breaks their Products and Services down to 10 categories

  • Compute
  • Storage & Database
  • Networking
  • Big Data
  • Identity & Security
  • Internet of Things
  • API Platform & Ecosystems
  • Management Tools
  • Machine Learning
  • Developer Tools

In this article, we’ll be doing a quick overview of the Compute category, which is broken into four sub-categories of computing:

  1. Google Compute Engine (GCE)
  2. Google Container Engine (GKE)
  3. Google App Engine (GAE)
  4. Google Ancillary Cloud Functions

Google Compute Engine (GCE)

gcp-gce.png

Google Compute Engine, better known as GCE, is where most folks will be familiar. This is part of Google’s IaaS offering, where you can build high-performance, fault-tolerant, massively scalable compute nodes to handle your application’s needs. This is the bread and butter of Google Cloud Platform.

If you’re a System/Infrastructure Admin or Engineer familiar with Virtual Machines, this is where you’ll spend much of your time. Here is where you’ll build, customize, manage resources and perform most administrative tasks regarding VM instances in the GCP cloud.

Some features include:

  • Predefined Machine Types
  • Custom Machine Types
  • Persistent Disks
  • Local SSD
  • Transparent Maintenance
  • Global Load Balancing
  • Linux and Windows support
  • Batch Processing
  • Compliance and Security
  • Per-minute Billing
  • Automatic Discounts
  • Containers

Google Container Engine (GKE)

gcp-gke.png
Google Container Engine (GKE) is a managed Kubernetes environment for deploying containerized applications. Kubernetes is an open source framework for container management and automation which is based on Google’s actual internal container software. You could run Kubernetes anywhere, but with GKE you’re getting a fully-managed environment with SLAs, autoscaling, Stackdriver monitoring, Cloud IAM integration, and much more.

Google has been running production container workloads since 2002. This fact is astonishing considering that most folks only started hearing about containers a few years ago. By choosing GKE, you’re allowing Google to manage the Kubernetes Master nodes of your Kubernetes clusters, which is essentially the management plane. This means GCP is handling all the integrations to backend services like Stackdriver and IAM, as well as the software architecture and implementation so all you have to worry about are the containers themselves.

Google App Engine

gcp-gae.png
Google App Engine (GAE) is the No Ops PaaS offering in GCP.  If you don’t want to manage any infrastructure whatsoever (who cares about VMs anyways?), then GAE may be an option for you. Google App Engine is a fully managed platform for organizations to focus on code, without having to worry about infrastructure performance, maintenance, load balancing, scaling, etc. – handing those laborious tasks over to Google to manage.  Some features include:

  • Fully managed
  • Language variety – Node.js, Java, Ruby, C#, Go, Python, PHP, etc.
  • Automatic scaling
  • Custom runtimes
  • Integrated with Google Stackdriver for monitoring, logging, and diagnostics
  • App versioning
  • Test/QA
  • Security

With App Engine, an application is broken down into many small pieces called services. These individual services are comprised of source code and a configuration file that describes the services’ runtime and performance modifications, as well as the version. By logically breaking services up, developers can better manage large applications more modularly. A great example of production GAE is Snapchat, which was founded entirely on this platform.

Cloud Functions

gcp-cloud-functions.png
Can we abstract computing even further? Absolutely. Google Cloud Functions is a fully serverless environment designed for single-purpose functions that are triggered when certain events happen in your cloud infrastructure. Cloud Functions work by watching or events, and upon witnessing, executing Javascript code in Node.js.

An event can be can be something that happens in your cloud environment – be it a message in Cloud Pub/Sub, some HTTP request, a change to a database, some file added to Cloud Storage, or maybe the creation of a new virtual machine instance. A Cloud Function is simply a response to some event happening. Therefore, you do not need to manage any servers, software, frameworks, runtime environment – this is truly serverless event-based microservices.

What Else?

In this article, we looked at the four core computing products offered by GCP – Google Compute Engine (GCE), Goole Container Engine (GKE), Google App Engine (GAE), and Google Cloud Functions. These computing platforms provide customers with a huge variety of options, whether taking an Infrastructure approach, Platform approach, or purely software approach – Google has it covered.

We’ve barely touched the surface of Google Cloud Platform’s immense portfolio of productions and solutions with respect to everything beyond basic computing. Stay tuned for further articles where share insights about networking, storage, big data, and more!