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?

1 Answer 1

4

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 .