Rackspace was one of the first players in the cloud arena. The company recognized early that enterprises wanted faster, simpler ways to spin up and spin down servers. If the bosses are going to be fickle and impulsive, there will always be a market for companies that make it easy for the people curating the data to pivot. If the corporate vision is going to morph, the IT shops will want a way to morph with it.
At Rackspace, the meaning of "cloud" has always been a bit simpler and more straightforward, and the philosophy a bit more open and pragmatic, than at other cloud providers. While some of the others spun elaborate metaphors, abstracted away the old files, and portrayed the opaqueness of their mechanism as a feature, Rackspace sold real instances that felt more like real computers. From the beginning, Rackspace's cloud was just a fast way to buy extra machines for an hour, then turn them off.
[ From Amazon to Windows Azure, see how the elite 8 public clouds compare in InfoWorld Test Center's review. | Move over, Amazon -- IaaS providers are elbowing into the cloud | Keep up with cloud tech with InfoWorld's Cloud Computing Report newsletter. ]
Lately the company has been adding new products and features to create what it calls the Next Gen cloud. You can still access the First Gen cloud and use the original cloud software, but it won't offer all of the new features such as better data storage, public IPv6 support, and the ability to change a server's metadata.
Rackspace Cloud: The next generation
While there are many new features, Rackspace is still largely selling machines (virtual machines, to be more precise), but now you can glue them together in a few additional ways. The data can be squirreled away in either block storage or containers, two abstractions that aren't permanently glued to the servers. For MySQL users, Rackspace has built a stripped-down and tuned machine image that delivers better performance. The company has also provided off-the-shelf load balancers and backup; adding these features has become much simpler.
The biggest change in the second generation is the file storage that can now live separately from your servers. In the past, the instances were more like real boxes. If you wanted to get the data on and off the machines, it was up to you. Now Rackspace offers storage blocks that are configured separately from your virtual machine. They're mounted like an external disk drive, and you can use them to read and write data apart from your server image.
The block storage API is pretty transparent. After I pushed the button to create the block storage and attach it to my server, I needed to partition, format, and mount the space using the operating system. It's like attaching a storage device to your own physical machine. You get to push the buttons yourself.
Rackspace also offers a very fast SSD option if you want to pay for a bit more speed. The old-fashioned SATA storage is 15 cents per gigabyte per month, while the solid-state storage is 70 cents per gigabyte per month. If you need only a small amount of fast storage, it's a good choice.
There are hints that Rackspace is embracing some of the more amorphous visions for the cloud. If your data needs to reach a wide audience, you can have a slice of Akamai's Content Distribution Network called CloudFiles. You store your data in CloudFiles and Akamai will deliver it faster. Storage is 10 cents per gigabyte per month, while outgoing bandwidth is 18 cents per gigabyte.
The OpenStack advantage
Rackspace was one of the main forces behind OpenStack, and the company continues to make the flexibility of the open source cloud stack one of its big selling points. Your enterprise won't be locked into the Rackspace cloud because you can always set up OpenStack in your own data center -- if and when you want to leave Rackspace behind. This flexibility is crucial for many businesses because rewriting code can be quite a pain, especially if it's older code that someone wrote long ago before quitting.
This is a great solution for developers with any legacy code. It's easy to fire up a new project and begin with a fun, new NoSQL storage engine when you're starting with a blank sheet of paper, but it's much harder to take running code and convert it. I was able, for instance, to get Drupal up and running in less than five minutes because Drupal relies upon MySQL to store all of the data. I didn't need to rewrite the Drupal code to work with some new object or document store. There was no weird glue code or translation architecture. I just started up a MySQL database and pointed the Drupal code at the URL.
The separate MySQL option came around because the engineers at Rackspace listened to customer complaints that the performance of databases often wasn't as good as it could be. The virtualization layer used in clouds like these added delays in writing and reading from the I/O, a factor for operations like running a database. The device driver for your virtual machine won't write directly to the disk, but will shove the data into shared memory and wait for the underlying machine OS to actually write it to storage. That may be an acceptable price to pay for some applications, but not for code that lives to store data to a hard disk.
Rackspace's solution is to eliminate some of the hardware and operating system layers, which the company calls "container-based virtualization." You can't log into your MySQL database server and configure the underlying OS. You get only a URL and a MySQL user password; all of your interaction happens as a MySQL user, not as a regular Unix user.
Protecting your cloud data
Rackspace has added extra redundancy out of sight. The version of MySQL isn't running on any old machine, but writing to a SAN with RAID hardware. Rackspace then enables further protection by copying the data to other machines on the network. All of this replication happens at the hardware or network level, not with MySQL. Rackspace doesn't currently use the MySQL replication code, although it promises to offer that in the future. The company also promises to offer yet another layer of protection, an automated backup tool for taking snapshots of your database.
The cloud is a bit of a departure for Rackspace, at least given the price. The company built its name on offering great hand-holding support at premium prices. While the cloud instances are priced like commodities, you can still spend money if you need to. If you want to purchase a Cloud Site, one of the products sitting next to the regular cloud servers, it will cost $150 a month. That's dramatically more than the $5 per month that some low-cost providers charge for website hosting, but it includes Rackspace's trademarked "fanatical support." A Cloud Site also comes with fixed limits on bandwidth and storage, which the low-cost servers pretend don't exist when they claim it's all unlimited. Of course the low-cost sites are fibbing -- nothing is unlimited.