Servidor Cloud para Laravel na Europa
Laravel e o framework PHP mais popular para aplicações web. Quando sua audiência esta na Europa, hospedar sua aplicação Laravel dentro dos limites da UE e tanto uma exigência do GDPR quanto uma forma pratica de entregar carregamentos de página rápidos.
Por que o hosting na UE importa para Laravel
Aplicações Laravel lidam com formulários, autenticação, transações de e-commerce e perfis de usuário. Tudo isso se qualifica como dados pessoais sob o GDPR. A lei europeia exige que esses dados sejam processados em infraestrutura localizada dentro do Espaço Economico Europeu.
A latência também tem um impacto real na experiência do usuário. Uma aplicação Laravel servida a partir de Praga alcanca usuários na Alemanha, Austria, Polonia ou Eslovaquia com menos de 20 ms. Hospedar em um servidor americano adiciona 90-110 ms por solicitação.
Requisitos mínimos do servidor
Laravel com PHP 8.2, Composer, MySQL ou PostgreSQL e um driver de fila precisa de mais do que um VPS basico:
- RAM - Mínimo 2 GB para uma aplicação web padrão com MySQL no mesmo servidor. 4 GB recomendado para apps com Redis e workers de fila simultâneos.
- CPU - 2 vCPUs para a maioria das cargas de trabalho em produção. 4 vCPUs para Horizon ou vários workers.
- Disco - 20-40 GB SSD. Logs, uploads e arquivos de banco de dados do Laravel crescem rapidamente.
- PHP - Versão 8.2 ou 8.3 para desempenho e segurança.
Configuração DCXV recomendada
O DCXV opera data centers Tier III em Praga e Covilha, ambos dentro da UE. Os planos Cloud VPS comecam em 15 EUR/mês e incluem suporte de engenheiros 24/7 sem custos adicionais.
Para uma tipica aplicação Laravel com tráfego moderado, 2 vCPU / 4 GB RAM e um bom ponto de partida. Para Laravel Horizon ou vários workers, 8 GB. Servidores dedicados bare-metal estão disponíveis a partir de 49 EUR/mês.
Comece aqui: https://dcxv.com/data-center#cloud
Guia de configuração
Após provisionar seu servidor DCXV cloud (Ubuntu 22.04), execute:
apt update && apt install -y nginx mysql-server redis-server php8.2-fpm php8.2-mysql php8.2-redis php8.2-mbstring php8.2-xml php8.2-curl unzip
curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer
composer create-project laravel/laravel /srv/myapp
chown -R www-data:www-data /srv/myapp/storage /srv/myapp/bootstrap/cache
php /srv/myapp/artisan migrate --force
Expectativas de desempenho
Em uma instância cloud com 2 vCPU / 4 GB em Praga, uma tipica aplicação Laravel com MySQL pode servir 300-600 solicitações por segundo para rotas em cache. Respostas sem cache com consultas de banco de dados rodam em 50-150 ms. A latência de Frankfurt ou Viena ao servidor e tipicamente de 8-15 ms.
Estas são expectativas para hardware desta classe, não medições do nosso próprio laboratório. Use-as como ponto de partida para o dimensionamento e meça a sua própria carga: os números reais dependem dos seus dados, das suas consultas e do seu tuning muito mais do que do fornecedor.
