Oracle Trusted Partitions (sub-server licensing) added to Oracle's Virtualisation Licensing Policy
13 Nov 2012 by Simon Haslam (in Licensing)
Please note that this post only relates to Oracle Exalogic and Exalytics systems running Oracle VM Server.
A couple of weeks ago I was chatting to Jacco Landlust and he mentioned he'd seen an updated version of Oracle's (licence) Partitioning Document which introduced the term "Oracle Trusted Partitions". This was news to both of us and appears to have arrived fairly recently, possibly not long after Exalogic Elastic Cloud Software version 2 (i.e. Virtualised Exalogic). There's not much written about Oracle Trusted Partitions yet - Mark Rittman (quick off the mark as ever!) blogged about how the numbers might work with Exalytics here - so I thought I'd write up some analysis of this new development and where it might lead.
In short, my understanding of Oracle Trusted Partitions is that they are:
Firstly let's get the legalese covered - on every page of the document it says:
"This document is for educational purposes only and provides guidelines regarding Oracle's policies in effect as of September 05, 2012. It may not be incorporated into any contract and does not constitute a contract or a commitment to any specific terms. Policies and this document are subject to change without notice. This document may not be reproduced in any manner without the express written permission of Oracle Corporation."
I really have never really understood whether that last sentence means you can't even quote text from the document, however, so as to definitely not fall foul of that clause, I will only refer to statements in Oracle's document by means of the PDF page number and approximate paragraph within the page.
I assume most readers are already familiar with Oracle's licensing concepts of "hard" and "soft" partitioning, the upshot of which is that, in x86-land anyway, if you want to license Oracle on a subset of processors on a server you need to use either Oracle VM Server or Solaris Zones (with specific configurations). In other words, if you virtualise your server with anything else, such as VMware vSphere, you need to fully licence all of the processors in the physical server for all the Oracle products that can run in any of the virtual machines on that server at any time.
Description of Oracle Trusted Partitions
So let's start with what systems currently qualify for licensing by Trusted Partitions (document page 3, table at top): these are Exalogic Elastic Cloud and Exalytics In-Memory Machine and they have to be running EECS 2 or Exalytics Base Image 2.0 respectively.
The document (page 3, half way down) also says that any VMs licensed as Trusted Partitions need run an Oracle Enterprise Manager (OEM) 12cR2 or later agent. This is so that it can periodically record the number of vCPUs running allocated to the VM. You also need either: to connect your OEM Cloud Control system up to My Oracle Support (MOS) so that it can automatically upload this vCPU usage data to Oracle, or else, run quarterly usage reports from OEM (keeping them for at least 2 years and providing them to Oracle when requested). MOS notes 1471719.1 and 848962.1 describe configuring OEM Harvesters to upload data, i.e. the vCPU metrics seem to be bundled with the other data uploaded by either OCM or OEM GC/CC.
Regarding the number of Oracle Processor licences you need, Oracle is counting a virtual CPU (vCPU) the same as a core (document page 3, second paragraph). You have to buy licences in multiples of what would be required for one physical processor in a socket (e.g. a server with 6 core Xeon processors would need licences in multiples of 6*0.5=3 Oracle Processors) and you have to have sufficient licences to cover all the vCPUs allocated to all VMs ever running at the same time, capped at the number of Oracle Processor licences you would have needed were you to physically license the server.
Finally there is no mention that Trusted Partitions offer any sort of licence flexibility over time. In fact Oracle specifically says (document page 4, fourth paragraph) it does not recognise any sort of dynamic, use-based licensing - you must buy the number of licences you need when you buy the hardware.
The requirement to license in multiples of the number of the underlying server processors is an interesting point. For starters if you have an Exalogic X2-2 (which runs Intel X5670 6 core processors) you will therefore need to buy licences in multiples of 3, whereas if you have a new Exalogic X3-2 (Intel E5-2690 8 core processors) you will need multiples of 4. I can understand in the physical world you have to licence a whole number of processors (though arguably you could switch off cores in the BIOS but Oracle doesn't recognise that as a means of hard partitioning), it's not clear to me why there needs to be such a restriction with Trusted Partitions when you can measure with a granularity of 1 core - a more customer-friendly approach would be to restrict the licence to a whole numbers of Oracle Processor licences (i.e. multiples of 2, not 6 or 8 as today). Note that there is already a precedent for this: with core factors Oracle stipulates you must always round up the required processor licences to the nearest whole number.
Curiously I don't see this restriction based on the physical processors when you are doing hard partitioning by pinning VMs to processor cores (see Hard Partitioning With Oracle VM Server for x86) so either I have missed that, or, the two approaches are inconsistent (e.g. what if you manually pinned your Exalogic VMs to cores rather than using Trusted Partitions?).
The potential impact for customers of this restriction is in the medium term - when they renew their hardware they may be left with some unused licences but for which they still have to pay support ("destroying" licences means re-negotiating the support contract at current rates and is, in practice, rarely cost effective for the customer). This is actually no worse than licensing physical servers where customers often seem to end up with a peculiar numbers of licences, however a new approach like Trusted Partitions could give Oracle an opportunity to tidy up some of these anachronisms.
The statement about limiting capacity to the amount purchased at the time the server sounds to me like a legacy of old versions of the document too and is at odds with some of Oracle's recent marketing. For example if you buy a half-rack Exalogic today but within that you want to leave some spare capacity that you can grow into, and license, later this seems to be precluded - I would like to see this allowed for Trusted Partitions.
Taking a wider view, there is no doubt in my mind that many, if not the majority of, Oracle customers are eager to license Oracle products on a basis that is not tightly coupled to physical servers. This is motivated by two drivers: the latest generations of x86 processors now have many more cores than you often need for a single, say, middleware host (and have you tried to buy a fast two core processor recently?); secondly, systems architects are wanting to deliver homogeneous compute farms ("private cloud" in today's jargon) to improve utilisation and efficiency of their server investments (in the same manner that centralised storage has done).
Relevant to this point, a few months ago Oracle's Richard Garsthagen ("Director for Cloud Business Development for Oracle in EMEA" according to references online) clearly stated in an interview that VMware DRS could be used as a means to limit where in your server farm VMs for Oracle products could run and that furthermore DRS logs could be used as evidence for licence audit purposes. This video was quickly pulled from YouTube (but copies are available on the internet, e.g. on the License Consulting website) and an official Oracle Virtualization Blog post was published a few days later for "Clearing up Misconceptions". Richard sounds like an sensible and pragmatic technical chap (who used to work for VMware by the way) but seems to have stumbled into the Oracle licensing minefield! Nevertheless given the amount of noise this one statement made I think shows some pent-up demand from customers for more flexible Oracle licensing in virtual environments, of which Oracle Trusted Partitions could be a step in the right direction.
Oracle Trusted Partitions are most definitely a welcome new concept and, for future owners of some of Oracle's engineered systems, could make an important saving to their licensing and support costs, especially where they are running many different middleware products. The fact that they provide a mechanism for continuously auditing processing capacity usage may be an enabler for Oracle to offer "pay as you go" licence/support models in the future, and because the reporting mechanism uses Oracle controlled software such an approach could be extended to other virtualisation platforms should Oracle chose to do so.
The obligatory disclaimer: I am a mere mortal who
is not legally trained and am not able to make definitive statements
about Oracle's licensing policy. For Oracle licensing advice you should always study
Oracle's official documents, consult (i.e. pay for) an experienced
independent licensing specialist or, if you really have to, ask someone
who earns their living by selling licences.