In this blog post, I show you how you can track and enforce licensing for your IBM software products running on AWS or on-premises. IBM licenses many of its products using a processor-based licensing approach by Processor Value Units (PVU). IBM defines a processor, for purposes of PVU-based licensing, to be each processor core on a chip. For Amazon Elastic Compute Cloud (Amazon EC2), each vCPU for an instance consumes 70 PVUs.
Before I get to an example, let’s review how vCPUs relate to CPUs in Amazon EC2. Amazon EC2 instances support multithreading, which enables multiple threads to run concurrently on a single CPU core. Each thread is represented as a virtual CPU (vCPU) on the instance. An instance has a default number of CPU cores, which varies according to instance type. For example, an m5.xlarge instance type has two CPU cores and two threads per core by default—four vCPUs in total. If I wanted to reuse a licensed IBM product on an m5.xlarge instance, then I would need 280 PVUs (70 PVUs x 4 vCPUs). There may be other restrictions such as a limit on the number of processors, cores, or minimum user count depending on the IBM software product you are using. Refer to IBM’s documentation and your specific licensing agreements to confirm whether this applies to your situation.
Let’s walk through an example using IBM Db2 Workgroup Server Edition running on Amazon EC2. AWS License Manager can track the number of licenses consumed by EC2 instances using a particular Amazon Machine Image (AMI). First, I must create an AMI with Db2 Workgroup Edition installed. An AMI with Db2 Workgroup Edition can be created by launching an EC2 instance, installing the software, and then creating an AMI from the instance.
Next, I have to set up a license configuration that tracks the number of licenses consumed by the AMI I created. Let’s assume that I have 560 PVUs for Db2 Workgroup Server Edition that we want to make available for development teams to use on AWS. I start by creating a license configuration in AWS License Manager based on vCPUs. Since I have 560 PVUs and each vCPU consumes 70 PVUs, I set the available vCPU licenses to 8 (560 / 70 = 8 vCPUs). I also check the enforce license limit box so that the allocated licenses are not exceeded. I can also set a minimum and maximum vCPU rule so that only instances that consume two vCPUs can be provisioned. By doing this, I’m making four EC2 instances for Db2 Workgroup Server available to the development teams.
Next, I associate an AMI that has Db2 WorkGroup Edition installed with the license configuration I created:
I’ve already created an AMI with Db2 WorkGroup Edition, selected here:
Now, I test license consumption by launching a new instance that uses the associated AMI. From the Amazon EC2 console, select Launch instance:
I select the My AMIs option and select the AMI I associated with our license configuration:
Next, I select the type of instance to use. Recall that our license configuration restricted the instance that I could use to two vCPUs. If I select an instance with more or less vCPUs, the launch fails. I select the r5.large instance type and select Review and Launch:
Once the instance has launched, I return to the AWS License Manager license configurations console and I see that the two licenses (140 PVUs) have been consumed:
Based on my license configuration, I can see that I could launch up to three more EC2 instances that have two vCPUs each with our Db2 Workgroup instances AMI.
Managing on-premises IBM licenses
Using AWS License Manager along with AWS Systems Manager, you can manage licenses on physical or virtual servers hosted outside of AWS. Your servers may have different PVU values based on the type of CPUs they are using. Refer to IBM’s PVU table to determine how many PVUs each on-premises server consumes. You can also use the PVU calculator on IBM’s website.
AWS License Manager allows you to discover on-premises applications using AWS Systems Manager inventory, and then to attach licensing rules to them. On-premises licensing can either be tracked by vCPUs or instances.
Let’s walk through an on-premises example using a new AWS License Manager license configuration for my on-premises servers. For this configuration, let’s assume I have a family of servers that use Intel Xeon 5570 single socket processors. Based on IBMs PVU table, the PVU value for each core of this CPU type is 70 PVUs. This processor supports multi-threading, which means that each core represents two vCPUs. Let’s assume that I have a pool of 1400 PVUs that I have allocated for on-premises use.
In this case, my licensing configuration is as follows:
70 PVUs per core / 2 VCPUs = 35 PVUs per vCPU
1400 PVUs / 35 PVUs per vCPU = 40 vCPUs
Also, my servers contain a single Xeon 5570 processor that has four cores. This is equivalent to eight vCPUs. Hence, I can define a rule to limit assignment of the licensing configuration to servers with only eight vCPUs.
So, my licensing configuration for 1400 PVUs on Xeon 5570 single socket servers is as follows:
I can now search our managed instances software inventory for DB2 and associate the licensing configuration with my servers to track usage:
After the association is made, my license configuration reflects the license usage by the on-premises instance.
The AWS License Manager dashboard can also help you to assess your current utilization. You can use the AWS License Manager API operations to create and integrate reports based on your specific needs. For example, you could use the API to retrieve your IBM license configurations and convert the vCPUs used to PVUs in a custom report. AWS provides API and SDKs to help you build solutions to meet your requirements.
There is no additional charge for AWS License Manager. You pay for AWS resources (for example, EC2 instances) whose licenses are managed in License Manager. Make sure to delete any resources that you do not plan to use in the future to avoid incurring costs.
In this blog post, I discussed how AWS License Manager makes it easy to track licenses for IBM software products helping you avoid the consequences of overutilizing PVUs. AWS License Manager also manages license usage for a wide variety of software products with flexible licensing configuration options. Check out the documentation to learn about more ways you can use AWS License Manager!
About the Author
Khurram Nizami is an Operational Integration Consultant at Amazon Web Services (AWS). Khurram is passionate about helping people build innovative solutions using technology. In his free time, Khurram enjoys hiking, nature, DIY projects, and travel.