An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

ColdFusion in the Cloud Revisited

January 9, 2009 ·

About a month ago, I talked about my experience of setting up clustered ColdFusion instances on EC2. Since then we have migrated the Broadchoice Web Platform completely from a regular data center, where it had lived since launch, to the Amazon cloud and now all of the *.broadchoice.com sites and all of our client sites based on the Web Platform are happily running in the cloud. We've been very pleased with the performance and stability of EC2 so far and we're comfortable about scaling out as demand increases. We took advantage of Amazon's EBS (Elastic Block Storage) that allows you to mount S3 storage directly as part of the file system on EC2. This essentially replaces the NAS we were using in the data center where all uploaded files were placed. We run two ColdFusion instances on a medium EC2 instance and run MySQL on a separate EC2 instance (actually on the instance that is currently running our AIR application, the Broadchoice Workspace for Salesforce, along with its MySQL database). We replicate the MySQL databases to another server (in a data center) so that we can restore / recover in the event of a problem with EC2. We also run scheduled backups of the EC2 instances to S3. As I noted in my earlier entry, we're using Apache and the JRun Connector to manage the two instance cluster and failover. I'm still suspicious of the connector due to past experience but so far it has been behaving well and when we restart instances for maintenance, we're generally seeing uninterrupted service, from a user's point of view, as requests silently failover to the other instance. If you're interested in running ColdFusion in the cloud, you'll need to talk to Adobe about licensing (either Adam Lehman or Kristen Schofield) but they are being very encouraging because they want this to happen. The more of us who do this, the better the argument they can present internally to get the EULA changed to support ColdFusion running in the cloud! If you want to learn more about how we handled the migration and/or what to watch out for when designing applications that run well on the cloud, feel free to contact me via this blog or directly (c'mon, you know my email address!).

Tags: adobe · coldfusion · hosted · saas

2 responses

  • 1 Nick // Dec 18, 2009 at 7:27 AM

    Hell yeah! I'm interested in finding out a little more about this. I've been thinking about ditching our failover Coldfusion server and moving it to EC2 but cant find a thing about the process of doing so, or definitive licensing info.
  • 2 Sean Corfield // Dec 30, 2009 at 9:38 AM

    @Nick, running CFML on EC2 is a big topic and there are lots of options. Adobe changed the licensing for ColdFusion 9 so a Standard Edition license can run on EC2 (and an Enterprise Edition license allows ten instances I believe). That's all in the EULA on Adobe's site and Terry Ryan has blogged about it.

    Then there's the upcoming prebuilt CF9 AMIs which will have a per-hour charge - I don't have details on that and Adobe may not yet have finalized pricing.

    Also, bear in mind that a cold standby server can use the same license as your primary server. I believe that change was introduced with CF8 but you'd need to check with an Adobe rep for that.

    And then of course there are the free open source options which let you run on EC2 with no licensing costs at all.