1

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.

  1. Rails App ( NGINX, Puma, Postgres, Redis, ElasticSearch) - VERY HIGH TRAFFIC
  2. Rails App ( NGINX, Puma, Postgres, Redis) - MODERATE TRAFFIC
  3. Rails App ( NGINX, Puma, Postgres) - LOW TRAFFIC
  4. Python App ( NGINX, Mongo DB, Gunicorn, Redis, ElasticSearch) - VERY LOW TRAFFIC
  5. 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?

closed as primarily opinion-based by Gerald Schneider, bodgit, Ward Jan 18 at 4:09

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

3

Both Virtual machines and containers are good solutions.

Although Docker is more lightweighted. But here I would rather think of what do I know? If you have to learn from scratch the dockerization, then such a big project might not be adapted, depending your timeline. Use your knowledge you have in virtualisation and do it this way.

Have I got to adapt every app I have to dockerize it?

You can have your apps configured with a docker-compose each. Have a few images (Nginx, elasticsearch, postgres and so on) and reuse them on your apps.

But again, that can be a lot of work. If you have the time, go for it, else, use what you know.

Not the answer you're looking for? Browse other questions tagged or ask your own question.