What is cloud computing and why you should choose Google Cloud?

Artbees
Artbees

--

Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models. (Source: The NIST)

Here it is, cloud computing is a way of using I.T. that has these five equally important traits.

First, you get computing resources on-demand and self-service. All you have to do is use a simple interface and you get the processing power, storage, and network you need, with no need for human intervention.

Second, you access these resources over the net from anywhere you want.

Third, the provider of those resources has a big pool of them and allocates them to customers out of that pool. That allows the provider to get economies of scale by buying in bulk and pass the savings on to the customers. Customers don’t have to know or care about the exact physical location of those resources.

Fourth, the resources are elastic. If you need more resources you can get more, rapidly. If you need less, you can scale back. And last, the customers pay only for what they use or reserve as they go. If they stop using resources, they stop paying. That’s it. That’s the definition of cloud computing.

Cloud Service Models

Cloud Service Models

Cloud Software as a Service, is a type of cloud that offers an application to customer or organisations through a web browser. The data for the app runs on a server on the network, not through an app on the user’s computer. Software is usually sold via subscription

Examples of SaaS are Salesforce, Google Docs, Office 365, Basecamp etc.

Cloud Infrastructure as a Service, provides the hardware and usually virtualisation OS to its customers. Software is charged only for the computing power that is utilised, usually, CPU hours used a month.

Examples of IaaS are Amazon EC2, Rackspace, Google Compute Engine etc.

Cloud Platform as a Service, provides networked computers running in a hosted environment, and also adds support for the development environment. PaaS offerings generally support a specific program language or development environments.

Deploying your app in this environment, you can take advantage of dynamic scalability, automated database backups without need to specifically code for it. PaaS is billed as an additional cost on top of the IaaS charges.

Examples of PaaS are Google App Engine, Engine Yard Etc.

Google Cloud Platform

Why choose Google Cloud Platform?

Google Cloud Platform lets you choose from computing, storage, big data, machine learning and application services for your web, mobile, analytics and back-end solutions. It’s global, it’s cost-effective, it’s open-source friendly and it’s designed for security. Google Cloud Platform’s products and services can be broadly categorised as compute, storage, big data, machine learning, networking and operations and tools.

Interacting with Google Cloud Platform

There are four ways you can interact with Google Cloud Platform: The Console, the SDK and Cloud Shell, the Mobile App and the APIs.

The GCP Console is a web-based administrative interface. If you build an application in GCP, you’ll use it. Although, the end-users of your application won’t. It lets you view and manage all your projects and all the resources they use. It also lets you enable, disable and explore the APIs of GCP services. And it gives you access to Cloud Shell. That’s a command-line interface to GCP that’s easily accessed from your browser. From Cloud Shell, you can use the tools provided by the Google Cloud Software Development kit SDK, without having to first install them somewhere.

What’s the Cloud SDK?

The Google Cloud SDK is a set of tools that you can use to manage your resources and your applications on GCP. These include the gcloud tool, which provides the main command-line interface for Google Cloud Platform products and services. There’s also gsutil which is for Google Cloud Storage and bq which is for BigQuery.

The easiest way to get to the SDK commands is to click the Cloud Shell button on a GCP Console. You get a command line in your web browser on a virtual machine with all these commands already installed. You can also install the SDK on your own computers — your laptop, your on-premise servers of virtual machines and other clouds.

The SDK is also available as a docker image, which is a really easy and clean way to work with it. The services that makeup GCP offer application programming interfaces so that the code you write can control them. These APIs are what’s called RESTful. In other words, they follow the representational state transfer paradigm. Basically, it means that your code can use Google services in much the same way that web browsers talk to web servers.

The APIs name resources and GCP with URLs. Your code can pass information to the APIs using JSON, which is a very popular way of passing textual information over the web. And there’s an open system for user login and access control.

The GCP Console lets you turn on and off APIs. Many APIs are off by default, and many are associated with quotas and limits. These restrictions help protect you from using resources inadvertently. You can enable only those APIs you need and you can request increases in quotas when you need more resources. For example, if you’re writing an application that needs to control GCP resources, you’ll need to get your use of the APIs just right. And to do that, you’ll use APIs Explorer.

The GCP Console includes a tool called the APIs Explorer that helps you learn about the APIs interactively. It lets you see what APIs are available and in what versions. These APIs expect parameters and documentation on them is built-in. You can try the APIs interactively even with user authentication. Suppose you have explored an API and you’re ready to build an application that uses it.

Do you have to start coding from scratch?

No. Google provides client libraries that take a lot of the drudgery out of the task of calling GCP from your code. There are two kinds of libraries. The Cloud Client Libraries are Google clouds latest and recommended libraries for its APIs. They adopt the native styles and idioms of each language.

On the other hand, sometimes a Cloud Client Library doesn’t support the newest services and features. In that case, you can use the Google API Client Library for your desired languages. These libraries are designed for generality and completeness.

Finally, one more tool that’s of interest to everyone, not just developers. There’s a mobile App for Android and iOS that lets you examine and manage the resources you’re using in GCP. It lets you build dashboards so that you can get the information you need at a glance.

--

--

Artbees
Artbees
Editor for

We are a team of software developers, engineers, UX specialists, and creatives based in the UK.