Tuesday, May 22, 2012    
Home My Books Blog ColdFusion About Me Back    

Calendar
<< Dec 2008 >>
S M T W T F S
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Search

Categories
 • Acrobat (5) [RSS]
 • Adobe (117) [RSS]
 • AdobeMAX06 (45) [RSS]
 • AdobeMAX07 (59) [RSS]
 • AdobeMAX08 (66) [RSS]
 • AdobeMAX09 (39) [RSS]
 • AdobeMAX10 (34) [RSS]
 • AdobeMAX11 (28) [RSS]
 • AdobeMAX13 (1) [RSS]
 • AIR (299) [RSS]
 • Appearances (217) [RSS]
 • Books (86) [RSS]
 • CFEclipse (15) [RSS]
 • Cloud (1) [RSS]
 • ColdFusion (1483) [RSS]
 • ColdFusion Builder (23) [RSS]
 • Data Services (43) [RSS]
 • Fish Tank (5) [RSS]
 • Flash (368) [RSS]
 • Flex (565) [RSS]
 • Home Automation (5) [RSS]
 • HTML5 (36) [RSS]
 • JavaScript (3) [RSS]
 • Jobs (133) [RSS]
 • jQuery (15) [RSS]
 • JRun (14) [RSS]
 • Labs (63) [RSS]
 • LiveCycle (37) [RSS]
 • MAX (285) [RSS]
 • Mobile (257) [RSS]
 • PhoneGap (17) [RSS]
 • Regular Expressions (19) [RSS]
 • RIA (21) [RSS]
 • SQL (45) [RSS]
 • Stuff (554) [RSS]
 • Tips (CF Studio) (80) [RSS]
 • Tips (CF) (795) [RSS]
 • Tips (Dreamweaver) (91) [RSS]
 • Tips (Flex Builder) (2) [RSS]
 • Using CF (167) [RSS]

Other BLOGs
 • Charlie Arehart
 • Lee Brimelow
 • Ray Camden
 • Christophe Coenraets
 • Sean Corfield
 • Mihai Corlan
 • Cornel Creanga
 • Mark Doherty
 • John Dowdell
 • Danny Dura
 • Enrique Duvos
 • Steven Erat
 • Kevin Hoyt
 • Serge Jespers
 • Adam Lehman
 • Duane Nickull
 • Miti Pricope
 • Andrew Shorten
 • Ryan Stewart
 • James Ward
 • Greg Wilson
 • Full As A Goog

RSS Feeds
 • Feed
 • Subscribe

Join my mailing list and find out about new books and other topics of interest.

Thoughts, ideas, tips, musings, and pontifications (not necessarily in that order) by Ben Forta ...
NOTE: This is my personal blog, and the opinions and statements voiced here are my own.

Viewing By Entry / Main
December 9, 2008

Mike Brunt On High Availability ColdFusion

Former ColdFusion team member, Mike Brunt, has written an article for the Adobe Developer Connection entitled Using ColdFusion to enhance scalability and high availability. Mike covers high availability concepts, hardware considerations, clustering, and more. This one is well worth the read.

Comments
good.thanks
# Posted By keriman | 12/9/08 10:22 AM
Not a bad article, but places too much emphasis on session-based servers. It barely mentions client-based systems, and even then it delivers a knock with "unable to maintain complex variables."

In my opinion if you're at the point were you need to scale to multiple servers you probably shouldn't be using session-based variables anyway. They won't fail over correctly when a server drops offline, and if traffic levels are that high you shouldn't be storing a bunch of "complex" variables per user anyway.

Also fails to mention additional scalability enhancers like using dedicated "application" servers to manage membership information, logins, registrations, etc.. In which case dumping CF's session/client system may be in order.

The only time high-scalability sites should consider sticky sessions, again in my opinion, is when you're using HTTPS/SSL to the server in question. And even then you may be better off with a load balancer that can handle SSL on the front end with dedicated hardware.
# Posted By michael Long | 12/9/08 4:38 PM
This article is coldfusion clustering 101. There is a whole can of worms underneath this when you actually build a CF based cluster.

It doesn't mention verity, and due to the OEM license, you will have major issues if you try to run it on a cluster.

he says 'The replication mechanism is the key here' but doesn't really say what options you have ? are there alternatives to robocopy ? what other techniques could be used? This is a massive headache if you have an app that does content uploads.

Also, if you go for a setup like this the costing can go up by a factor of 10 over a single server setup. This is in the extra hardware, configuration and CF licensing costs.

Im not saying im against CF clustering. Its a great solution for high availability sites, but you really have to have a good business case to support it.
# Posted By pat branley | 12/9/08 7:16 PM
@Michael, I notice you blogged about high availability in Dec 2007 raising several points worthy of investigation. Will you follow this up with a more detailed article about the best ways to cluster in terms of hardware and software options please? It sounds like you have a lot of experience with this and I'm sure it's just dying to be shared! ;-) There isn't anything out there from Adobe or the blogsphere to explore clustering beyond the basics to include real-world problems that can be encountered.

There are many points to discuss. Some of my own questions would be:
Should sticky sessions ensure availability if one server goes down? (It doesn't appear to be that reliable) What is the performance hit if client vars are used instead? How can you use client vars if you have complex data types? What about the performance hit if you WDDX the client vars? What if the CF servers have tons more spare resource than the db servers, how can we work that into a clustering plan?

@Ben, you must have encountered many different cluster and scoping configurations on your travels, not to mention stories about what worked for people, what didn't and how problems were overcome. Are you storing this up for a forthcoming book? ;-)
# Posted By Gary Fenton | 12/9/08 7:22 PM
@Pat: So true. CF licensing tends to bias servers towards one or two massive (and expensive) multi-cpu systems rather than many cost-effective 1U servers or blades. You can buy a semi-decent 1U server for the cost of a CF license, and three or four for the cost of an Enterprise license.

Put another way, CF tends to effectively double the cost of every server you field.
# Posted By michael Long | 12/9/08 7:55 PM
I am sorry to be late in responding to these comments, I was not aware that Ben had been kind enough to blog about my Adobe article. No doubt any shared scope is a challenge with clustering and I always recommend using request scope rather than application scope and client scope rather than session scope. I have found replication of the session scope to be problematic and unpredictable but that is usually because it is an application with very large complex objects in the session scope. So session replication be it simple variables or complex variables is a challenge, using WDDX to mitigate this carries an overhead which may or may not be acceptable.

You are all right that this article mostly covers concepts which in my opinion are important. Each actual design of clustering will be very application/infrastructure specific and it is difficult to be more detailed in a general way. I have been involved in several and it takes a lot of planning and also testing of each concept to validate before production roll-out. Things such are replication always poses challenges whether for clustering needs or not.

Thanks for all the comments, you have given me food for thought for future articles.
# Posted By Mike Brunt | 1/6/09 7:43 AM

  © Copyright 1997-2009 Ben Forta, All Rights Reserved