Virtualizing Applications with Delphix - part 1

By Adam Bowen posted 09-17-2015 04:56:53 PM

Delphix has enjoyed great success and acclaim for our capabilities around databases, but not many people know that we can deliver the same benefits for applications via our "unstructured data" dataset type. I documented my experience using Delphix to virtualize an ERP application (BMC Remedy) on my personal blog: http:// Others, like Piotr, have also documented some of their experience with other applications ( The possibilities are virtually endless.

What is important. is to understand is the framework for virtualizing new applications. The good news is that companies and organizations that are used to automating applications will be able to easily virtualize the applications, too. Below, I outline my basic thought process (non-exhaustive) when approaching a new application with Delphix. It is important to note, the answers these questions each beg three more questions: "Why?", "Is it automated?", and "If not, can it be automated? (Why Not?)" Automation is not a requirement to gain the benefits of virtualization, but automation usually a key indicator that the application is a good candidate for virtualization.

Understand the Architecture of the Application

  • How many tiers?
  • What is the purpose of each tier?
  • How does each tier communicate with each other?
  • How many nodes?
  • Does the # of nodes and tiers change? (i.e. Dev vs QA vs Prod)
  • Is the application stateless?
  • Does the application leverage/utilize an RDBMS?
  • Does the application leverage the file system for caching or high-transaction temp?
  • After the initial installation and configuration, what changes in the environment? (i.e forms, customizations, etc)
  • Where do those changes get written? (i.e. certain directories on the file system, the database, etc)
  • What is the I/O driven at the various components (filesystem, dba, etc) ?

Understand the Backup, Restore and Continuity of Operations Process of the Application

  • How is the application backed up for DR?
  • How is the application configured for HA?
  • If the power plug on one, or all, of the application tiers were pulled, what would be the process to get the application running again?

Understand the Non-Production Lifecycle

  • How are non-production application instances created?
  • How are non-production application instances refreshed?
  • How are non-production application instances reset after destructive actions?  ( i.e. destructive testing, misconfiguration, corruption"
  • If non-production instances are masked, how is the masking performed today?
  • What I/O loads are typical for non-production instances?

I will post again soon about where to go from here. Leave your comments and feedback. Did I miss something?  I will do my best to address any questions posted.

1 view


09-18-2015 08:34:42 PM

Actually..... I DO have something. I will try to get it up Monday.

09-18-2015 05:36:28 PM

My thoughts above are related to rather traditional application stacks like i.e. Oracle EBS. Do you have experiences with more "distributed" application stacks? Deployed using Chef, based on Docker framework. What best practices would you suggest in case of more "sparse" applications?

There is a nice post explaining Delphix as a source of data for dockerized application. It's great idea but I think we can make one step more and merge dockerization with Delphix based clones of applications....?   

Any ideas? Some use case to implement would be nice :)

09-18-2015 09:49:08 AM

Great points, Piotr! I completely agree. I think more automation present around an application indicates a higher-level of application lifecycle maturity.

09-17-2015 05:50:06 PM

Great points Adam!
I think the potential of virtualizing an application stack by Delphix is proven by Oracle EBS toolkits. Cloning and reconfiguring Oracle EBS is not a piece of cake but Delphix makes it with ease.

In my opinion the best way to approach clonig/virtualization of application is to ask what is the current process of cloning. Probably there are sets of scripts available that are doing the job. Maybe not everything is covered by the scripts but probably it is not difficult to fill the gap. If we reach the point that the process of cloning without the Delphix can be fully automated we can easily merge Delphix vFiles in the process and benefit from it.

Application architectures can be complex but if we develop set of scripts cloning the vital parts of application stack then switching to Delphix is easy. We can use CLI or WebService interface to make parts moving. Flexibility of Delphix is great.

During merging Delphix in the process of cloning we have to not only think about simple cloning but also about Dx features like snapshots, rewind, start, stop. We have to prepare our scripts to cover those cases. It is good to understand what happens with our application when it is started, stopped and when we are going to make a snapshot.

Sometimes it is interesting to do something more during cloning and provisioning. Maybe we should mask our sensitive data? Usually reconfiguration is needed not only in application tier but also in database below. We have to keep this in mind.