What are the four ways to interact with GCP?

What are the four ways to interact with GCP?

In recent years, there has been a huge growth in the space of Cloud Computing. There are a huge number of Cloud players in the market including Microsoft Azure, Amazon Web Services, Google Cloud Platform, etc. In this blog article, we shall explore Google’s Cloud Platform – what makes it’s unique and understand the growing list of services offered by Google.

What is Google Cloud Platform?

Google Cloud Platform (GCP) is a public cloud platform that offers a variety of services in Computing, Networking, Storage, Big Data, Machine Learning, etc. It runs on the same Cloud infrastructure that Google uses internally for its end-user products, such as Google Search, Gmail, Google Photos and YouTube.

Google announced its first cloud tool, Google App Engine in 2008 and it continued to add more tools and services. It was first released on October 6, 2011. Like all Cloud Providers, Google constantly adds new tools and features in preview, alpha, or beta, which will likely make it to the general public.

Google Cloud Platform is regarded as the third biggest cloud provider in terms of revenue behind AWS in the first place and Microsoft Azure in second.

What’s Unique?

  • Google was the first major cloud provider to deliver per-second billing for its Infrastructure-as-a-Service compute offering, Google Compute Engine. Per-second billing is offered for users of Compute Engine, Kubernetes Engine (container infrastructure as a service), Cloud Dataproc (the open-source Big Data system Hadoop as a service), and App Engine flexible environment VMs (a Platform as a Service).
  • Google Compute Engine offers automatically applied sustained-use discounts, which are automatic discounts that you get for running a virtual-machine instance for a significant portion of the billing month. Specifically, when you run an instance for more than 25% of a month, Compute Engine automatically gives you a discount for every incremental minute you use for that instance.

Key Concepts

GCP services are available in locations across North America, South America, Europe, Asia, and Australia. These locations are divided into regions and zones.

Regions are independent geographic areas that consist of zones. Locations within regions tend to have round-trip network latencies of under <1ms on the 95th percentile. A zone is a deployment area for Google Cloud Platform resources within a region. Think of a zone as a single failure domain within a region. In order to deploy fault-tolerant applications with high availability, you should deploy your applications across multiple zones in a region to help protect against unexpected failures

Projects: Any GCP resources that you allocate/create must belong to a project. A project is made up of the settings, permissions, and other metadata that describe your applications. Each GCP project has:

  • A project name, – a name that you can provide
  • A project ID – you can provide or GCP can provide for you.
  • A project number – which GCP provides.

Products & Services

Google Cloud Platform (GCP) services are categorized into the following high-level categories:

  • Computing and hosting
  • Storage
  • Databases
  • Networking
  • Big data
  • Machine learning
1. Computing and Hosting

The computing and hosting services can be classified into the following:

  • Cloud Functions (Serverless computing): With Cloud Function, you can create single-purpose functions that are attached to events raised by our infrastructure, app or services. E.g. You can create a Cloud Functions that return a simple mathematical calculation once the values are passed to the function. The code executes in a fully managed environment; you don’t need to provision any infrastructure or worry about managing any servers.
  • App Engine (platform as a service): A Platform for developing and hosting web applications in Google-managed data centers. You can build your App in two types of environments: Standard & Flexible which supports multiple languages including Python, Java, PHP, Go, Node JS, etc.
  • Google Kubernetes Engine (containers as a service): Built on the open-source Kubernetes system, containers give you the flexibility of on-premises or hybrid clouds to deploy, manage and scale containerized apps.
  • Compute Engine (Virtual Machine): By using virtual machines (VMs), called instances, you can build your application, much like you would if you had your own hardware infrastructure
2. Storage Services:

Google provides various types of storage services to keep your application/media files, backup, and other file formats. Google Cloud Storage provides scalable & large-capacity data storage and comes in different varieties:

  • Multi-Regional provides maximum availability and geo-redundancy.
  • Regional provides high availability and a localized storage location.
  • Nearline provides low-cost archival storage ideal for data accessed less than once a month.
  • Coldline provides the lowest-cost archival storage for backup and disaster recovery.

Persistent disks on Compute Engine are used as primary storage for your instances. Compute Engine offers both hard-disk-based persistent disks, called standard persistent disks and solid-state persistent disks (SSD).

Finally, fully managed NFS file servers in Cloud Filestore which can be used to store data from applications running on Compute Engine VM instances or GKE clusters.

3. Database services

GCPs database services support both SQL and NoSQL services. This includes:

  • Cloud SQL a fully-managed database service that provides MySQL, PostgreSQL, or SQL Server (currently in beta).
  • Cloud Spanner a clustered relational database management system (RDBMS) that Google uses for several of its own services. It offers transactional consistency at a global scale, schemas, SQL querying, and automatic, synchronous replication for high availability.
  • Cloud Firestore, for document-like data, and Cloud Bigtable, for tabular data are the two options for NoSQL data storage.
4. Networking Services

GCP provides a range of networking services for your Compute Engine. This includes:

  • A Virtual Private Cloud (VPC) provides a set of networking services that your Compute Engine uses. Note that an instance can be attached to only one network. Every VPC project has a default network. You can create additional networks in your project, but networks cannot be shared between projects.
  • Firewall rules govern traffic coming into instances on a network. A route lets you implement more advanced networking functions in your instances, such as creating VPNs.
  • Google offers two types of load balancing options:
    • Network load balancing – distribute traffic among server instances in the same region based on incoming IP protocol data, such as address, port, and protocol.
    • HTTP(S) load balancing – distribute traffic across regions so you can ensure that requests are routed to the closest region or, in the event of a failure or over-capacity limitations, to a healthy instance in the next closest region.
  • Cloud DNS: Publish and maintain the Domain Name System (DNS) records.
5. Big Data Services
  • Big Query (Data Analysis): A big data analytics web service for processing very large read-only data sets. BigQuery is designed for analyzing data on the order of billions of rows, using a SQL-like syntax.
  • Google Cloud Dataflow provides data processing services for both batch and real-time data streaming applications. It’s a great tool for extract-transform-load (ETL) tasks and works well for high-volume computation.
  • Cloud Pub/Sub is a fully-managed real-time messaging service that allows you to send and receive messages between independent applications.
6. Machine Learning

Google offers a variety of machine learning services. Some of them include:

  • Cloud Video Intelligence lets you use video analysis technology that provides label detection, explicit content detection, shot-change detection, and regionalization features.
  • Cloud Speech-to-Text lets you convert audio to text, recognizing over 110 languages and variants, to support your global user base.
  • Cloud Vision lets you easily integrate vision detection features, including image labeling, face and landmark detection, optical character recognition (OCR), and tagging of explicit content.
  • Cloud Natural Language helps you add sentiment analysis, entity analysis, entity-sentiment analysis, content classification, and syntax analysis.
  • Cloud Translation lets you quickly translate source text into any of over a hundred supported languages.
  • Dialogflow lets you build conversational interfaces (like as chatbots, voice assistants)

How to use Google Cloud Platform?

What are the four ways to interact with GCP?

GCP is a publicly-available product and henceforth it’s not difficult to use its services. GCP offers three basic ways to interact with the services and resources:

  1. Google Cloud Platform Console: A web-based, graphical user interface that you can use to manage your GCP projects and resources. To access the console, visit the link: https://console.cloud.google.com.
  2. Command Line Interface: If you are a developer and prefer to work in a terminal window, the Google Cloud SDK provides the gcloud command-line tool which can be used to manage both your development workflow and GCP resources. GCP also provides Cloud Shell, a browser-based, interactive shell environment for GCP.
  3. Client libraries: The Cloud SDK includes client libraries that have two purposes: App APIs provide access to services – can be easily integrated with multiple frameworks like Python, Node JS, PHP, etc. Admin APIs offer functionality for resource management e.g. to build your own automated tools on GCP.

You can try Cloud Platform at no cost by taking advantage of the Free Tier. The GCP Free Tier has two parts:

  • A 12-month free trial with $300 credit to use with any GCP services.
  • Always Free, which provides limited access to many common GCP resources, free of charge.

For more details on the Free Tier, visit https://cloud.google.com/free/docs/gcp-free-tier