Three challenges for licensing software in cloud computing

I always thought that most software licensing rules were too complicated. Maybe this is because I’ve been in situations where I spent hours trying to understand how some vendors define their software licensing policies, and in the end I didn’t see any value in what I learned! In this post I want to share some software licensing challenges I have already faced in cloud computing.

To determine the appropriate software licensing, sometimes you need to understand the hardware architecture (such as number of physical processors and cores), look into vendor tables to find what factors to use and then do a lot of calculations to get the correct sizing for a software product. This is a task that needs to be performed very carefully, because if you do anything wrong, your company can be fined.

Software licensing in a cloud computing model should be much simpler; however, it can get even worse. Although some software vendors are innovating and offering customers a “pay as you go” model in the cloud, where customers pay based on utilization—per hour, per day or even per user—others still don’t have policies to make their software cloud-friendly. In some cases, taking their software to a cloud infrastructure can make a project cost prohibitive.

So, what should you look for and worry about when determining software licenses?

Software licenses based on physical hardware

In one of the worst case scenarios, vendors allow customers (users or even service providers) to license the whole hardware and run the software on as many virtual machines (VMs) as they need on that hardware.

This is feasible when the software is needed on a large volume of VMs, for example an operating system that will run a considerable amount of VMs. However, when the software needs to run only on a few VMs, this can become very expensive. The main issue is to license not one whole hardware box but all the hardware boxes running in the cloud infrastructure. This is because in a cloud model, a VM can be running on a given hardware now and on another in the next hour. A possible workaround in this case is to design the infrastructure so that only specific boxes will run that software.

Virtual CPU capacity

A virtual CPU (vCPU) in a cloud model is not necessarily equivalent to a physical core. It might use a percentage of it, and sometimes, to get the same computing power you’d have on one physical core, you need to use several vCPUs. This could be an inhibitor from a cost perspective, because if a software vendor considers a vCPU to be the same thing as a physical core, the license cost could be multiplied by three or four.

A good approach in this case that some software vendors are taking is to determine how their license units are related to a given cloud infrastructure, such as IBM with SmartCloud offerings.

Software license tracking

Tracking software licenses was always a critical and difficult task. Although automation solutions are available, it is definitely still not easy. How about in the cloud, where you have all the scenarios described above? The tip here is: when planning to use software in a cloud infrastructure, make sure you determine how to track its usage smartly and generate reports to assure compliance aspects.

Do you have anything else to add to this list of software licensing challenges in the cloud? Go ahead and leave your comment below or connect with me on Twitter.