On Proper Cloud 9..

28 04 2010

Ok, So the other day, I had to explain to someone in Web Hosting how simple “Cloud” actually is, and how to achieve it using current virtualization technologies, such as VMware and hyper-v, in the backend if you develop your own business logic.

Now, a big problem for Cloud at the moment is that there isn’t any commercial virtualization software out there, specifically designed for Cloud Hosting, but if there is, it’s likely well out of a midrange hosts price range. Another problem is that too many Web Hosts and Service Providers (even software venders like Parallels) throw around “Cloud” like it’s the word of the week without actually having a concept, product or service that actually truly reflects what “Cloud” actually is. This means “Cloud” is basically being miss sold as VPS hosting sat on top of a balanced and failover resilient infrastructure. Now, OK, it’s a fundamental feature of cloud computing and vast improvement on VPS hosting, but ”Cloud” is actually allot more than just balancing a VPS with failover recovery and live migrating between Hosts.

 The Key Word (or words) in “Cloud” is; Infrastructure Intelligence.

To better explain what Infrastructure Intelligence is, I’ll use a scenario starting with virtualizing a webfarm and then explaining how the virtualized webfarm can be turned into a “Cloud”.

So in our virtualized webfarm scenario, a popular e-commerce website is balanced over a 5 Server webfarm running on 2 Microsoft Hyper-V Hosts with Windows 2008, and built-in Network and Load Balancing services. All website traffic is distributed across those 5 virtual web servers to ensure availability. Now, lets spice up this scenario. From nowhere, website traffic significantly increases to the point that impacts the speed and operation of the  e-commerce website. So you manually provision another virtual web server into your farm to spread the work load and is fine again… Now lets say later on, traffic increases four-fold, and your resource requirements YoYo between needing 6 – 10 virtual web servers in your farm over 2-4 Hosts, and you manually manage and provision physical and virtual servers when ever you notice traffic increasing or decreasing.. This is in essence Infrastructure Intelligence.

A “Cloud”, basically posses the intelligence to autonomously provision additional resources, such as virtual servers, to your web farm (and if necessary, more physical Hosts to run them on) during periods when resources exceed whats been allocated, and then un-provision those things when the resources are no longer needed. You can expand this even further, by turning on/off physical Hosts as and when, so that they only consume power when they are required.

So all you need is a Virtualized Infrastructure, wrapped that around some kind of provisioning business logic and monitoring system, and bobs your uncle, you have your very own “Cloud”..

This is what I’ve been working on recently, for my VoD project. I’ve virtualized my data centre infrastructure on Microsoft Hyper-v and Windows 2008, use System Centre (SCVMM) to manage my Virtual Host Cluster, and I’ve then written a Business Logic layer into my VoD platform that hooks into SCVMM’s API to monitor resources of each VM in the cluster, and if required, provision additional VMs to the webwarm and/or send a Wake-on-LAN command to a physical host and when its active, start managing VMs to include newly powered Hosts. An ISP could have a pool of burstable Cloud Host servers, that lie dormant until a cluster some where needs it to run additional virtual resources on. This could allow them to not only charge for each VM running a customers service, but also each Host (possibly on an hourly/daily basis).

Well, that pretty much explains it.. Anyone keen to know how to develop that kind of business logic, it’s fairly simple for an experienced .net developer who can work with WCF, WMI and WebServices. Microsoft have actually made all the information you’ll ever need (code samples, documentation) freely available if you know where to look.

If you would like me to share these resources with you, drop me a message.








Follow

Get every new post delivered to your Inbox.