Tuesday, October 30, 2012

Trying out Google Compute Engine

I just spent a few hours trying out Google Compute Engine, since they generously gave me a free trial for evaluating possibly using GCE in https://salv.us -- thanks Google!

Observations

The following observations are based on a bunch of standard benchmarks using iperf, wget, python, hdparm, etc., that I do when considering machines:
  1. The GCE virtual machines have very, very fast modern processors. For single-core performance on some simple benchmarks they are faster than anything I own, probably partly because of their huge cache. 
  2. The API and feel of GCE is remarkably similar to the private cloud system I wrote myself for use in salv.us (and Sage development) last month on my own two clusters.  This might be because because GCE is a Python interface to KVM machines, and what I wrote is a Python interface to KVM machines.  Thus I find it very natural and easy to get going with.
  3. The bandwidth to Univ of Washington (UW) from us-central1-a is disappointing; for comparison, the bandwidth on the machines I have at ServedBy to UW is often 900+ Mbits/sec, which is almost the theoretical max, and is an order of magnitude faster than what I see with GCE (e.g., wget'ing the sagemath source tarball takes 11 seconds with servedby and 106 seconds to GCE).
  4. The GCE local ephemeral disk is quite fast.

Will I use it?

Not now.  Google is going to make me start paying in 2 days and the free App Engine credits they (generously!) gave me don't transfer, so I don't plan to use GCE in any nontrivial way for now. However, if https://salv.us generates enough money, I will seriously consider including some nodes at GCE (and Amazon, and Servedby, and Rackspace!).    Cloud hosting with any provider (GCE or others) costs substantially more than what I was able to setup at my university by leveraging their internal subsidized support for faculty research projects and startups.

The GCE price is more or less about the same as that from other cloud providers, though Amazon has "special deals" (bidding, etc.).  As mentioned above, I like the GCE command line interface, since it is so similar to what I designed for myself. I will continue to develop Salvus around my own private cloud and around ServedBy, because servedby is giving me an open-ended free trial.

Summary

Technically there is a lot to like about GCE.  In the longrun, the bandwidth issue mentioned above could be a deal breaker, since https://salv.us is by design a highly redundant project with substantial cross data-center traffic.