“Cloud Computing” is being called the “next big thing”. In 2008, Gartner Group identified “Cloud Computing” as one of the top ten disruptive technologies. I’m sure there is going to be a lot of FUD spread about what the “cloud” can and can’t be used for; however, I’m confident that over the next 5 to 10 years the reality of “Cloud computing” will set in.
It appears that a “perfect storm” of events are “brewing” at the same time: Social Media, Web 2.0 and smart phones. I believe these forces will drive the delivery of application services to the cloud. What is clear, to me, is that “cloud computing” will use hardware virtualization as its foundation. Hardware virtualization turns a physical machine into a virtual machine, which resides on a physical machine. However, the virtual machine can be moved around. If the system requires more resources than what is currently assigned to it, then more resources can be added to ensure the system meets your customer’s service level agreement. One question in my mind is: are the underlying software licensing mechanisms keeping pace with these changes?
Prior to Linux and open source software, all commercial software was purchased and licensed by server and user. Many of the commercial software packages in use today use a cost structure that is based on some combination of the following:
- The number of servers.
- The number of cpus in a server.
- The total number of users that can access the system
or the number of concurrent users accessing the system.
At least two of today’s leading software vendors, Microsoft and Oracle, obtain their revenue based on some combination of the above factors. In some cases, just adding a cpu to a server can make you responsible for a 2x increase in software licensing fees. Even if that server is an old Sun 420R with 480Mhz UltraSparc processors. For a service provider, in the cloud, managing licenses of software based on the above factors could be daunting. I imagine these providers will either use Linux and Open Source or negotiate some form of unlimited license. In order to understand why, consider the following scenario: you are a service provider and one of your customers is planning to run a promotion that requires 10 additional servers. They expect tens of thousands of users to access the promotion. The promotion will run for 3 months. After the that time they will not need these 10 additional servers. How do you the “service provider” acquire temporary licenses for this? What if that license is for a product that is no longer sold and marketed? I can hear the lawyers figiting in their seats.
In the above scenario, if the software was Linux and Open-source based, then managing the additional software licensing costs could be pretty straight forward. For Windows and non-open source software the “service provider” has a headache of managing server licenses and client access licenses, CALS. If users access the system anonymously then they do not need a CAL. However, if the users logon, then you must have a CAL for every concurrent user or purchase an unlimited license. The cost of windows and non-open source software licensing could add a nontrivial amount of cost to the “service provider” when compared to delivering the same application on Linux and Open source.
It seems that services on the “Cloud” will follow a “pay as you go scheme” similar to what the Amazon Elastic Compute Cloud does. Does this give an edge to Linux and Open source software in delivering applications to the cloud? Probably. I do not know how significant this advantage is. I expect Microsoft, Oracle and others to adapt their software licensing to negate this advantage. No, it won’t be free. If they add $20 per user per month to a service providers base cost, then they will have a limited role in the “cloud”. Whereas, a 10 cent per user per month cost could be bearable to the service provider. If they don’t adapt their licensing, then this may mean that they are not going to be able to play a significant role in “Cloud Computing”. Oh, in case you were wondering, I haven’t even discussed the additional complexities that software activation brings to the party.