April 28, 2009

The Benefits of Virtualizing the Marketing Environment

With customized database marketing automation continuously growing, I thought it would be an interesting idea to write a mock letter that could apply to many companies out there who are no longer “new” to database marketing. This letter is a proposal to port an existing marketing environment to a virtual machine. The marketing environment in the example below is a couple of years old, and highly successful in its current implementation. The business processes for the campaign development lifecycle are robust and there are no immediate plans to modify the existing environment.

However, the marketing environment is victim of its own success since the automation of campaigns often have diminishing returns. When the marginal cost of automating a particular campaign is very low, campaigns are most often implemented and automated without consideration of their computing resource consumption. Over time, the resources used by these automated campaigns add up to a non-trivial amount and the marketing environment soon starts running low on database, computing or storage resources.

This is a dilemma for any marketing organization because the business processes behind the marketing organization might need to adapt and slow down in order to prevent overconsumption of allocated computing resources. This directly affects the campaign development lifecycle and moreover, increases the required maintenance and monitoring by the support group. This problem will only exacerbate over time, and the instead of optimizing, the marketing environment starts degrading.

From: Amol Potdar [Marketing IT Support]
To: John Director [Enterprise Marketing Group]
Subject: The Benefits of Virtualizing the Marketing Environment

Dear Mr. Director,

“Virtualization” has become one of the big technology buzzwords in 2009, and like many buzzwords in the technology sector, its meaning may not be obvious to all. To make sure we are on the same page, I hope be then end of this email to give the term “virtualization” some context and explain what benefits virtualization can bring our company’s marketing environment.

Scalability, arguably, is the single greatest benefit that can be derived from virtualizing our campaign environment. As campaigns start going live, they are automated to run on a regular schedule so that the campaign developers’ time is freed up to work on new campaigns. As our campaign environment has matured, multiple ‘lights-out’ automated campaigns are consistently running in the background and developers find themselves competing for resources with existing production campaigns. Upgrading a traditional production environment would require a re-install of all major server components and the migration of existing campaigns to another server, requiring weeks of downtime. However, with a virtualized environment, resources such as processing power and memory can be allocated to the application in a very quick manner, often requiring only the restart of the virtual machine. Allocation of additional computing resources can be achieved on an incremental ad-hoc basis, completely eliminating the marketing environment overhaul normally necessary.

We have a highly optimized campaign environment with automated scripts running in the background, initiated by other marketing application processes. But anytime new custom scripts, or campaign interface processes, are deployed there is always a risk that the new process interferes with existing processes on the server. For the marketing group, customization is highly beneficial since it allows campaign developers finer control and more capabilities on any particular campaign. However, each attempt at customization must be carefully weighed against compliance with existing enterprise policies and standards. This has always been a cumbersome process where we as the marketing support group have had to present a business case requiring review, sign-off and approval from the enterprise architecture group.

But, a virtualized campaign environment is by definition isolated and therefore the risk of new custom processes causing interference with other enterprise applications is minimal. This is a win-win scenario for both the marketing group, marketing support group and the enterprise architecture group since this customization and compliance review process becomes unnecessary. This will allow us to push the marketing environment customization envelope further to better serve the marketing group while at the same time mitigating technical risks at an enterprise level.

Backwards compatibility in our marketing application is a major concern for us. Our marketing software partner periodically releases patches and upgrades to the software product. Our standard operating procedure is as follows:

  • Create copies of production campaigns in the Development environment
  • Backup the Development environment
  • Apply the software upgrade patch
  • Start testing process to confirm existing campaigns run as designed
  • Rollback and restore development environment if patch breaks any campaigns

Currently the cycle time for the above steps is two weeks. Mainly, copying campaigns to the development environments and roll-back/restore in case of error are the most time consuming steps. With a virtualized campaign environment, we can easily clone the existing production environment and apply the upgrade patch to the clone. The testing process can occur on the upgraded environment clone and in case of error; the clone can be simply deleted. This will reduce our upgrade testing process from two weeks to three days!

Overall, virtualization will simplify the maintenance of the marketing campaign environment. This will change our support and maintenance procedures and add some steps due to the virtual campaign environment, but the benefits significantly outweigh the additional work required by allowing us increased scalability, added customization capabilities, reducing compatibility issues and environment upgrade efforts.