I’m trying to figure out a relatively painless way to deploy a .WAR to a load balanced beanstalk environment. The tutorial video published by Haulmont was very informative but only discussed a single instance deployment. Two possibilities come to mind:
A) Deploy a single .WAR to each instance. The down side being that this creates a much larger number of middleware instances than is needed.
B) Create two beanstalk applications: 1 for web clients and one for middleware. Then the web clients would only need to point to the load balancer of the core environment.
In both configurations, I don’t fully understand the implications of having the multiple middleware instances without explicitly listing them in the .WAR? Like, how would it affect the task scheduler?
Some clarification would be appreciated.
As a sidenote, the reason I’m trying to use the load balanced environment is that I want to easily leverage Amazon’s certificate manager.
In particular the third article deals with the deployment behind a load balancer.
It is a little bit outdated, but perhaps you find some information in it.
In this case I would think twice about it. I know the ACM is quite neat to use, but on the other hand a load balancing deployment with multiple instances and cluster sync should be established because the HA requirements are really that high. Because it is still infrastructure complexity associated with it.
You should study the Application Scaling - CUBA Platform. Developer’s Manual documentation section if you plan to deploy application as a cluster. It mentions both A and B cases you’ve described. We would be happy to answer any more specific questions if those arise.
Sorry, I don’t feel this represents a reason for a cluster deployment. Even if you are using AWS load balancer, couldn’t you assign just one backend node for the LB target group?
Cluster deployment is more complex and more expensive than one-node deployment, so one should avoid doing it unless there is a requirement from business (high availability, zero downtime updates).