Let's say there's a VM on AWS that is being used to host multiple instances of the same web app.
The web app has a React front end and an ASP.NET Core backend, and the VM runs IIS.
Each instance of the app has its own subdomain:
app1.domain.com
app2.domain.com
....
app24.domain.com
Each app must have its own instance, but each can have different loads - some may be heavier than others. There is no load balancing.
This isn't ideal and there is memory and resource pressure on the VM, so the thought was to create multiple VM's and divvy up the apps among the VMs based on load. For example, if one app normally has a heavier load, it would be grouped with apps that have a lighter load.
This seems "brute force" to me. What would be another good way to structure this on AWS? Would it be using Elastic Beanstalk? Could they all be set up in Elastic Beanstalk and it would take care of adjusting the number of VM's required to handle variable loads?