Keeping Web sites in sync across multiple servers in a clustered environment has never been an easy task. Not only do you need to keep content and Web pages in sync, server settings need to be maintained as well. The Archive and Deploy capabilities in ColdFusion MX 7 provide improved Web site maintenance. We will discuss this functionality along with some other options in the following section. What to Maintain?When you are attempting to maintain your Web site across multiple servers, what do you need to maintain? This is sometimes a tough question to answer if you are not solely responsible for all of the Web servers, their operating systems, and Web applications. Typically these responsibilities are shared among several individuals, each with their own methods for maintaining settings. You might want to consider the following settings when you're attempting to keep your Web site servers in sync:
Keeping up with all these different sets of configurations can be a gargantuan task requiring patience and attention to detail. There are several methods for performing these functions, but no one method performs all of them by itself. You may want to employ a combination of techniques for deploying and maintaining your clustered server farm. Here is a partial list of options:
Archive and DeployColdFusion MX 7 has several methods to deploy ColdFusion applicationsincluding some new ones such as sourceless deployment, which lets you deploy your ColdFusion application without including the original source code! To read more about these exciting new features, refer to Chapter 6, "Deploying Applications." Other OptionsMany other options exist for deploying applications and copying files. None of these options will deploy ColdFusion MX 7 administrator settings, but they can deploy other information to your Web servers. Options include source-control software like Concurrent Version Control (CVS) the free open source de-facto standard for version control or Visual Source Safe from Microsoft. Visual Source Safe, for example, can deploy files and directories to servers by pulling the latest version from its database and copying to a working directory. NOTE If you are not using version control, you should. There is no good reason not to. Many excellent free and commercial version-control programs are available that are not only easy to use but can actually save you time developing software. More importantly, they will protect you from accidental overwrites, lost code, and various other hazards. Other software, such as Robocopy from the Microsoft Windows Resource Kit, can copy files and directories by means of scripts. Using Robocopy is as simple as invoking it from the command line, specifying a target and source directory, and pressing Enter. Robocopy also supplies several useful command-line attributes that enable you to customize your replication system. Robocopy enables you to use UNCs so you can access content on NT servers across a network. After you determine your content-replication scheme, simply put your Robocopy command in a CMD file somewhere in the system path, and trigger it with the Windows 2000 Task Scheduler Utility. Mirroring software such as Symantec's Ghost will create an exact image of your server and allow you to copy this image onto another server. This provides a complete solution for creating an exact copy of each server in your environment. Setting up a dedicated file system on a back-end machine that contains your entire Web site is another alternative for synchronizing content. You would point the roots of each machine's Web server at that shared volume. If you have a fast network and the dedicated file system is highly optimized and reliable, this option can be efficient. You don't need to worry about sending copies of each file to each server. One risk, though, is that the file system will receive a huge amount of load, and it will become a single point of failure. Consider setting up a redundant clustered file system in case you suffer an extremely rare event such as a controller card failure. The major disadvantage of this approach is that accessing files over the network is always slower than accessing a drive on the same machine. You also have to worry about network collisions due to the high network traffic to this single file system. While there are many solutions for deploying your Web site to multiple servers, none of them is a complete solution, and some will not run in environments other than Windows. There are several solutions for maintaining files and directories, but none of the options discussed here offers methods for keeping your operating systems and Web servers in sync, except Symantec's Ghost. ColdFusion MX 7's Archive and Deployment options provide a robust solution for synchronizing your ColdFusion environment in any server environment that ColdFusion MX 7 supports. This is a viable solution for the ColdFusion developer. |