Undertow vs IIS vs Apache vs ngnix

Hey all you CommandBox users.
we are going to be moving our applications to the cloud (probably amazon), and are starting the research phase.
currently:
windows servers
iis
acf 11
oracle
mssql server

thinking:
linux
lucee
postgres
Webserver??? undertow or apache or ngnix

So, from the community, what is the best way to go here? OR better question, we are on IIS and have a bunch of rewrite rules there…i think it will be easy to convert those to apache BUT, can the built in webserver Undertow do all or basically all the same stuff that IIS can? From the few minutes I read about it, seems like it can, but wanted to get feelings from the community on this…

We are in the early stages of doing this work, but if we are going to the cloud and moving from ACF to Lucee and paid db’s to postgres, seems like going the way of containerization might be best…we are not experts at all in Docker, so getting thoughts about the time and effort to set up a container setup for commandbox, webserver, postgres on linux and get it pretty much automated deploy…I figure with cfconfig, and docker secretes we probably can do almost everything automated for us.

Any thoughts from people would be great…starting my research on all of this, so thought i’d start here…

any feedback on how you have setup commandbox on dev, test, stage and production servers would be helpful…probably be great for the Ortus team to use in success stories.

thanks all
Dan

i think it will be easy to convert those to apache BUT, can the built in webserver Undertow do all or basically all the same stuff that IIS can?

The rewrites in CommandBox can do pretty much anything the rewrites in IIS can do. See this blog post on converting them:

https://www.ortussolutions.com/blog/the-12-tips-of-commandbox-christmas-day-10-converting-apache-and-iis-url-rewrites

As far as the rest of your E-mail, the lack of replies on this list is probably due to the vagueness of your questions. I would ask some more specific questions.

I recommend setting up a QA environment in the cloud as a proof of concept. Rewrite rules are transferrable from IIS to CommandBox. I use CommandBox in Production with rewrites and SSL. Windows Service via NSSM. We are using Windows Server 2016 VMs in Azure. Docker containers seem to be more cost effective rather than VMs, though. We are using Azure SQL for data.

Yeah, i know, i know…but for me i am trying to get the most information to my coworker about how to move forward going to the cloud…we as a team are more familiar with VM’s/vagrant than we are with docker, but it seems like docker would be the way to go, especially with another team in the shop doing that…

I am trying to see if just running commandbox and undertow is the way to go, or should we run commandbox behind apache/ngnix, or just run stand alone lucee with apache/ngnix…I have no idea, but having some feedback from people like Jim will help.

I know there is some documentation on rewrites, i just forgot where it was, so thanks for adding that in, i’ll pass that along.

thanks Jim, this is the kind of information in am looking for…want to see how people are using commandbox or a setup for the cloud.

At Ortus, we use straight CommandBox/Undertow for most all local dev with nothing else in the mix. For stage and production, we take that same setup and wrap it in Docker and sit it behind Nginx. The main reason for Nginx in production is simply so it can serve static files such as images and JS/CSS. Undertow is capable of serving static files at great load very well, but it just felt better that way.

We’re in the process of a similar migration to your own.

Our current setup is ACF on Windows with IIS and MS SQL.

We decided to take the plunge to Docker, so Ubuntu with Lucee (we’re using Digital Ocean). For local dev we just docker-compose up and the setup is almost identical to production.

To take the DB out of the equation (for the most part), we’re migrating them to Azure’s SQL Databases. We’ll circle back when we’re done, in all likelihood, and switch that to PostGres.

We’re using Nginx, for the same reasons Brad outlined.

We’ve already moved half our sites to the new setup. It’s been relatively smooth. Lucee and Nginx incompatibilities have been the biggest hurdles, but none were blocking. Just stuff to track down and work out.

I really prefer the new workflow. It definitely takes time and research to understand it, and sort it out. It’s a big change into a space that’s rapidly evolving, and sometimes it’s surprisingly hard to track down best practices (how to share Docker secrets on a team, how to rotate them, etc). We started with smaller, less important sites to get our feet wet and work out the kinks.

If you’ve got the time and flexibility, I recommend the switch to Docker, but don’t let anyone kid you - it’s a lot of work and learning.

Hey guys, this is great help…I am sure a lot of people are taking the plunge to docker, so seeing how Brad you guys are doing it and someone outside ortus, so Matt thanks for sharing your experiences so far…
If you have other info along the way please post it here for all to see…i hope to do the same.

thanks again
Dan