As @Redtopia says, "it depends". It will rarely be the vase that you can just upgrade from CF x to CF z where there have been multiple major releases between x and z. How large is your application? Not just the code base, the collection of features?
As for "the cloud", just realize that is a marketing term that means, "someone else's computers". That part of the conversion depends on a number of things on its own. Are you converting from Windows to Linux as well? That would have additional pain points.
For example, ColdFusion 10 switched from using JRun to using Tomcat as the underlying Java servlet platform. Then there have been upgrades of Tomcat with every version of CF since then.
There are some deprecated tags that may still function. Lots of the built-in JavaScript libraries have either been upgraded or switched out entirely, so if you're using <CFFORM>
, some may work, some may not. CFchart will work differently than you expect.
Then there are things CF9 let you get away with that later versions became more strict about. Incorrect tag attributes and the like.
And if you try converting to Lucee, the open source CF engine, you'll have some additional work to do in understanding how that CF Admin works vs. the Adobe CF Admin. It's mostly the same, but there are enough differences that you could have an additional learning curve to the process.
And let's not forget that you're also going to be significantly upgrading the version of the underlying JDK, which could bring additional headaches.
Regarding the code analyzer, you may run into some headaches there. I last used it to upgrade from CF 11 to 2018. I got an infinite number of false positives where it's looking for a static value in a tag attribute (secure="true"
) where you're got a variable set instead (secure="#isSecure#"
). Not sure if they've done anything to address that.
Finally, as Miguel suggests, follow the migration guide. But also make sure to follow the ColdFusion lockdown guide to address many of the security concerns with the new server installation.
I've done this multiple times, it's rarely as easy as you'd hope. Bottom line is, you'll have to test everything end to end before you know what does and doesn't work and how much effort may lay ahead to complete the conversion.