Tuesday 4 October 2016

Delphix reduces Oracle Database License Consumption

One of the line items on a Delphix return on investment calculation is reduction in database licenses.  In truth this is more of a cost avoidance benefit rather than an immediate saving but nonetheless customers understandably want to know how this is achieved.

Databases are usually licensed based on processor counts making a database processor an expensive resource.  The costs for these resources are constant and hence, rather like an aircraft that only earns money when it is flying, the aim is to keep database servers as busy as possible.  For cloud deployments the primary method to reduce costs is to release resources when not required, even temporarily.  The same rule should be applied to on-premise.

Common setups that consume license unnecessarily include

1.    Dedicated Test and Development Servers

1.1. Dedicated test servers locked into a project or team because of the difficulty in re-tooling it to switch workloads.

1.2. Regionally aligned development servers for geographically split teams, because of the difficulty in re-tooling it to switch workloads.

2.    Offload Production

Running CPU consuming processes on database licensed CPUs that could be offloaded elsewhere.  Production servers are a good example where any process that can be offloaded to a downstream server should be.

3.    Premium Cost CPUs

Running non-production workloads on premium costs servers.  Some processors attract a higher scale factor for license calculations so using the lowest cost processors (from a licensing perspective) on non-production database servers may mean running development and test on a different operating system.

4.    Premium Cost Hypervisors

Some hypervisors, notably VMware are not recognized as hard portioned servers meaning the entire database server must be licensed because the hypervisor ‘walls’ are not recognized.  Using a hypervisor that is recognized for hard partitioning can eliminate this issue, of example Solaris Containers on Solaris x86.

5.    Multi-tenant

Running many database instances consumes excessive database server capacity.  Multi-tenant consolidates consumption at the cost of additional licenses.

6.    Peak Sizing

Sizing for peak capacity on-premise.  Use cloud bursting to handle peak and license only for business as usual on premise.

7.    Inefficient Database Usage

Since database processors are expensive and application performance is always important, performance tuning can kill two birds with one stone, improve application performance and reduce license consumption.


Warning

Before proceeding it is worth mentioning that Database licensing is a very sensitive topic and any actions taken to reduce license obligations must be validated with the database vendor.


How can Delphix help?

Lets take a look at each of the scenarios above and examine how Delphix can assist.

1.    Dedicated Test and Development Servers

Solution (Part 1): Stop and Start Virtual Databases

With Delphix when a database (database server instance and data) is not required it can be shutdown, safe in the knowledge that the database can be restarted at any time with no loss of data.

This simple capability allows a given database server to be shared or time shared by more users or database workloads, increasing database server utilization is key to getting better value from your database licenses.

Two prime examples where this works particularly effectively include sharing database server resources across timezones, where teams can utilize the same server at different times of the day and end to end provision and tear down of test resources including databases for automated testing.

Solution (Part 2): Database Versions (branches)

Delphix allows an individual to work on more than one database version without consuming additional database server resources.  Delphix can switch between database versions, shutting down the current version and starting up the desired version.


2.    Offload Production

Solution: Delphix virtual databases

This is one of the primary goals of Delphix, to allow production servers to focus on supporting production activity and offloading any non-production or semi-production workloads to non-production servers and virtual databases.  For example spinning up a set of reporting servers can offload reporting activity from production.  Spinning up a set of virtual databases synchronised to the same point in time can offload production from ETL processes used to maintain Warehouse or Analytics databases.


3.    Premium Cost CPUs

Solution:  Cross Platform Provisioning (XPP)

Oracle uses a scaling factor for processor licenses depending on the processor in use and this ranges from 0.25 to 1.0.  This can have a substantial impact on license costs, see Oracle Processor Core Factor Table.

Delphix can be configured to ingest data from one Oracle platform and provision to another, for example from AIX to Linux.   This capability relies on Oracle transportable tablespaces and RMAN endian conversion but once configured becomes a completely automated, repeatable workflow.

All development and test activity can be performed on lower cost Linux environments and any AIX specific tests can be covered during pre-production testing on an AIX test environment.

4.    Premium Cost Hypervisors

Solution:  Heterogenous Provisioning

Several customers choose to run on Solaris x86 since Solaris Containers are treated as hard partitions allowing physical servers to be carved up into reduced size licensed virtual servers.

Conversion to Solaris x86 can be performed directly between Linux and Solaris x86 Oracle databases, and this capability will be available seamlessly from Delphix in an upcoming release.  Just as for XPP, a Pre- Production Environment can be used to test any platform specific issues after all the development and the vast majority of test iterations have been performed on Solaris x86.

5.    Multi-tenant

Solution:  full support for pluggable databases

Oracle’s 12c multi-tenant database option allows multiple, pluggable, databases to share the same set of background processes and memory reducing the overall CPU consumption,  The trade off is between the cost of the multi-tenant option and the alternative of licensing more CPUs to handle multiple standalone instances.

If it works for you, Delphix can virtualize and provision pluggable databases which can be assigned to individuals allowing them to manipulate their pluggable databases as if it is a standalone database.

6.    Peak Sizing

Solution:  Burst into the Cloud

Almost all customers size their non-production environments for peak activity on the assumption that all non-production activity will run on-premise.

With Delphix, synchronizing on-premise data with a cloud based Delphix Engine is trivial to setup and maintain.  Reducing the on-premise estate to business as usual activity and then leveraging cloud based environments for peak activity reduces your overall server and license spend.

7.    Inefficient Database Usage

Solution:  Automated performance tests

Delphix is perfect for running relentless performance tests, both regression tests and benchmark tests, particularly if these are automated.


Summary

Delphix is a key component for any strategy to reduce or at least trim expansion of database licenses and database server resources.   The range of options is:

1.    Workload Consolidation on development and test servers, through fast provision/de-provision
2.    Offload Production by supporting all additional workloads on non-production servers
3.    Lower Cost CPUs, through cross platform provisioning
4.    Lower Cost Hypervisor, through heterogenous provisioning
5.    Multi-Tenant, full support for Oracle 12c multi-tenant
6.    Trim on-premise Capacity, use Delphix to burst peak workloads into the cloud.
7.    Tune to Trim, run performance tests routinely and systematically with Delphix

With this range of options there is something for everyone.  However it is true that this kind of initiative must be planned and executed over time.