Migrating ColdFusion Applications to Lucee
Adobe ColdFusion isn't a technology you hear much about these days. It's the first language I cut my teeth on in the early 2000's when starting web development and I've always enjoyed its ease of use. While it might be considered "legacy" by in large, there are still many applications around the world running on ColdFusion. Whether you agree it is legacy or not, Adobe is still making investments to improve and support ColdFusion Servers.
We recently had a client reach out to us about migrating their existing ColdFusion applications to Azure. They were experiencing major performance issues and wanted to see if we could save them time and money by moving to the cloud utilizing an open-source alternative.
It's important before migrating any application to perform a thorough assessment and determine what path is right for you. Here are a few considerations we suggest before migrating ColdFusion applications to the cloud.
First, do your research
After our initial assessment, we chose the open-source Lucee CFML application server to migrate their ColdFusion applications to Microsoft Azure.
First thing to note, Lucee isn't a drop-in replacement for Adobe ColdFusion. Some pieces of functionality aren't supported for one reason or another, so if your application uses every tag or function under the sun you will need to research which ones are supported and ensure there are no compatibility issues.
We suggest reading over these important pieces of documentation before getting started:
- Migrating to Lucee from ColdFusion - Lucee provides fantastic documentation that covers the nuances you should consider before migrating.
- Unsupported Tags & Functions - Read over the tags and functions that aren't supported by Lucee. Do a quick search and see if you are using any of these.
If there aren't any compatibility issues testing out Lucee, then it's time to proceed.
Moving on to testing
The quickest way to verify that your application will run using Lucee, is to install an instance on your cloud provider of choice or on your laptop. You have a few options, and depending on your comfort level with Windows, Mac, or Linux, the choice is yours.
We've found the simplest ways to get up and running quickly is to do your initial testing with either:
- Express Installation - Super simple way to get up and running. It runs out of a folder so there is nothing to install.
- Windows Installation - An easy option for people more familiar with running ColdFusion on Windows using IIS.
Prepare for install
Once your testing checks out, you can start preparing your development environment to ensure you can test changes before moving to production.
- Install - We chose to use Windows because of our client's comfort level, but you have multiple choices on both the platform and the web server you prefer.
- Security - By default Lucee does a great job of setting you up for success security wise, but they also provide a valuable checklist of additional items you should consider.
- Lockdown Lucee - It never hurts to be overly cautious when it comes to security and we recommend locking down your production environment.
Few tips before migration
Now that you have done your research, ran some initial testing, and feel confident you can make the switch, here are some things to consider before you do the migration:
- Backup everything - The more backups the better. No one ever failed because they had too many backups.
- Security - Prior to migrating, you should go back over the source code and ensure best practices are being followed.
- Make sure passwords are encrypted and stored properly.
- Check that your queries aren't susceptible to SQL injection attacks.
- Use SSL to protect your application.
- Time it right - For us, the timing was pretty straight forward. We picked a weekend to migrate so the client experienced minimal downtime.
Whether you choose to license from Adobe or give an open-source alternative like Lucee a try, we hope you found this article helpful. There are countless ways to improve the security, efficiency, performance, and operating costs of your legacy application.
Tevpro specializes in migrating legacy applications to the cloud and helping clients discover their potential in a range of solutions, and weigh pros/cons, so that they are empowered to make the best decision for their business.
Feel free to reach out to us on Twitter or via email with any questions.
Angular • Ionic • C# • NestJS • Azure