Cloud-Server für Ruby on Rails in Europa
Ruby on Rails bleibt eines der produktivsten Web-Frameworks für die Entwicklung von Full-Stack-Anwendungen. Sein Ansatz "Konvention vor Konfiguration" ermöglicht es kleinen Teams, schnell zu liefern. Aber Rails benötigt einen echten Server - eine richtig dimensionierte, immer eingeschaltete Maschine, die Anfragen, Hintergrundjobs und Asset-Kompilierung verarbeiten kann. Für Teams, die europäische Nutzer bedienen, sollte dieser Server in Europa stehen.
Warum EU-Hosting für Ruby on Rails wichtig ist
Rails-Anwendungen sind von Natur aus Full-Stack. Sie liefern HTML, verarbeiten Authentifizierung, Zahlungen, senden E-Mails und verwalten oft Datei-Uploads. Jede dieser Operationen beinhaltet personenbezogene Daten Ihrer Nutzer. Gemas DSGVO müssen diese Daten auf Infrastruktur innerhalb der EU verarbeitet werden, wenn Sie EU-Einwohner bedienen.
Netzwerklatenz ist für Rails besonders wichtig, da sein Request-Zyklus standardmasig synchron ist. Hosting in Prag gibt Ihnen 5-20 ms bis nach Westeuropa, verglichen mit 100-150 ms von einem US-basierten Server.
Mindestanforderungen an den Server
Rails ist ressourcenintensiver als leichtgewichtigere Frameworks. Asset-Kompilierung ist besonders anspruchsvoll.
- RAM - Mindestens 2 GB für Puma und die Rails-App. Die Asset-Kompilierung kann auf 1,5-2 GB spiken, daher werden 4 GB für Produktionsdeployments empfohlen.
- CPU - Mindestens 2 Kerne. Pumas Multi-Thread-Modell profitiert von echter CPU-Parallelitat.
- Festplatte - Mindestens 20 GB. SSD ist für akzeptable Datenbankperformance erforderlich.
- Ruby - Version 3.2 oder hoher. Ruby 3.3 bietet erhebliche Performance-Verbesserungen.
- PostgreSQL - Version 15 oder hoher.
Empfohlene DCXV-Konfiguration
DCXV Cloud-VPS-Pläne beginnen bei EUR 15/Monat. Für echte Produktionsdeployments mit Hintergrundjobs ist der 2-Kern / 4 GB RAM-Plan der praktische Ausgangspunkt.
Rails mit Sidekiq führt zwei Prozesse aus: Puma (Webserver) und Sidekiq (Hintergrundjobs). Auf 4 GB RAM können Sie Puma mit 2-3 Workern, Sidekiq mit 5-10 Threads und noch Platz für PostgreSQL betreiben.
Für größere Anwendungen steht DCXV-Dedicated-Hardware ab EUR 49/Monat zur Verfügung. 24/7-Ingenieur-Support ist in jedem Plan ohne Aufpreis enthalten. Details unter https://dcxv.com/data-center#cloud
Einrichtungsanleitung
# Ruby 3.3 über rbenv und Systemabhangigkeiten installieren
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
# Bundler und Gems installieren
gem install bundler
cd /var/www/myapp && bundle install --deployment --without development test
# Assets kompilieren und Datenbankmigrationen ausführen
RAILS_ENV=production bundle exec rails assets:precompile
RAILS_ENV=production bundle exec rails db:migrate
# Puma und Sidekiq mit systemd starten
sudo systemctl enable puma sidekiq && sudo systemctl start puma sidekiq
Performance-Erwartungen
Eine Rails-App auf einer 2-Kern / 4 GB Instanz in Prag:
- Antwortzeit - 50-150 ms für typische HTML-Seitenrenderings mit Datenbankabfragen. Statische Assets über Nginx kehren in unter 5 ms zurück.
- Durchsatz - 100-300 Anfragen pro Sekunde mit Puma mit 2 Workern und 5 Threads.
- Hintergrundjobs - Sidekiq mit 10 Threads verarbeitet 200-500 Jobs pro Minute.
- Netzwerklatenz - Unter 20 ms nach Deutschland, Osterreich, Polen und Tschechien von Prag aus.
Das sind Erwartungen für Hardware dieser Klasse, keine Messungen aus unserem Labor. Nehmen Sie sie als Ausgangspunkt für die Dimensionierung und messen Sie Ihre eigene Last: die echten Zahlen hängen von Ihren Daten, Ihren Abfragen und Ihrem Tuning weit mehr ab als vom Anbieter.
