We regularly talk to companies and organizations who are migrating their web application platform from ColdFusion to ASP.NET, and one of the most common questions we're asked is, "Why would I use BlueDragon.NET instead of just rewriting everything in ASP.NET?" This is a reasonable question, and there are some cases where it might make more sense to just rewrite; however, we believe that in the majority of cases it makes more sense to use BlueDragon.NET.
When addressing this question, the two major issues are the cost and time of rewriting versus the cost and time to migrate using BlueDragon.NET (cost and time are related, but are separate issues, as I'll explain). The issue of cost is relatively straightforward. BlueDragon.NET Standard Edition costs $1999/server for unlimited CPUs; BlueDragon.NET Enterprise Edition costs $2999/CPU (see the price list on our web site). You know how many servers you have, so calculating the cost of migrating to BlueDragon.NET is easy--though keep in mind that most of our customers require fewer BlueDragon.NET servers than ColdFusion servers to handle the same amount of traffic; in one dramatic case, a customer was able to replace 14 CFMX 7.0 servers with only 4 BlueDragon.NET servers (your mileage may vary). Calculating the cost of rewriting is a bit harder--and most software developers I've known tend to underestimate this effort--but at least you can use the cost of the BlueDragon.NET licenses as an upper limit on what you should be willing to pay to rewrite.
Here are some example figures: suppose you have three production servers and you'll use the BlueDragon.NET Standard Edition. Your cost for BlueDragon.NET licenses would be: 3 X $1999 = $5997. Now let's assume developers cost you $50/hour (a very low number!): $5997 / $50 = 120 hours. So if it takes more than 120 hours (3 weeks) for one developer to rewrite your entire application, it'll cost less to use BlueDragon.NET instead. These are simplistic numbers to illustrate a point. Of course, there's also effort involved in migrating from ColdFusion to BlueDragon.NET; however, in our experience this effort is measured in days or weeks, whereas the cost to rewrite is usually measured in months and sometimes years.
This issue of time to rewrite directly affects the cost, but there's another issue with the time it takes to rewrite that's separate from the direct cost. For the duration of time that it takes to do the rewrite, you can't add any new features to the application that's being rewritten. For some applications, and for short rewrite durations, this isn't a big deal; the old application doesn't need to change and can keep running on ColdFusion while the new application is being rewritten for ASP.NET. But for some applications (both internal and customer-facing), it isn't practical to say, "We're not going to add any new features to the old application for 6 months or more while we rewrite for ASP.NET; where we're done with the rewrite, then we can start adding new features again." There's an opportunity cost associated with a rewrite: you can't do anything else while you're rewriting. Migrating via BlueDragon.NET allows you to avoid this opportunity cost, and to rewrite your application incrementally over time, while still adding new business-critical features.
One real-world example illustrates both the cost and time issues. A prospect (now customer) came to us saying they estimated it would take two years and cost $10 million for them to rewrite their ColdFusion application (this is a commercial banking application that had been developed by a large team over many years). This was clearly unacceptable; just imagine, after spending two years and $10 million they'd end up with exactly what they have today--the exact same application, only implemented for ASP.NET instead of ColdFusion! And because this is a commercial application that they sell in a competitive market, there's no way they could stop adding features for two years while they did the rewrite. Both the real costs and opportunity costs of rewriting made that an impossible task. Instead, they spent about $40K for BlueDragon licenses, and a few months effort to do the migration (primarily testing just to verify that everything works the same).
While cost and time are the two major issues, there are other issues to consider. Is the ColdFusion application an old, legacy application for which there isn't any active development going on now or anticipated for the future? Maybe it's even running on an ancient version of ColdFusion--maybe CF 5.0 or 4.5? If so, then why rewrite at all? Why not just move it to BlueDragon.NET to gain the performance and reliability advantages of the modern Windows and .NET platform? Again, this is somewhat of a cost issue, but in addition to "What will it cost?" and "How long will it take?" you also need to ask "Why am I doing this?" and "What do I expect to gain?"
Another point to consider is that BlueDragon.NET allows you to create mixed CFML/ASP.NET web applications. You've heard the saying "ColdFusion is Java", well it's equally or more true that "BlueDragon.NET is ASP.NET". BlueDragon.NET extends the ASP.NET runtime to support CFML applications; BlueDragon.NET is implemented as an IHttpHandler, which is the standard mechanism for extending ASP.NET. IHttpHandlers play the same role in ASP.NET as Java Servlets do in J2EE servers. Many people (especially on the ASP.NET side) don't understand just how fully integrated BlueDragon.NET is with ASP.NET, and this integration is going to be even stronger when we release BlueDragon.NET 7.1 for IIS 7.0.
BlueDragon.NET not only allows you to create mixed CFML/ASP.NET web applications, but it also allows you to have mixed development teams, and to retrain CFML developers in ASP.NET gradually over time. This is especially important for shops that have large teams of CFML developers. Rather than bearing the cost and inefficiencies of retraining CFML developers all at once, BlueDragon.NET allows for a gradual and less stressful migration for everyone.
There are other factors to consider, but this blog entry is already long enough. If you want to learn more or discuss any of these points in detail, contact me by leaving a comment on this blog entry, or send an email to firstname.lastname@example.org. To learn more about BlueDragon.NET, refer to the Deploying CFML on ASP.NET and Integrating CFML with ASP.NET documents on our web site. Then download BlueDragon.NET and try it for yourself.
P.S. I intentionally did not address the question of why someone would want to migrate from ColdFusion to ASP.NET in the first place. That's a completely separate discussion and perhaps a topic for another blog entry for another day. My point here is not to try to convince anyone that they should migrate from ColdFusion to ASP.NET, or to debate the pros and cons of ColdFusion and ASP.NET, but rather to address a question that's commonly raised by people who have already made the decision to migrate.