Deploying on aws


#1

new to lucee. is it better to use lucee in a ec2 instance or deploy on elastic beanstalk? Advantages and disadvantages?

I’m hoping the community with more experience than I can help?

  1. on EBS is war/jar prefered or docker /pros & cons, best practices.
  2. on ec2 what are pros cons,prefered os, and best practices.

Are any recent guids/tutorials available?

Thank you for any assistance you can provide.


#2

I use and prefer a WAR deployment to EBS for its autoscaling alone… You will need to build your application to run in a cluster however, which means taking into account session scope and shared file systems.

Here’s a guide to deploying a WAR file… This guide is somewhat cfwheels centric but a few tweaks would make it work for most other applications.


#3

Lucee deploys equally well in many environments. In AWS specifically you have a lot of options and you’re “best choice” will depend largely on your preferred development workflow, and production hosting requirements.

We used to deploy larger Lucee installations into Amazon’s OpsWorks environment via Chef and AMIs. We’ve gradually been converting all of these to Docker based environments using EC2 and Docker Cloud over the last two years.

EBS has a specific way of doing things. You have to buy into that workflow whether you choose to run WARs or Docker containers in ECS. EC2 is just a set of servers and you can deploy in a multitude of different ways.

If you are starting a greenfield project it might be better to think about the principals you want for your developer workflow and then look at devising a dev-ops strategy to match that process. Lucee is very flexible these days.


#4

I do not recommend using Elastic Beanstalk. Deploys and scaling are slow and deploys can be unreliable. Setting up your own git push deploy on an EC2 server will allow you to deploy much more quickly. Of course, there’s no auto-scaling on EC2.