I'm a developer and I have some doubts about server configuration. We have a new server with a dual Xeon CPU, 128 GB RAM & 4 TB SAS SSD. We have to run some web application.
- Rails App ( NGINX, Puma, Postgres, Redis, ElasticSearch) - VERY HIGH TRAFFIC
- Rails App ( NGINX, Puma, Postgres, Redis) - MODERATE TRAFFIC
- Rails App ( NGINX, Puma, Postgres) - LOW TRAFFIC
- Python App ( NGINX, Mongo DB, Gunicorn, Redis, ElasticSearch) - VERY LOW TRAFFIC
- Php App (NGINX, PHP, Postgres) - LOW TRAFFIC
I'm not sure which is the best way to configure my server and share resources.
I think to create a virtual machine for the python app and the php app frontend, because they are very low traffic app.
Then a virtual machine for the DB (Postgres, Redis, Mongo DB)
A virtual machine for Elastic Search
And finally the virtual machine with the rails app frontend.
What about to use docker? Have I got to adapt every app I have to dockerize it?