I first mentioned this half a year ago during my summer CFUG tour, but a few of you have asked about it recently, and so …
ColdFusion MX Enterprise features support for multiple ColdFusion instances. Although actually, that is less a ColdFusion feature and more a J2EE server feature that ColdFusion users can take advantage of. ColdFusion MX, after all, is a Java application (deployed as an EAR or WAR, like any other Java application). I’ve discussed the benefits and the importance of using multiple instances before, but simply put, using multiple ColdFusion instances provides greater security, greater stability, and greater scalability (almost like having ColdFusion installed on multiple physical servers, but all on one server).
The current shipping version of ColdFusion Enterprise supports the use of multiple instances. If you have an existing J2EE server, you can create multiple EAR or WAR files, and can then deploy them (as you would any other Java application). If you do not have an existing J2EE server, the ColdFusion installer can install JRun 4 for you, and in doing so will also create and deploy the first ColdFusion instance so that you can be up and running immediately. But when you want to deploy additional instances, then things get a little tricky for users without experience in J2EE server administration. You’ll need to use the J2EE server administration tools to create a new server, run the ColdFusion installer to create the EAR or WAR, expand the files (if using JRun), make tweaks to an XML file, then copy the expanded files into the server folders … doable, but not exactly a trivial process. (And unfortunately, this is why so many users have yet to deploy multiple instances).
Blackstone should make this a whole lot simpler. (I say “should” because Blackstone is still in beta and stuff could still change between now and when we ship). Blackstone should have the same three installation options that are present in ColdFusion MX 6.1, but selecting the JRun+CF option in Blackstone installs additional administration screens that make the deployment of instances (and even the creation of clusters of instances) as simple as any other ColdFusion administration processes. You’ll be able to simply fill in a form and hit a button to create a new instance, without needing to use the JRun management tools or the ColdFusion installer, without needing any XML tweaks, and without even knowing what an EAR or WAR file is.
How could this be used? Consider these use cases:
1) You are deploying a brand new application, one that uses its own data sources and is built by a different development team (who need CF Administrator access), and you want the new application to be safely isolated from your existing production applications. Simply create a new instance, launch the ColdFusion Administrator for that new instance, define the data sources and any other needed settings, copy the code, and you are good to go.
2) You are about to deploy an update to your application code, and need to maintain the existing application as a fall-back, just in case something goes wrong. Simply create a new instance, (you could even create a CAR file using the old instance to save data sources and any other needed configuration, launch the ColdFusion Administrator for the new instance and import the CAR file to import those settings), copy the code, associate your Web server to the new instance, stop the old instance (to prevent resources being used unnecessarily), and you are done. If you then need to roll-back, start the old instance, and reassociate your Web server to it. Clean and simple.
3) You have an existing application that is seeing a spike in load (holiday shoppers maybe), and want an additional server running the same application (so that you can handle a greater load, and also provide failover in the event that a server problem occurs). Simply create a new instance, point to the Java package containing the code and settings used for the first instance, and let ColdFusion do its thing. You’ll have a second instance created, configured like the first, and containing the same application as the first. You can then use a second screen to create a cluster (perhaps to enable session sharing between the instances).
You get the idea.
Of course, for those who want more control, JRun will still be installed with its own management software just like it is now, and you can deploy and manage applications just as you can now. But for those of us who simply want to leverage what is undoubtedly the most significant benefit of ColdFusion Enterprise over ColdFusion Standard, Blackstone should make life much simpler.
Leave a Reply