The Free Trial
I recently discovered that Google was offering $300 in credits to those who want to evaluate its Cloud Platform, an offering which includes the Google Compute Engine. Even though the credits expire after 60 days, I decided it was worth spending a little time to test drive the platform, to see if it was all it claimed to be. I was surprised, both positively and negatively; but, on the whole, I found the Google Platform to be a disappointment.
One of my projects requires significant computing resources in order to execute simulations, some of which can be run concurrently. For this project I have, until now, only found two decent and cost effective computing resources: (1) my own Intel i7-4770 desktop, and (2) Intel i7 or E3-based servers rented from Hetzner in Germany. I have found my desktop and the Hetzner servers to run the simulations in roughly the same amount of time, as would be expected from their similar specifications. But since my simulation requirements are not continuous, I would prefer to have on-demand cloud computing available. Cloud computing would also enable me to run many simulations concurrently. Setup would also be easier since Hetzner does not provide snapshot capabilities, meaning that the setup of each server is a manual operation. In contrast, servers in a cloud environment can be quickly replicated from pre-existing snapshots, providing significant time savings.
Google provides more than one way to interact with its cloud but seems to recommend the command line interface called gcloud, which I have yet to try. Instead, I have been using the perfectly adequate Google Developers Console. Through this console I was able to create, manipulate and destroy servers, disks and other objects. I found the Google Console to be reasonably easy to use and quite flexible. For example, it was relatively easy to create a server, take a snapshot, and then create replicas of the same server through the console. It was also possible to create a stand-alone disk and then attach it to a running instance. I found this feature quite helpful when I was running out of disk space but wanted to continue with the same instance.
Snapshots are very easy to use and usually quite fast. Google claims that the snapshot is frozen in a fraction of a second (see their blog) and that the any remaining wait time (in my experience of the order of a minute) is the time taken to redundantly copy the snapshot to storage to different geographic locations.
When a server (which Google calls an instance) is created, it is possible to flag it as preemptible, which greatly reduces the cost. (Google defines a preemptible instance as one that will never run for more than 24 hours and which Google can shut down with a 30 second notification at any time.) The idea to allow customers to use Google’s spare capacity without any commitment on Google’s part. From what I have seen, a preemptible instance typically costs just over one quarter of what a regular instance costs, a very significant savings for someone running simulations which are not time critical. To make real use of these instances, however, the user must be able to save the instance’s state on short notice and then resume on a different instance later. But, again, the savings are considerable.
Although I found the Developers Console full of features and easy to use, it was not as robust as I would have expected from Google. I regularly found my browser window freezing up, requiring me to close the window and reopen it. (It’s hard to excuse Google and blame the browser, since I was using Google Chrome.) This was really just a nuisance, but I did find it surprising coming from Google.
But, all in all, the interface was well designed and an easy way to interface with the Google Cloud.
Unfortunately, the experience with the Developers Console was not a good proxy for my overall experience with the Google Cloud or with Google. I found some of Google’s claims to be exaggerated and I found the costing to be very high when compared to my main alternative, which has been Hetzner. Google likes to compare its offering to Amazon but, having never used Amazon, I cannot make that comparison. The only other comparisons I might be able to make are with respect to my preferred cloud providers, Vultr and Digital Ocean. (For more information on these two providers, you can read my qualitative review at LowEndTalk.) But these comparisons are not not strictly speaking fair, since Google’s offering is much broader.
Let’s begin with a two of Google’s claims which irked me. Consider this proud claim:
We provide all of our customers with Bronze support giving you access to online documentation, community forums, and billing support.
Strictly speaking, this is true. But what’s the point of proudly announcing that all customers get Bronze support when the key element is missing? Notice that there is no technical support. At all. I only discovered this after I created an instance but could not connect to it. I tried everything I could think of for about 20 minutes and then destroyed the instance. I then created a new instance in exactly the same way and discovered that it worked fine. I concluded that there was some sort of Google glitch. I then wanted to (1) advise Google of the problem, (2) find out if it could be fixed in the future, and (3) find out how to get the charges reversed for an instance that didn’t work. But there is no way to contact Google technical support at the Bronze support level. None. I’ve never heard of such a thing. To me, it’s the height of hubris. It’s as if Google thinks it doesn’t make mistakes. I don’t know how to deal with a company that operates this way.
To be fair to Google, I did contact Billing Support with my issues. I was told that advising Google of technical issues through Billing Support was acceptable, that but I would not necessarily be advised of the outcome of any investigation into the problem. I was also told that, since I was operating during a trial period, no accounting adjustments would be made.
The only way to get technical support (ie. the ability to open a support ticket) is to upgrade to Silver support at a cost of $150/month. Not impressive.
And the second claim?
The probability that Compute Engine will terminate a preemptible instance for a system event is generally low, but may vary from day to day and from zone to zone depending on current conditions.
Yet when I was running multiple preemptible instances in different zones one day, I found that more than half of my instances were preempted. This can happen with a preemptible instance, but I had similar problems on other days as well. So I take issue with the statement that the probability of a system event is “generally low”.
Finally, my third and last negative is cost. In order to run a Google instance equivalent to one of the Hetzner servers, I found the pricing to be between 1.5 and 2.0 times the price at Hetzner. If this were the whole story then I would think it was a reasonable deal: spend 50% to 100% more to have an on-demand server with no commitment. But this calculation is depends on the Google server being preemptible. And I have already noted that I was being preempted quite often. A sustained-use server would therefore cost between 6 and 8 times the price of the Hetzner server at standard rates. Even with the 30% discount Google offers for full sustained usage, Google is 4.2 to 5.6 times the price of Hetzner. It’s a premium that is very hard to justify unless the server is only running for a small fraction of the month.
The Google Compute platform offers many desirable features but I think it’s just too expensive. I will consider leaving my account open after the trial, paying to keep my server image available in case I need to run a simulation once or twice a month, but I can’t see using the platform for any significant work. It’s just so much cheaper to go to Hetzner (or on of its direct competitors) or to simply buy and run the hardware myself.
I’m also worried about the exaggerations in Google’s marketing materials and the arrogant approach Google is taking to customer support. I wouldn’t want to depend on a company that thinks that minimal customer service is an add-on.