SingleHop’s IaaS Cloud: Why Re-invent the Wheel?
Infrastructure as a Service clouds have been a hot topic over the last few years. Amazon’s EC2, the most well-known example, has become almost a household name, at least in really nerdy households. Why are these clouds so popular? Well, it really comes down to some clever software.
With IaaS, you try to think of the common tasks you’d ask an expensive and overworked systems administrator to do. Then, you write some software that takes care of those tasks and provides the end-user of the computing resources with an interface to that software — a pretty UI, or just some API calls. The end result is that these common operations become faster, cheaper, and more reliable than using human system admins. IaaS software also enables on-demand billing. This is something that’s not really possible with traditional servers, because having a human go and set up your machine adds a high initial transaction cost. When you have software doing this instead, it becomes practical to provision and bill for capacity in short time spans.
This software is the IaaS platform, and everyone who is running an IaaS cloud has one. This is such a lucrative field that a whole bunch of projects are trying to make one of these platforms. The number of offerings out there is staggering. Amazon’s AWS, which is not open-source, is kind of the gold standard against which all other platforms are measured. Then there’s Eucalyptus, which is an open implementation of AWS, and Nebula, and is used in scientific computing clouds. There’s OpenStack, which aims to be an off-the-shelf platform for datacenter operators. Redhat has CloudForms, Xen has Citrix Project Olympus, VMWare has vCloud, Microsoft has … well, I don’t know, but probably something that involves the word ‘hyper’.
Here at SingleHop, I’ve been heading up the effort to develop our own IaaS platform, which we call Cascade. You might wonder, if all of these different IaaS platforms are already out there, and if they all do pretty much the same thing, why did we develop our own? In a word: integration.
SingleHop was already an industry leader in datacenter automation before we launched Cascade. We wanted to be able to leverage all our existing automation tools to create our cloud. So, we now deploy cloud nodes using the exact same system that deploys vanilla dedicated servers for our clients, and we keep track of both kinds of servers in the same place. We have a common internal UI for servers and VMs, which makes it easier for the sys admins who answer your support tickets to help you. SingleHop also has very powerful network automation tools, and we’ve been able to leverage those tools to provide the same networking options to VMs as we do to vanilla servers. This includes dedicated vlans, HSRP for high availability, shared firewall, DDoS protection and IPEnsure for keeping subnets out of spam RBLs.
Finally, at the highest levels of integration, we’ve been able to create the LEAP3 solutions center. This system, which allows you to create solutions using a mix of dedicated and virtualized resources, is only possible because of the tight integration inside SingleHop.
Of course, we recognize some of the drawbacks in creating a proprietary system, too. Our platform is not open-source, and it would make no sense to open-source it given how tied into our own setup it is. This means that we’re the only ones making changes to it; but we already do a great job supporting almost any operation you’d like to perform on your cloud or VM, including some that nobody else supports (like flexible disk resizing.) Also, our new Dropzone API, while powerful, is proprietary to Cascade, which is a barrier to entry. But we’re committed to releasing industry-standard API bindings to our Cloud, including AWS and OpenStack, so this problem will be going away shortly.
We did a lot of hard work in creating our IaaS platform. But we think that work was justified in light of the benefits our platform confers on you, the customer. I’m excited about what we’ve accomplished, and I hope it meets your needs for a dedicated, hybrid, or virtualized computing environment.