Dr. Dobb's Digest June 2009

Distributed Computing

By Jonathan Erickson


Innovation makes things easier. That's the plan anyway. But often times, solutions to one problem give rise to unanticipated problems elsewhere. Take distributed computing technologies like cloud computing, for instance. In general, the problems cloud computing is intended to solve involve reducing time, cost, and complexity; and by all accounts, it appears to be working out that way. That is, until you add software licensing into the mix.

Until now, the dominant licensing approaches have been the processor, site, and seat models. For the most part, these work. But what if your data center has multiple servers, each running multiple virtual operating environments? And what if the number of instances of OSs change from day-to-day or even hour-to-hour? Or what if you need to move the virtual environment from one server to another? How much more will this cost? It's safe to say that the existing models of software licensing just don't work for today's distributed computing world. Proposals for alternative licensing models are in the works, with attention being paid to transaction approaches that range from monthly (or even hourly) subscription to utility-based "pay for what you use" models. Volume-based licensing is an attractive alternative in cases where hundreds of employees may need access to a particular software package, but for only a few hours per month.

You'd think that major software vendors would have a handle these problems, but that's not so. The different versions of Microsoft Windows Server 2008 are a case in point -- standard, enterprise, and data center -- each has its own set of licensing rules. Likewise, pricing for Oracle software with "Standard Edition" in the product name is based on the size of the Amazon EC2 instances; its Database Standard Edition can only be licensed on Amazon's EC2 instances up to 16 virtual cores, and Standard Edition One can only be licensed on EC2 instances up to 8 virtual cores.

I'll leave it up to you to decide if that's easier to understand than "one-processor/one-license."