Server cloud per Ruby on Rails in Europa
Ruby on Rails rimane uno dei framework web piu produttivi per la creazione di applicazioni full-stack. La sua filosofia “convenzione sulla configurazione” permette ai piccoli team di consegnare rapidamente. Ma Rails ha bisogno di un server vero - una macchina correttamente dimensionata, sempre accesa, che possa gestire richieste, lavori in background e compilazione di asset. Per i team che servono utenti europei, quel server dovrebbe essere in Europa.
Perche l’hosting EU e importante per Ruby on Rails
Le applicazioni Rails sono full-stack per natura. Servono HTML, gestiscono l’autenticazione, elaborano pagamenti, inviano e-mail e spesso gestiscono upload di file. Ognuna di queste operazioni coinvolge dati personali dei tuoi utenti. Ai sensi del GDPR, quei dati devono essere elaborati su infrastruttura all’interno della UE se servi residenti UE.
La latenza di rete e particolarmente importante per Rails perche il suo ciclo di richieste e sincrono per impostazione predefinita. L’hosting a Praga o Vilnius ti da 5-20 ms verso la maggior parte dell’Europa Occidentale e Centrale, rispetto a 100-150 ms da un server negli USA.
Requisiti minimi del server
Rails e piu intensivo di risorse rispetto ai framework piu leggeri. La compilazione degli asset e particolarmente esigente.
- RAM - Minimo 2 GB per eseguire Puma e l’applicazione Rails. La compilazione degli asset puo raggiungere picchi di 1,5-2 GB, quindi 4 GB e fortemente consigliato per i deployment in produzione.
- CPU - Minimo 2 core. Il modello multi-thread di Puma beneficia del vero parallelismo CPU.
- Disco - Minimo 20 GB. SSD e necessario per prestazioni accettabili del database.
- Ruby - Versione 3.2 o successiva. Ruby 3.3 offre significativi miglioramenti delle prestazioni.
- PostgreSQL - Versione 15 o successiva.
Configurazione DCXV raccomandata
I piani cloud VPS di DCXV partono da EUR 15/mese. Per i deployment in produzione con lavori in background, il piano 2 core / 4 GB RAM e il punto di partenza pratico.
Rails con Sidekiq esegue due processi: Puma (server web) e Sidekiq (lavori in background). Con 4 GB di RAM, puoi eseguire Puma con 2-3 worker, Sidekiq con 5-10 thread e avere ancora spazio per PostgreSQL.
Per applicazioni piu grandi, l’hardware dedicato DCXV e disponibile da EUR 49/mese. Il supporto ingegneri 24/7 e incluso in ogni piano. Maggiori informazioni su https://dcxv.com/data-center#cloud
Guida alla configurazione
# Installare Ruby 3.3 tramite rbenv e dipendenze di sistema
sudo apt update && sudo apt install -y git curl libpq-dev postgresql postgresql-contrib redis-server nginx
git clone https://github.com/rbenv/rbenv.git ~/.rbenv && echo 'eval "$(~/.rbenv/bin/rbenv init -)"' >> ~/.bashrc
~/.rbenv/bin/rbenv install 3.3.0 && ~/.rbenv/bin/rbenv global 3.3.0
# Installare Bundler e gem
gem install bundler
cd /var/www/myapp && bundle install --deployment --without development test
# Compilare gli asset ed eseguire le migrazioni
RAILS_ENV=production bundle exec rails assets:precompile
RAILS_ENV=production bundle exec rails db:migrate
# Avviare Puma e Sidekiq con systemd
sudo systemctl enable puma sidekiq && sudo systemctl start puma sidekiq Aspettative di performance
Un’applicazione Rails su un’istanza DCXV 2 core / 4 GB a Praga:
- Tempo di risposta - 50-150 ms per i rendering tipici di pagine HTML con query al database. Gli asset statici tramite Nginx ritornano in meno di 5 ms.
- Throughput - 100-300 richieste al secondo con Puma con 2 worker e 5 thread ciascuno.
- Lavori in background - Sidekiq con 10 thread elabora 200-500 lavori al minuto.
- Latenza di rete - Meno di 20 ms verso Germania, Austria, Polonia e Repubblica Ceca da Praga.





