ColdFusion Can Scale!
Last week I had someone tell me that ColdFusion was dead, in part because it could not scale for high volume websites. I for one would totally disagree with that argument, as I know many of you would. Let me point out one recent example of why this guy's assumptions were incorrect.
Let me start by pointing out the obvious: anyone who does not understand a programming language can easily build something that works, but in the background is not working efficiently for the tasks at hand. This is not specific to ColdFusion, but is also true for applications built in .NET, PHP etc… One of the great things about CFML as a language is that it's fairly easy for someone to pick up and learn. This also leads to a problem as it allows novice developers to build large applications without truly understanding what works efficiently and what does not. So for my argument, I am pointing out the difference between a novice developer and someone that really knows ColdFusion inside and out.
Okay, on to my real world example of ColdFusion handling large volume websites without a problem. I cannot mention any names here for various reasons. So there are some things I cannot fully go into detail about here. I can summarize that the sites are all e-commerce based applications. They were originally developed for ColdFusion MX and have been upgraded along the way and are current to version 8.
The sites run on 4 clustered web servers talking to a SQL Server database. The clustering is achieved via two hardware based load balancers. Each web server runs ColdFusion 8 Enterprise utilizing the multi instance functionality. Each of them have 5 instances a piece, with each of those running 2 web sites. They all utilize a couple of COM objects for certain pieces of functionality along with a couple of Java libraries that perform others. The rest of the sites are all pure CFML based.
Since this architecture was put into use, we have had no downtime due to application server lockups or failures. Without saying too much here, I will say they process thousands of dollars in orders every day, and at peak selling times that number is in the millions. So yes, ColdFusion can scale quite nicely!
I also would like to point out here how much planning was spent on design and architecture, then coding based on that final design. There was no coding blind here. Everything was thought out and some ideas were even tested on their own before they were implemented. Good design from the hardware end to the application end is crucial!