Virtualization of Oracle Envrionments with VMWare - Do Your Homework!
Cloud Computing initiatives within government agencies, and corporate IT organizations are driving the need for asset virtualization. Using virtualization, you can partition a single physical server into multiple virtual environments using virtual machines that can run different operating systems and different applications. Most IT organizations are looking to reduce their software licensing costs and to maximize their server utilization by sharing their server hardware among multiple applications. System management flexibility achieved by being able to run any application on any one of the servers in the virtual environment, as well as high availability provided by automatic restart of systems on failed servers on other available servers in the virtual environment are added benefits with this strategy. Hardware vendors have long provided hardware based server virtualizations such as IBM LPADs and Sun Dynamic Domains.
Recently, software based virtualization using operating system hypervisors are gaining ground over hardware partitioning due to its flexibility. While practically all major software vendors such as IBM, Microsoft, and Oracle offer their own hypervisor based virtualizations, a niche player VMware has managed to capture significant mindshare within the IT community. Some IT shops have made significant investments in VMware by standardizing their virtual environments on VMware, and training their staff on this product.
VMware is positioning their virtualization as the best platform for Oracle by touting various performance benchmarks and success stories. However a consequence we talk through daily with our customers are the Oracle licensing complexities and potential Oracle support issues in VMware environments.
Most Oracle software products are licensed by a server capacity based metric measured by server hardware such as processors, chipsets, cores and sockets. Even user based licensing metrics have required minimums based on server hardware specifications. Some customers try to control their Oracle licensing costs through virtualization. While this strategy when executed correctly can yield significant savings, flawed virtualization strategies produce the opposite effect with significant increases in Oracle licensing costs.
Oracle does not recognize soft partitioning. If you use hardware based partitioning offered by supported hardware vendors or Oracle’s own software based hard partitioning technologies such as Solaris Containers, Sun Logical Domains, or the XEN Linux powered Oracle VM hypervisor, per Oracle licensing policy you are only required to license the processor cores and sockets that are mapped to the Oracle virtual machine.
However, if you use a third party software based hypervisor such as VMware, per Oracle licensing policy you are not only required to license every single processor core or socket on the physical server hardware regardless of how your virtual machine is configured, if you have multiple servers in a VMware cluster you are required to license every single processor core or socket on every single server in the VMware cluster. This is because VMware can limit the server resources to the VM most of the time, but not all the time. For example, when Oracle uses the database scheduler within a VMware virtual machine, VM boundaries are broken.
When we work with our customers who have Oracle environments, we have found that in many cases the best choice for Oracle environment virtualization is to use Oracle VM for X86 on the Intel platforms, and Solaris Containers or Oracle VM for SPARC (also known as Sun Logical Domains) on the Sun platform. At the very least if you are using VMware, you should isolate all Oracle products into their own VMware clusters. (i.e. Oracle database VMs in one cluster, Oracle middleware VMs in another cluster and non-Oracle software and applications into a separate cluster). This way, you can license all the physical hardware on all the servers in that particular cluster with the corresponding Oracle products, and you can avoid having to license the servers that belong to VMware clusters that do not run Oracle products. Another way to deal with the issue is to pull out the Oracle products from VMware virtualization onto separate non-virtualized servers.
Additionally and many organizations are not aware of this, there is also a support issue-surrounding Oracle in VMware virtualized environments. None of the Oracle products are certified on VMware. This is because Oracle has not tested any of their products in VMware environments. Oracle has to certify all their products on all of the supported operating systems, as well as each product on each operating system on Oracle’s virtualization products. Certifying third party virtualizations makes this certification metric infinitely more complex. Therefore, Oracle has decided not to certify their products on third party hypervisors. This means you may run into support issues down the road. You need to be prepared to install your Oracle products on a non-virtualized environment without VMware and reproduce the errors and bugs you encountered in VMware, if requested by Oracle support. All Oracle products are fully certified on Oracle VM for X86 and SPARC, as well as on Solaris Containers. Therefore, there are no support risks when running Oracle products in these virtualization environments.
I wanted to blog about this because we discuss this issue with our customers and partners every day. We work hard to let everyone know the facts to help design the best solution. Each case is unique but we encourage all our customers and partners to fully investigate, in many cases you can achieve the same result leveraging supported Oracle products, driving down your cost and increasing performance within the Oracle stack itself.