Хмарний сервер для Ruby on Rails у Європі

Хмарний сервер для Ruby on Rails у Європі

Хмарний сервер для Ruby on Rails у Європі

Ruby on Rails залишається одним з найпродуктивніших веб-фреймворків для побудови повностекових застосунків. Його підхід "конвенція замість конфігурації" дозволяє невеликим командам швидко випускати продукти. Але Rails потребує справжнього сервера - правильно налаштованої, постійно ввімкненої машини, яка може обробляти запити, фонові завдання та компіляцію ресурсів. Для команд, що обслуговують європейських користувачів, цей сервер має бути в Європі.

Чому хостинг у ЄС важливий для Ruby on Rails

Rails-застосунки за своєю природою є повностековими. Вони обслуговують HTML, обробляють автентифікацію, платежі, надсилають листи та часто керують завантаженням файлів. Кожна з цих операцій включає персональні дані користувачів. Відповідно до GDPR, ці дані повинні оброблятися на інфраструктурі в межах ЄС, якщо ви обслуговуєте мешканців ЄС.

Мережева затримка особливо важлива для Rails, оскільки його цикл запитів є синхронним за замовчуванням. Хостинг у Чехії або Португалії дає вам 5-20 мс до більшості Західної та Центральної Європи порівняно з 100-150 мс від сервера у США.

Фонові завдання через Sidekiq також виграють від хостингу у ЄС. Якщо ваші завдання надсилають транзакційні листи або синхронізуються з партнерськими сервісами у ЄС, тримання всього в одному регіоні зменшує затримку для цих операцій.

Мінімальні вимоги до сервера

Rails більш ресурсоємний, ніж легші фреймворки. Компіляція ресурсів особливо вимоглива.

  • RAM - мінімум 2 ГБ для запуску Puma та Rails-застосунку. Компіляція ресурсів може пікувати до 1,5-2 ГБ, тому для продакшну рекомендується 4 ГБ.
  • CPU - мінімум 2 ядра. Багатопотокова модель Puma виграє від реального паралелізму CPU. 4 ядра ідеальні для застосунків з середнім трафіком.
  • Диск - мінімум 20 ГБ. Потрібен SSD для прийнятної продуктивності бази даних.
  • Ruby - версія 3.2 або новіша. Ruby 3.3 пропонує значні покращення продуктивності.
  • PostgreSQL - версія 15 або новіша.

Рекомендована конфігурація DCXV

Хмарні плани DCXV починаються від EUR 15/місяць. Для реального продакшн-розгортання з фоновими завданнями практичною відправною точкою є план з 2 ядрами / 4 ГБ RAM.

Rails з Sidekiq запускає два процеси: Puma (веб-сервер) та Sidekiq (фонові завдання). На 4 ГБ RAM можна запустити Puma з 2-3 воркерами, Sidekiq з 5-10 потоками і ще залишити місце для PostgreSQL.

Для більших застосунків доступне виділене обладнання DCXV від EUR 49/місяць. Підтримка інженерів 24/7 включена в кожен план. Деталі на https://dcxv.com/data-center#cloud

Інструкція з налаштування

# Встановлення Ruby 3.3 через rbenv та залежності
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 та гемів
gem install bundler
cd /var/www/myapp && bundle install --deployment --without development test

# Компіляція ресурсів та міграція БД
RAILS_ENV=production bundle exec rails assets:precompile
RAILS_ENV=production bundle exec rails db:migrate

# Запуск Puma та Sidekiq через systemd
sudo systemctl enable puma sidekiq && sudo systemctl start puma sidekiq

Очікувана продуктивність

Rails-застосунок на інстансі з 2 ядрами / 4 ГБ у Празі:

  • Час відповіді - 50-150 мс для типових HTML-сторінок із запитами до БД. Статичні ресурси через Nginx повертаються менш ніж за 5 мс.
  • Пропускна здатність - 100-300 запитів на секунду з Puma з 2 воркерами та 5 потоками кожен.
  • Фонові завдання - Sidekiq з 10 потоками обробляє 200-500 завдань на хвилину.
  • Мережева затримка - менше 20 мс до Німеччини, Австрії, Польщі та Чехії з Праги.

Це очікування для заліза цього класу, а не заміри в нашій лабораторії. Використовуйте їх як відправну точку для сайзингу і міряйте своє навантаження: реальні числа залежать від ваших даних, запитів і налаштувань значно більше, ніж від провайдера.

Протести проти дата-центрів у Європі: що робити клієнтам
clouddedicatedinfrastructure

Протести проти дата-центрів у Європі: що робити клієнтам

6 листопада сотні людей увійшли на будмайданчик дата-центру Microsoft в Амстердамі. Цифри мережі Нідерландів, виміряна затримка до хабів ЄС і поради клієнтам.

Виборці США відхилили дата-центри 45 до 1: уроки покупцям
clouddedicatedinfrastructure

Виборці США відхилили дата-центри 45 до 1: уроки покупцям

47 голосувань у США щодо дата-центрів: обмежувальна сторона виграла 45. Ми перерахували сирі дані й пояснюємо, що це означає для тих, хто орендує сервери.

AWS BYOIP у 2026: $43.80 за IPv4 чи власний блок /24
ipv4pricingcloud

AWS BYOIP у 2026: $43.80 за IPv4 чи власний блок /24

AWS бере $0.005 на годину за публічну IPv4, $43.80 на рік. BYOIP без цієї плати: коли куплений чи орендований /24 окупається, і скрипт перевірки ROA.

Відхід від VMware після Broadcom: перевірений план міграції
clouddedicatedinfrastructure

Відхід від VMware після Broadcom: перевірений план міграції

Broadcom скасував безстрокові ліцензії, урізав партнерів і сховав VDDK. Як перенести ВМ на KVM, Proxmox чи Hyper-V: дати, факти і перевірений конвертер OVA.

Час поширення DNS: 3 секунди Cloudflare проти вашого TTL
networkingcloudinfrastructure

Час поширення DNS: 3 секунди Cloudflare проти вашого TTL

Cloudflare скоротив затримку збірки DNS до 3,3 с. Але переїзд на новий сервер чекає на TTL, негативний кеш і делегування .com на 2 дні. Виміряно на двох зонах.