There were some excellent questions asked on CFML Slack today, and I wanted to get the answers to them out on our community forum where they could benefit the larger community (and Google). In a nutshell, these were the concerns:
- When I’m using CommandBox, am I really using “Adobe ColdFusion” or am I getting a “copy” of Adobe ColdFusion from the Ortus site?
- We have an Adobe Support Contract and will Adobe provide support for my CommandBox installation?
- CommandBox is not using Tomcat, but JBoss Undertow. Will it be capable of managing the load of a production site?
These are great questions, and one any Enterprise would want answered before committing to CommandBox. Let’s go through them categorically. (some of these responses culled from @jclausen’s Slack replies as well)
When I’m using CommandBox, am I really using “Adobe ColdFusion” or am I getting a “copy” of Adobe ColdFusion from the Ortus site?
CommandBox is just a CLI orchestration tool. You can run any CFML server product you wish to including old Blue Dragon servers! You are getting the officially distributed J2EE deployment of Adobe ColdFusion - just packaged to run on CommandBox.
The WAR packages you start with CommandBox are literally the WAR deployment as Adobe ships it with their official updaters applied. Do don’t modify them outside of that so it’s not a “copy”, it is an actual Adobe WAR deploy. We host the CommandBox-packaged artifacts with Adobe’s permission on S3 for high-availability.
We have an Adobe Support Contract and will Adobe provide support for my CommandBox installation?
A J2E deployment is a valid and supported method of deploying Adobe ColdFusion, and by “supported”, we mean supported by Adobe themselves. We have many clients with ACF deployed on CommandBox for production sites and they get regular normal support from Adobe for matters related to the ACF engine and we support them for matters related to the servlet (CommandBox). Some of these customers have paid Adobe support plans which are fully honored by Adobe. Note: to run Adobe J2EE deployments in production requires an Enterprise license (per Adobe).
It’s also worth pointing out that CommandBox itself is professional open source and fully supported by Ortus Solution via our Ortus support plans, so you can get support, training, fixes, and even deployment help for your production servers as many of our clients already do.
CommandBox is not using Tomcat, but JBoss Undertow. Will it be capable of managing the load of a production site?
Absolutely, yes. There are thousands of instances of CFML apps using CommandBox to run them in production. We’ve found JBoss Undertow to be far superior and more efficient than Tomcat. As far as Undertow performance-- it has a lot more feathers in its cap than our existing users. Undertow is a professionally supported product of RedHat/JBoss and is used to power their Enterprise-level Wildfly server, which is the core of their JBoss EAP (Enterprise Application Platform) which is deployed all over the internet, supported by one of the largest names in Java software today
Undertow is incredibly capable and blazing fast. We’ve actually done head-to-head tests with Undertow, comparing it’s serving of static files to Apache and IIS and it matched their throughput exactly. Furthermore, we added CFML (both Adobe and Lucee) to the TechEmpower framework benchmarks which includes basically every language/platform/framework ever written in a side by side automated performance test. We powered the CF engines using our Ortus Docker container, running CommandBox/Undertow, and CFML performed amazing, performing faster than Node, Groovy, Ruby on Rails, Laravel PHP, and Django Python in some tests.
All this was on a CommandBox/Undertow-powered web server, so there is no concern about performance or quality of that RedHat-powered servlet container.
Hopefully this help answer those questions for people looking to dive into the CommandBox ecosystem for deploying servers, which includes great open source tooling that makes configuring, monitoring, and updating your servers faster and easier.