Cloud Computing What Are Google Cloud Services and Why Do You Need Them?
- Google Cloud Platform is essentially a public cloud-based machine whose services are delivered to customers on an as-you-go basis, by way of service components.
- A public cloud lets you leverage its resources to empower the applications you build, as well as to reach a broader base of customers.
- Although Google does offer a virtual machine hosting service similar to, and competitive with, Amazon Web Services, its primary service model is based around the development and deployment of more modern, containerized applications.
- GCP’s strategy for competing on price is to offer discounts for sustained use, for customized use, and for committed use.
- The targeted core user for GCP at present appears to be the business — small, medium, or large — that is well into its journey to modern application models, and needs a more cost-effective and efficient means of deploying them.
What Google Cloud Platform does and why
Google Cloud Platform is a provider of computing resources for deploying and operating applications on the web. Its specialty is providing a place for individuals and enterprises to build and run software, and it uses the web to connect to the users of that software. Think of tens of thousands of websites operating on a network of “hyperscale” (very big, but also very divisible) data centers, and you’ll get the basic idea.
When you run a website, an application, or a service on Google Cloud Platform (GCP), Google keeps track of all of the resources it uses — specifically, how much processing power, data storage, database queries, and network connectivity it consumes. Rather than lease a server or a DNS address by the month (which is what you would do with an ordinary website provider), you pay for each of these resources on a per-second basis (competitors charge per-minute), with discounts that apply when your services are used heavily by your customers on the web.
DISTINGUISHING FEATURES OF GOOGLE CLOUD PLATFORM
So what do you actually do on a cloud platform, and why would you want to do it on Google’s? You use a cloud platform when you want the services you present to your users, your customers, or your fellow employees to be an application as opposed to a website. Maybe you want to help homebuilders estimate the size and structure of the cabinets they need to rebuild a kitchen. Maybe you’re analyzing the performance statistics of athletes trying out for a college sports club, and you need sophisticated analytics to tell the head coaches whose performance could improve. Or you could be scanning hundreds of thousands of pages of archived newspaper copy, and you need to build a scannable index dating back decades.
You use a cloud platform such as GCP when you want to build and run an application that can leverage the power of hyperscale data centers in some way: to reach users worldwide, or to borrow sophisticated analytics and AI functions, or to utilize massive data storage, or to take advantage of cost efficiencies. You pay not for the machine but for the resources the machine uses.
Google Cloud Platform is perceived to have certain competitive strengths:
- Automating the deployment of modern applications. An app is made of many moving parts, which is why some developers prefer to build their apps in the cloud to begin with (“cloud-native”). Google is the originator of Kubernetes, which is an orchestrator for applications comprised of many components. Early on, Google took a proactive approach to automating the deployment of these multifaceted apps to the cloud: for example, opening itself to Kubo, an automation platform originally created to help developers using Cloud Foundry to deploy their applications from dev platforms to the cloud.
- Creative cost control. As you’ll see later, rather than being the low-cost leader, Google’s strategy with GCP is to enable cost competitiveness in certain “sweet spot” scenarios. For example, Google offers a lifecycle manager for its object data storage, which enables the offloading or deletion of objects that haven’t been used in 30 days or more.
- Friendlier hand-holding for first-time users. A cloud services platform can be an overwhelming concept for a newcomer to digest. Just as it wasn’t obvious to many consumers what the purpose of a microcomputer actually was, a public cloud is a new and foreign beast for folks who are accustomed to seeing and touching the machine they’re using. GCP offers step-by-step examples of doing many of the most common tasks — for example, spinning up a Linux-based virtual machine, which is like claiming and setting up your own, brand new computer out of thin air.
SERVICES OF GOOGLE CLOUD PLATFORM
Cloud services are difficult to understand in the abstract. So to help you comprehend Google Cloud Platform more explicitly, here are the major services that GCP operates:
- Google Compute Engine (GCE) competes directly against the service that put Amazon Web Services on the map: hosting virtual machines (VMs, servers that exist entirely as software).
- Google Kubernetes Engine (GKE, formerly Google Container Engine) is a platform for a more modern form of containerized application (housed in what are often still called “Docker containers”), which is engineered for deployment on cloud platforms.
- Google App Engine provides software developers with tools and languages such as Python, PHP, and now even Microsoft’s .NET languages, for building and deploying a web application directly on Google’s cloud. This is different from building the application locally and deploying it remotely on the cloud; this is “cloud-native” development: building, deploying, and evolving the application all remotely.
- Google Cloud Storage is GCP’s object data store, meaning it accepts any quantity of data and represents that data to its user in whatever manner is most useful — for example, as files, a database, a data stream, an unordered list of data, or as multimedia.
- Nearline is a way to utilize Google Cloud Storage for backup and archival data — the kind that you wouldn’t necessarily consider a database, and that may only be accessed once, by one user, typically no more often than once per month. Google calls this model “cold storage,” and adapts its pricing model to account for this low level of utilization, with the aim of making Nearline a more attractive option for such purposes as system backups.
- Anthos, announced last April, is GCP’s system for organizing and maintaining applications that may be centered around Google, but may utilize resources from AWS or Azure (“multi-cloud services”). Think of an application whose code base is hosted by Google, but that borrows an AI function from AWS and that stores its logs in an object store on Azure.
- BigQuery is a data warehousing system using Google Cloud Storage designed for very large quantities of highly distributed data, enabling SQL queries to be executed across multiple databases of varying structure levels. Rather than a traditional, row-based, record-oriented SQL relational database index, BigQuery utilizes a columnar storage system in which components of records are stacked onto one another and streamed to a parallel storage system. Such an organization proves useful in analytics applications, which collect broad statistics on simple, often general, relationships between data elements.
- Cloud Bigtable (formerly BigTable) is a highly distributed data system that organizes related data into a multi-dimensional assembly of key/value pairs, based on the large-scale storage system Google created for its own use in storing search indexes. Such an assembly is easier for analytics applications to manage than a very large index for a colossal relational database with multiple tables whose records would have to be joined at query time.
- Cloud SQL (not yet ready for public consumption) hosts much more traditional, relational database tables and indexes, using a GCE instance that scales itself up to meet the database’s performance demands.
- Cloud Translation, Text-to-Speech, and Speech-to-Text, as their names suggest, leverage Google’s existing capability for spoken and written language management, for use in custom applications.
- Apigee is a modeling system for producing and managing APIs — service calls to server-based functions, using the Web as the medium of communication. An Apigee user may model, test, and deploy mechanisms for their existing web apps to be discoverable using APIs, and monitor how web users make use of those API calls for their own purposes.
- Istio is an interesting kind of “phone book” for modern, scalable applications that are distributed as individual components called microservices. A conventional, contiguous application knows where all of its functions are; a microservices-based application needs to be informed, by way of a service mesh. Istio was originally developed as a service mesh by an open source partnership made up of Google, IBM, and ride-sharing service Lyft.
- Cloud Pub/Sub (publish-and-subscribe) is a mechanism that replaces the message queues used by middleware during the earlier era of client/server applications. For applications that are designed to cooperate without being explicitly connected to one another (“asynchronously”), Pub/Sub serves as a kind of post office for events, so one application can notify others of their progress or about requests they may have.
- Cloud AutoML is a suite of services geared to enable applications to leverage machine learning — to detect perceptible patterns throughout large quantities of data, and utilize those patterns within a program.
- Cloud Run is a newly announced service enabling software developers to stage and deploy their applications to Google’s cloud using the so-called serverless model — building and running programs with the appearance of being hosted locally instead of in the cloud.
This is far from a complete list of Google Cloud Platform services, though it does introduce you to the major entries. In fact, some of the company’s many services (all of which may be found in a list on this page) are applications or reconfigurations of other services — ways to use a service that would perform a broad function, for a more specific purpose.
[NOTE: This segment was recently updated with the help of clarifications offered by Google Cloud.]
SO WHERE DOES G SUITE AND GOOGLE DOCS FACTOR IN TO ALL OF THIS?
Yes, G Suite (Google’s suite of applications) is a kind of software-as-a-service (SaaS) that’s delivered to you through Google’s Cloud. But like Gmail, it isn’t really part of Google Cloud Platform. We use the word “service” a lot to refer to what Google is bartering here, but think of GCP for a moment as more of a product. Productivity applications are a different department from hosted applications and interfaced functions.
More importantly, when you become a GCP customer, you enter into a very different agreement than the one that applies to G Suite. GCP addresses an expectation that you will be using its cloud-based resources to create your own services and applications that will most likely be used by other people besides yourself. So Google has service-level commitments it pledges to meet, which it spells out in very explicit detail for each of its services.
What does using Google Cloud Platform cost?
Each of these services consumes fundamental resources of cloud computing: processor power, memory, data storage, and connectivity. Like other cloud service providers, Google charges its GCP customers for the resources these services consume. So whatever you choose to do with GCP, you pay for the resources they consume. (As you can imagine, BigQuery and BigTable can incur some significant expenses in data storage consumption.)
The formulas for determining the actual prices for resource consumption are actually somewhat complex. Google does offer a pricing calculator using formulas that are updated up-to-the-minute. But to use that calculator, your ballpark estimates of what resources you plan to consume, need to be within a surprisingly narrow ballpark. For example, to obtain a price estimate for Google Kubernetes Engine, you’d need to know the maximum number of compute nodes you’d be scaling out to, how much persistent disk storage your application will require (as opposed to ephemeral storage), and which availability zone you feel would be most efficient for load balancing, among other factors.
Amazon AWS set the standard with its pricing model for virtual machine instances. A VM instance has a “buildout” that’s like a real server. It has a fixed amount of RAM, a fixed number of virtual CPUs, and a base tier of file storage. Google Compute Engine has its own selection of VM instances, as its competitors do. It calls these instances pre-defined, with base prices (at the time of this writing) of just over $0.03 per virtual CPU per hour of processing, and $0.004 per gigabyte per hour for storage. However, Google then recalculates these figures on a per-second basis, with a minimum time interval of 60 seconds.
GCP then applies discounts for certain usage patterns of GCE and other services. Google claims these discounts can reduce average expenditures for its cloud services over Amazon’s and Azure’s counterparts:
- Google Compute Engine allows customers to preempt virtual machine instances when they’re not in active use. So unlike a pricing scenario where you pay for the instance plus the resources it uses, a GCE customer pays for the perceptibility, but is then discounted when that preemption is put into play. The company often claims customers have saved as much as 80% over competitors’ services, and 8% on average over AWS.
- Google claims that GCE customers can save significantly when they tailor their own custom instance types, as opposed to choosing an over-provisioned, pre-configured instance type.
- GCP applies so-called sustained use discounts on persistently available workloads, on a roughly linear scale starting with workloads used over 25% of all available time during a given month. A workload that runs every minute of a billing period may be discounted as much as 30%.
- Google will discount certain customers as much as 57% for committing upfront to resource usage from between 1 to 3 years of sustained service.
- Enterprise customers anticipating heavy data consumption can sign up for a program called Storage Growth Plan, which entitles them to discounts if they commit to a minimum price per month for 12 months. This is for very heavy data consumers — not small businesses, but enterprises that plan to have Google host massive data stores.
All this being said, Google’s specialty is not the classic virtual machine. Although you could conceivably save money over AWS deploying a VM in Google’s cloud, especially on a custom instance, GCP is gearing itself more and more to be a host for containerized applications — a modernized deployment and management system for applications that were designed during, and for, the cloud era.
How does Google Cloud Platform fare against competitors?
Amazon and Microsoft operate their own cloud platforms, called AWS and Azure, respectively. GCP is their competitor, and although it ranks third among these three in terms of market share and revenue, it is a solid competitor with unique features and services that give it an advantage in certain scenarios.
If the Big Three public cloud providers truly were analogous to department stores, and Amazon AWS was… well, Amazon, with its vast selection of services equally-spaced on the shelf with no easy way to distinguish them from each other, then you could say Azure is like Target: It likes to position itself as providing a smarter selection of services that cater to needs, based on an intrinsic understanding of those needs.
In such an analogy, Google Cloud Platform is like Ikea: It sells itself to you first based on its overall experience. It tries to make you feel comfortable and at ease. It offers abe unique and surprisingly diverse collection of the functional and the odd, the lowball and the premium, side-by-side in perfect harmony. And it openly acknowledges it isn’t the only game in town.
GOOGLE CLOUD PLATFORM VS. MICROSOFT AZURE
Azure’s original service (when it was “Windows Azure”) was as a cloud-based deployment platform for applications written in any of Microsoft’s .NET languages. As such, Azure organically built its service portfolio out, based on its tight relationship with software developers. So an accurate picture of the core Azure customer could be summarized by the phrase “the Visual Studio user.”
GCP began as a consumer business model around one of the core functions it originally created for its own purposes: distributed software orchestration. It doesn’t help you or your organization build software as much as it would help you deploy it. As the creator of Kubernetes, Google’s success is in getting software to the point where it can be distributed globally. It solved the problem of distributing updates to its search engine and e-mail service, and it then scaled down this solution to a form that’s usable by a small business.
Any business that knows what distributed software is, let alone what it wants to do with the stuff, is already pretty tech-savvy. But that’s not really the market Google would prefer to cater to. So it makes the effort to make this technology more approachable, which at one scale is not unlike instructing home gardeners in how to make better use of nuclear reactors.
This ends up being the key differentiator between Azure and GCP: To someone who may not be fully versed in the subject matter, Google has made further strides (so far) in adapting its services to people who may not understand them yet. You may be able to get a handle on BigQuery or Cloud Storage more readily.
GOOGLE CLOUD STORAGE VS. AMAZON AWS
Lately, Google has refrained from taking an adversarial stance against Microsoft. Indeed, the two companies are cooperating more than in years past, as indicated by the presence of Microsoft’s .NET language platform in Google App Engine.
Indeed, Google is training almost all of its marketing efforts on Amazon, the leader in the cloud services space. To that end, here is how it’s positioning itself:
- GCP is not about to topple AWS as the leading host of virtual machine instances. So it offers alternatives, most notably custom instances, and pricing models that can give certain customers an advantage. VMs may be the old deployment model for software, but no cloud service provider can relinquish a foothold in this service and expect to continue being considered a player.
- Amazon held out until the very last possible moment to produce its own Kubernetes engine. . . and then waited a bit longer, evidently reluctant to promote a deployment model that would cut into its own mainline business. As a result, Google has been taking a victory lap as the originator and still, in the public eye, the leader of Kubernetes. One more argument in Google’s favor that has yet to be disproven is that Amazon’s Kubernetes system is centered around Amazon, whereas GCP (more so today with Anthos) answers enterprise customers’ needs to avoid vendor lock-in.
- Recent analyst reports from multiple sources have shared the views of cloud computing customers that Amazon’s wealth of service options, in its enormity alone, can work to its disadvantage. No three sources can come to an agreement on where an AWS customer should want to begin. Google can use this to its advantage by focusing on successful services that customers actually demand, and not so much on experiments and beta tests that won’t sink the company if they fail.
Most major markets in any healthy economy loathe a tri-opoly. Usually it’s the safest bet an analyst can make that the #3 player will be shaken out of contention, and must make itself content with providing “alternative” products or services to niche markets.
But Google has the one luxury that no other #3 player in any market has: the role of the #1 player in a different, virtually one-player market: online advertising. Its cloud services can be allowed to mature and find their audiences, just as though the survival of the company didn’t rest upon them. A former Microsoft CEO once warned Google that his company made its mark for being tenacious, tenacious, tenacious. But he’s gone now. And Google Cloud Platform has every reason — including all the time it needs — to keep trying.