SpotCloud Explores the Cloud’s Utility Computing Future

February 25, 2011 Off By David
Grazed from eWeek.  Author: Jason Brooks.

One of the most popular images used to illustrate the concept of cloud computing is the electrical grid. The “cloud” can be tricky to pin down, but everyone is familiar with plugging into a standardized socket and drawing the juice necessary to run many electrical devices from a network of large power plants.

Taking the image further, it stands to reason that if we’re headed toward a future where organizations can draw from a compute grid as needed, there ought to be a way to sell excess capacity back into the grid—particularly since companies are much more likely to be running their own data centers than their own power plants.

Enter SpotCloud, a new service from cloud software provider Enomaly Inc. through which organizations with compute capacity to spare can sell that capacity to buyers looking to the cloud to perform short-term compute tasks at lower costs, with different instance sizes, or from a farther-flung set of data centers than what an Amazon or a Rackspace might offer.

I took SpotCloud for a spin from a buyers’ perspective. I created an account, added some funds via credit card, and launched virtual machine instances on a handful of compute providers. The service, which recently entered a public beta phase, worked as advertised—I was able to shop around among the listed providers, upload my own VMs for deployment, and access my instances over the network, mostly via SSH, or Secure Shell.

While I found a handful of small interface issues during my testing, the bigger questions surrounding the service boil down to customers figuring out they may use this unusual service. While the major cloud players, such as Amazon, are working to build the case that their cloud services can meet or exceed organizations’ own data center standards for reliability and security, Enomaly is staking out the opposite end of the spectrum for SpotCloud.

For instance, buyers have access to relatively little information about the sellers—Enomaly describes SpotCloud as an opaque market, arranged to enable sellers to discount excess capacity without cannibalizing full-price inventory. Along similar lines, there are no service-level agreements on the SpotCloud, and the only indication of the service level to expect from a particular provider is a 1 to 10 rating, the makeup of which isn’t explicitly defined.

With that said, I can imagine a number of testing uses for SpotCloud, and the ability to pick providers in particular geographical locations could come in handy for temporarily bulking up content delivery capacity around specific events.

On the seller side, SpotCloud could emerge as an option for offsetting capital-equipment costs, but in the short term, I can see potential value in offering low-cost capacity on the market as a way of load testing an organization’s virtualization infrastructure.

For buyers, the only costs associated with SpotCloud are for the compute hours consumed. For sellers, Enomaly takes a cut of up to 30%, and offering capacity on the market involves running Enomaly’s Elastic Computing Platform software on their host machines.

SpotCloud in the Lab

I signed up for a SpotCloud account at spotcloud.com, by providing an e-mail address for a Google Account and logging in through Google’s authentication page. We happen to maintain an eWEEK Labs Google Apps account, so I was able to administer SpotCloud accounts—suspending accounts and changing passwords, for instance—using Google’s tools, but for most organizations, this Google-centricity will prove annoying. Enomly CTO Reuven Cohen told me that a separate authentication mechanism for SpotCloud is in the works.

I added $10 to my account with a credit card payment and set off to browse the available virtual machine instances in the market. I found 103 instance types on offer from about 15 providers, listed in a table. Each instance type was listed with number of processors, amount of RAM, the country and city where the instance would be hosted, and a service quality rating between 1 and 10.

The rating isn’t clearly defined anywhere, and there’s no indication provided as to whether the provider has remaining capacity. For instance, when I spied instances with 24 processor cores and 32GB of RAM on offer for $0.75 an hour, I attempted to start one, but the request failed without mentioning why. I was, however, able to launch a smaller instance size from the same provider.

I could filter the table on minimum and maximum CPUs or memory, maximum cost and geographical location, but I couldn’t sort the table by any of its headings.

I compared the hourly prices in the market to those on Amazon’s spot market for its own EC2 (Elastic Compute Cloud) service. When I checked, the spot price at Amazon for a 1 CPU instance with 617MB of RAM was $0.007 per hour. On the SpotCloud market, I found similarly sized instances ranging from $0.001 to $0.01 per hour. For Amazon’s larger-sized spot instances, I again found SpotCloud offerings both above and below the Amazon asking price.

For SpotCloud, a bigger advantage than price, compared with Amazon, is a broader range of geographical locations for the hosting. While the service maintains a fairly small number of providers, they’re spread more broadly than are the Amazon spot data centers.

On the other hand, among the items on the disadvantage side of the ledger—beyond the limited information about exactly with whom you’re hosting—is the much sparer set of tools for managing instances that SpotCloud currently offers.

The SpotCloud providers list available instances for limited terms—I found terms of between 6 and 168 hours—and the service doesn’t include tools for managing expiring terms. Also, when I picked out a provider and turned to launch an instance, SpotCloud offered up a few sample instances from which to choose, but to use one of them, I had to download the image from their site, and then upload it back into my account.

The sample images include a “JeOS” (just-enough OS) image of Ubuntu Linux, which makes a good base for trying out the service, and a Varnish Web-caching appliance that locks itself down after initial configuration—a model that Enomaly suggests for bolstering the securing of these instances.

While the selection of pre-built VM images provided by Enomaly is limited, I found it fairly easy to create my own VM images for use on SpotCloud. Enomaly provides a small command line application that I used to convert a raw disk image into a SpotCloud appliance. For instance, I used the tool with one of the Debian 6 KVM (kernal-based Virtual Machine) images from my recent review of that OS, and was soon running a VM based on the image on a SpotCloud provider.

I used the command line disk-conversion tools that ship with Oracle’s VirtualBox to convert a VM I created with that application to a raw format, and built a SpotCloud appliance from there. I performed a similar operation with VMware image.

On a couple of my appliance-building adventures, I encountered an issue where my VM would run, but its IP address status would remain indefinitely at “pending.” This may have been due to an issue I’ve encountered in the past with moving Ubuntu-based VMs from one host to another, in which the OS expects its configured network adapter to have a particular MAC address. In these cases, I had to tweak my OS image to address the issue before uploading it.

Beyond creating images for use with SpotCloud, I was able to use Enomaly’s command line tool to carry out most operations available through the service’s Web interface. I could list the providers and virtual machine types, spawn new instances based on my uploaded images, as well as destroy running instances. The command line tool authenticates with the SpotCloud service by creating a URL through which I logged using the same Google login interface that serves the Website.

The command line tool draws on an API that’s documented on SpotCloud’s site, and that organizations could tap to fill in for themselves some of the management gaps I encountered with the Web interface.