Rocket UniData 8.1 gets more SaaS-y: account-based licensing
One of the cool new features released in Rocket UniData 8.1 is the ability to define virtual groups of accounts and allocate a maximum number of licenses that can used by that virtual group across one or more accounts.
Why Might You Care?
Go talk to your DevOps people who need to guarantee that they can always access their UniData solutions and tell them that they can now guarantee that by declaring one license for their own virtual use. Administrators who get called in the middle of night with ‘user limit reached’ can now ensure they can access and diagnose what went wrong. Previously they couldn’t connect to the system either (no more users bro!) so had to bounce the machine just to connect.
So who else might care? Ask the business people who want to create a SaaS offering to allow multiple customers to access their unique accounts on your solution platform and need to make sure customers don’t consume all the licenses accessing one account or want to determine charging based on a fixed number of users for each account. Voila!
UniData 8.1 is flexible enough for you to allocate just what you need to a single account, a pool for a number of accounts and, whatever is left, is used by a default group for all the other users if DevOps and administrators haven’t grabbed the rest for themselves.
How Does It Work?
So enough of the brave new world pitch; how does it actually work?
There’s a new file called acct_licn.def which is used to configure the option (/usr/ud81/include for Unix, $UDTHOME\include on windows)
It could look something like this:
Logical Account,Licence Seats,Connection Pool Seats,Description dev-acct 5 5 Dev CORP /disk1/accounts/ud/ACCT_DEV1 /disk1/accounts/ud/ACCT_DEV2 rep-acct 5 5 RPT Corp /disk1/accounts/ud/ACCT_RPT1 /disk1/accounts/ud/ACCT_RPT2
So in this configuration we have two virtual groups of accounts (DEV1 and DEV2 in dev-acct and RPT1 and RPT2 in rep-acct).
Each of these has five License seats and 5 Connection Pool seats.
Check Yourself Before You Wreck Yourself
You can’t configure more seats than are available for the full system, so there’s a command to check that the configuration is good and when all is good can be loaded into the environment:
listuser –a check (to check) listuser –a reload (to load the account based definition)
In my example below I have 32 seats and 12 connection pools in total and you can see 22 seats and 2 connection pools are left in default after the others are dedicated to the virtual groups:
listuser -a list Logical Account Name DB Seats/Used CONNPL Seats/Used default 22/0 2/0 dev-acct 5/0 5/0 /disk1/accounts/ud/ACCT_DEV1 /disk1/accounts/ud/ACCT_DEV2 rep-acct 5/0 5/0 /disk1/accounts/ud/ACCT_RPT1 /disk1/accounts/ud/ACCT_RPT2
NOTE: ‘default’ is the name of the virtual group that unallocated licenses get assigned to for generic consumption across other accounts.
If you exhaust the number of seats in a virtual account group you will get an error from udt which says “License limit reached for logical account:rep-acct” followed by the normal “UniData user limit has been reached, and license cleanup failed.”
UniData will manage your licenses correctly even when logging between unassociated accounts in different pools. It doesn’t support device licensing across these pools so that should not be used in conjunction with account based licensing.
I hope you get to try this out in UniData 8.1 and start thinking of new business models you could generate using this functionality.
For detailed information review the technical webinar on UniData 8.1 features.