I’ve been meaning to write an article on how Oracle’s licensing works with regards to VMware and how to minimize costs, but Oracle Storage Guy (Jeff Browning) said it better in this blog post ( http://oraclestorageguy.typepad.com/oraclestorageguy/2010/05/oracle-license-costs-on-the-vmware-vsphere-platform.html ) than I could have said it. Go read his blog post in another tab and then continue on..
So a real world example. My main vSphere cluster is a 16 blade Dell Cluster. 11 of those blades are Dell M600 blades each with I2 Intel Xeon E5430 processors (those are pre-Nahelm for those curious) and 5 of those blades are Dell M610 blades each with 2 Intel Xeon 5550 (Nahelm). In both cases, each blade has 2 sockets, with each core having 4 cores. With the Xeon 5550 processors, they also have 2 logical (hyperthreading) cores per physical core, giving me a total of 16 logical processors per M610 blade. Oracle licensing does not count logical cores, only physical ones.
Rather than paying to license 8 cores on 16 blades (which at list rates would work out to 8 * 16 * 0.5 * $47,500 ) for $3,040,000 or just over $3 MILLION DOLLARS in Oracle licensing, we have two clusters in vCenter. One of these contains 8 M600s and 3 M610s and basically contains everything in our cluster with the exception of our Oracle products licensed by processor. The other cluster is 2 M610 nodes and it holds all our Oracle databases and other Oracle products that are licensed by processor. That works out to (8 * 2 * 0.5 * $47,500) $380,000 or the same performance for about 1/10 of the price.
Now, you may be asking how those two blades are handling the load – I’m writing this blog entry during the middle of our production day. I’m running 20 Oracle database servers (one instance per VM server) combined on the two blades.
Blade #1 – 1044 MHz CPU utilized, 25897MB RAM utilized
Blade #2 – 4448 MHz CPU utilized, 27093MB RAM utilized
I didn’t make a typo. I’m running 20 database servers essentially off of 2 CPUs worth of processing power (each Xeon 5550 is 2.67 MHz) and I’ve got 32 CPUs of processing power in the two node cluster (4 sockets, each with 4 physical cores, each physical core with 2 logical cores), so that’s not going to be a bottleneck at any time soon.
On the RAM side, each M610 has 48G of RAM and right now I’m utilizing about 48G of RAM. Each M610 can handle up to 192G of RAM, but we went with 12 4G sticks due to that being the current cost sweet spot. Again, not a bottleneck.
So like Jeff said, utilization on Oracle database servers is typically low. If I wasn’t virtualized at all, I’d have to have 20 physical servers and license all those processors for Oracle Enterprise Edition. If I allowed my Oracle VMs into my regular VMware cluster, I’d have all the advantages of VMware (HA (high availability), vMotion, Storage vMotion, etc) but I’d have to pay 10x the cost in Oracle licenses. Instead I’ve got a separate VMware cluster only licensing what I need and getting all the advantages of VMware.
For those curious about what we’re doing with all those instances, some are development / support environments, but we’re running our production Oracle E-Business Suite, Oracle Hyperion, Oracle Agile, and various other smaller load systems on two nodes supporting hundreds of end users.
What can I say? VMware rocks.