The Art of Writing Software

Zimory Public Cloud

Categories [ Cloud Computing Economics ] Tags [ Amazon Web Services, EC2, high availability, virtualization, VMWare, Xen, Zimory ]

On Monday, Deutsche Telekom announced a spinoff startup company called Zimory which aims to create an online marketplace--the Zimory Public Cloud--for elastic cloud computing resources. Companies with spare computing resources can install an agent, offer a certain level of SLA, and then begin selling their excess capacity. Buyers of resources can follow an online provisioning process similar to that found on Amazon Web Services EC2: select a virtual machine image, select a level of service, provide your credit card, and off you go. Zimory presumably takes a cut of the whole transaction.

I won't speculate as to the likelihood of success here; the value of online marketplaces are heavily dependent on network effects, so if they can manage to attract enough willing sellers, they may have an interesting business. However, as indicated in our last post about experience curve effects, economics would tend to dictate that it's probably cheaper to offload more of your data center onto existing cloud providers than it is for you to host your own machines, so it doesn't seem likely that companies are going to have spare cycles sitting around to sell in the long run.

Rather, I'd like to focus on some of the technology impacts the existence of this company reveals. According to this CNET news article covering the launch, a great deal of the software involved is open source software, from the Xen server virtualization project to the various canned server images available ("blank" Linux systems, LAMP stacks, etc.). Mature open source projects are generally the sign of commoditized software.

To me, this suggests that if you do run a data center (which you will for certain critical services which cannot be cloud hosted), then you should be virtualizing your servers as a matter of course. Xen and VMWare support the concept of instance migration, so you can have flexibility in moving your applications around/off machines that need maintenance, and can make efficient use of your hardware resources while sticking to a "one machine for one function" logical administration model.

It's worth noting that while it is possible to spin new instances up and down in a virtualized data center, you must still provide your own high availability (HA) through standard means like load balancers, Linux HA or VMWare HA, RAID disk arrays, etc. You must of course be aware of making sure that instances of highly available services are actually spread across distinct physical infrastructure; this gets more complicated in a virtualized setting. Amazon EC2 offers the notion of "availability zones", which are located in separate data centers; in a single enterprise data center you can approximate this by dividing your servers into two or more virtualized pools and then striping your services across them.

Zimory's fate in the marketplace remains to be seen, but their existence means that server virtualization has reached a level of maturity where it must be considered de rigeur for data center operators.