До сих пор я всегда создавал свой VPS, предназначенный для запуска только одного приложения в нескольких экземплярах, в основном с Unicorn. Таким образом, я мог бы настроить всю среду, чтобы она идеально подходила для этого конкретного приложения и была довольна этим.
Но теперь мне нужно создать VPS, на котором будут размещаться несколько небольших приложений Ruby. Некоторые из них будут Rails, а некоторые - Sinatra. У них будет практически нулевой трафик (менее 100 посещений в день), что означает, что мне даже не нужно несколько экземпляров одного приложения.
У меня нет опыта работы с другими серверами, кроме unicorn + nginx, но то, что мне нужно, выглядело бы примерно так.
request to app1, gets loaded into memory and serves the request
request to app2, gets loaded into memory and serves the request
request to app3, there is not enough free memory
app1 gets killed before the app3 is booted to serve the request
Я знаю, что это не совсем идеальный сценарий, но представьте, что на одном сервере есть 10 или 20 небольших приложений, где каждое приложение получает 5 обращений в день. Они не всегда должны быть в рабочем состоянии.
Насколько я знаю, Heroku делает это со своим бесплатным уровнем, где Dynos убивают после некоторого простоя, а затем они загружаются обратно при поступлении запроса. Это в основном то, что мне нужно сделать на моем собственном сервере. .