I am planning to move a web application to AWS for the first time. It contains (locally):
- A web server running on port 80 (Apache2)
- A websockets server running on port 8080 (Ratchet)
- A server for search : EleasticSearch 2.3 on port 9000
- A database server: MySQL 5.7
Assuming that my application will need more resources over time, I have two things in mind:
1 - Launch new instance with the AMI containing all the software. In this case, resources of the instance are shared between all softwares.
2- Create 'group's and use multiple AMIs, each AMI contain one software. In this scenario, launching a new instance in a group will add resources to only one software.
What is the most used and convenient approach? Does the second approach need more tools/software to implement?
Thank you very much for your usual help.