Como desarrollador, tu máquina local tiene límites. Necesitas entornos de staging, servidores para APIs, runners de CI/CD, contenedores Docker ejecutándose 24/7… Un VPS propio resuelve todo esto.
Por 10-30€/mes tienes un servidor Linux completo donde desplegar lo que quieras, experimentar sin miedo, y tener entornos que replican producción.
Esta guía cubre los casos de uso más comunes de VPS para desarrollo y cómo configurarlos.
Por qué todo desarrollador debería tener un VPS
Entorno de staging real
Desarrollar en local está bien, pero producción es diferente. Un VPS te da un entorno que replica producción: mismo OS, misma arquitectura, mismas limitaciones.
Laboratorio de pruebas
¿Quieres probar Kubernetes? ¿Un nuevo framework? ¿Configuraciones de Nginx? En tu VPS puedes romper cosas sin consecuencias. Si algo sale mal, reinstala y empieza de nuevo.
APIs y backends 24/7
Tus side projects necesitan un backend funcionando. Un VPS te da eso sin los costes de servicios serverless o las limitaciones de planes gratuitos.
Portfolio visible
Tus proyectos desplegados en un VPS demuestran que sabes DevOps, no solo código. Es un diferenciador en entrevistas.
Aprendizaje práctico
Nada enseña más sobre servidores que gestionar uno. Configurar Nginx, securizar SSH, optimizar bases de datos… conocimientos que te hacen mejor desarrollador.
Casos de uso típicos para desarrolladores
1. Entorno de staging
Un clon de producción donde probar antes de desplegar. Misma configuración, datos de prueba, accesible por el equipo.
Stack típico:
- Nginx o Apache
- PHP/Node/Python (según tu stack)
- MySQL/PostgreSQL
- Redis (si lo usas en producción)
Recursos: 4-8GB RAM suele ser suficiente para staging.
2. Servidor de APIs
Backend para tus aplicaciones móviles, SPAs o integraciones.
Stack típico:
- Node.js con Express/Fastify
- Python con FastAPI/Django
- Go, Rust, o tu lenguaje preferido
- PostgreSQL o MongoDB
- Redis para caché
Recursos: 2-8GB RAM según tráfico esperado.
3. Runner de CI/CD
Ejecutar pipelines de GitHub Actions, GitLab CI o Jenkins en tu propio servidor.
Ventajas:
- Sin límites de minutos
- Builds más rápidos (más recursos)
- Acceso a red privada
- Caché persistente
Recursos: 4-16GB RAM según complejidad de builds.
4. Entorno Docker
Contenedores ejecutándose 24/7: bases de datos de desarrollo, servicios auxiliares, microservicios.
Stack típico:
- Docker + Docker Compose
- Portainer (gestión visual)
- Traefik (reverse proxy)
Recursos: 4-16GB RAM según número de contenedores.
5. Servidor de base de datos de desarrollo
PostgreSQL, MySQL o MongoDB compartido por el equipo, con datos de prueba.
Recursos: 4-8GB RAM, NVMe importante para rendimiento.
6. VPN para desarrollo
Acceso seguro a recursos internos desde cualquier lugar.
Stack típico:
- WireGuard (moderno, rápido)
- OpenVPN (más compatible)
Recursos: 1-2GB RAM es suficiente.
Requisitos de VPS según uso
| Uso | RAM | CPU | Disco | Plan recomendado |
|---|---|---|---|---|
| Staging simple | 4GB | 2 vCores | 30GB | Basic |
| API pequeña | 4GB | 2 vCores | 30GB | Basic |
| Docker (5-10 containers) | 8GB | 4 vCores | 50GB | Advanced |
| CI/CD runner | 8-16GB | 4-6 vCores | 100GB | Advanced/Pro |
| Múltiples entornos | 16GB | 6 vCores | 100GB | Pro |
| Kubernetes (K3s) | 16GB+ | 6+ vCores | 100GB+ | Pro/Elite |
Docker en tu VPS
Docker es probablemente la herramienta más útil en un VPS de desarrollo.
Instalación rápida
# Ubuntu/Debian
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
Docker Compose para entornos completos
Ejemplo de stack de desarrollo completo:
version: '3.8'
services:
app:
build: .
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgres://dev:dev@db:5432/app
depends_on:
- db
- redis
db:
image: postgres:15
environment:
POSTGRES_USER: dev
POSTGRES_PASSWORD: dev
POSTGRES_DB: app
volumes:
- postgres_data:/var/lib/postgresql/data
redis:
image: redis:7-alpine
adminer:
image: adminer
ports:
- "8080:8080"
volumes:
postgres_data:
Portainer para gestión visual
Si prefieres interfaz gráfica:
docker volume create portainer_data
docker run -d -p 9443:9443 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
Accede en https://tu-ip:9443
Traefik como reverse proxy
Para múltiples servicios con SSL automático:
version: '3.8'
services:
traefik:
image: traefik:v2.10
command:
- "--api.dashboard=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "[email protected]"
- "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
- "--certificatesresolvers.le.acme.httpchallenge.entrypoint=web"
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- traefik_certs:/letsencrypt
CI/CD con tu VPS
GitHub Actions self-hosted runner
Ejecuta tus workflows en tu propio hardware:
# Descarga el runner
mkdir actions-runner && cd actions-runner
curl -o actions-runner-linux-x64.tar.gz -L \
https://github.com/actions/runner/releases/download/v2.311.0/actions-runner-linux-x64-2.311.0.tar.gz
tar xzf actions-runner-linux-x64.tar.gz
# Configura (obtén el token de GitHub)
./config.sh --url https://github.com/tu-usuario/tu-repo --token TU_TOKEN
# Ejecuta como servicio
sudo ./svc.sh install
sudo ./svc.sh start
GitLab Runner
# Instalar
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt install gitlab-runner
# Registrar
sudo gitlab-runner register
Ventajas de runners propios
- Sin límites de minutos (GitHub/GitLab limitan en planes gratuitos)
- Más rápido (más CPU/RAM que runners compartidos)
- Caché persistente (dependencias ya descargadas)
- Acceso a red privada (conexión directa a staging/DB)
Entornos de desarrollo remoto
VS Code Remote SSH
Desarrolla directamente en el VPS desde VS Code:
- Instala la extensión “Remote - SSH”
- Añade tu VPS:
Ctrl+Shift+P→ “Remote-SSH: Add New SSH Host” - Conecta y trabaja como si fuera local
Ventajas:
- Mismo entorno que producción
- No consumes recursos locales
- Desarrolla desde cualquier ordenador
GitHub Codespaces alternativo
Instala code-server en tu VPS:
curl -fsSL https://code-server.dev/install.sh | sh
sudo systemctl enable --now code-server@$USER
Accede desde el navegador a tu IDE completo.
Configuración de seguridad para desarrollo
SSH con claves (obligatorio)
# En tu máquina local
ssh-keygen -t ed25519 -C "[email protected]"
ssh-copy-id usuario@tu-vps
# En el VPS, desactiva login por contraseña
sudo nano /etc/ssh/sshd_config
# PasswordAuthentication no
sudo systemctl restart sshd
Firewall básico
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
Fail2ban para protección
sudo apt install fail2ban
sudo systemctl enable fail2ban
Puertos de desarrollo
Para servicios de desarrollo que no deben ser públicos, usa SSH tunneling:
# Accede a PostgreSQL (5432) de tu VPS en localhost:5432
ssh -L 5432:localhost:5432 usuario@tu-vps
Stack recomendado para diferentes lenguajes
Node.js
# Instalar Node via nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts
# PM2 para mantener apps corriendo
npm install -g pm2
pm2 start app.js
pm2 startup
Python
# pyenv para gestionar versiones
curl https://pyenv.run | bash
pyenv install 3.12
pyenv global 3.12
# Entornos virtuales
python -m venv venv
source venv/bin/activate
PHP
# PHP 8.3 + Composer
sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-curl
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Go
# Instalar Go
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
Errores comunes de desarrolladores en VPS
Error 1: Desarrollar como root
Nunca. Crea un usuario normal y usa sudo cuando necesites privilegios.
Error 2: Exponer servicios de desarrollo a internet
PostgreSQL, Redis, MongoDB… no deben ser accesibles desde fuera. Usa firewall y SSH tunneling.
Error 3: No usar control de versiones para configs
Tus archivos de configuración de Nginx, Docker Compose, etc. deberían estar en Git. Si pierdes el servidor, puedes reconstruirlo.
Error 4: No hacer backups de bases de datos
Los datos de desarrollo también importan. Automatiza backups aunque sea un entorno de pruebas.
Error 5: Servidor desactualizado
Configura actualizaciones automáticas de seguridad:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
Planes recomendados para desarrolladores
| Perfil | Uso típico | Plan | Precio |
|---|---|---|---|
| Estudiante/hobby | 1-2 proyectos, aprendizaje | VPS Basic | 10,90€/mes |
| Freelance | Staging + API + Docker | VPS Advanced | 8,62€/mes |
| Dev profesional | CI/CD + múltiples entornos | VPS Pro | 33,90€/mes |
| Equipo pequeño | Staging compartido + runners | VPS Elite | 60,50€/mes |
Mi recomendación: El VPS Advanced (8,62€/mes) con 12GB RAM es perfecto para la mayoría de desarrolladores. Suficiente para Docker, staging y CI/CD básico.
Preguntas frecuentes
¿Puedo usar el VPS para producción además de desarrollo?
Puedes, pero es mejor separar entornos. Un error en desarrollo no debería afectar producción.
¿Necesito saber Linux para usar un VPS de desarrollo?
Conocimientos básicos sí. Pero es una oportunidad de aprender. Muchos recursos online te guían paso a paso.
¿Docker o instalación directa?
Docker siempre que sea posible. Aisla servicios, facilita replicar entornos y permite limpiar fácilmente.
¿Puedo compartir el VPS con mi equipo?
Sí. Crea usuarios separados, configura SSH para cada uno y establece permisos adecuados.
¿Merece la pena para side projects pequeños?
Por 8-10€/mes tienes un servidor donde desplegar todos tus side projects. Más barato y flexible que múltiples servicios de hosting.
Nuestra recomendación
Para empezar: VPS Advanced (8,62€/mes). 12GB RAM, suficiente para Docker con varios contenedores, staging y experimentos.
Para desarrollo serio: VPS Pro (33,90€/mes). 24GB RAM para CI/CD runners, múltiples entornos y Kubernetes ligero (K3s).
Para equipos: VPS Elite (60,50€/mes) o múltiples VPS separados por función.
Un VPS de desarrollo es una de las mejores inversiones para un programador. Por menos de lo que cuesta una suscripción de streaming, tienes un servidor completo para aprender, experimentar y desplegar.
Conclusión
Todo desarrollador serio debería tener un VPS. Es tu laboratorio personal, tu staging, tu plataforma de despliegue para side projects.
Por 10-30€/mes tienes recursos suficientes para Docker, CI/CD, APIs y todo lo que necesites. Y el conocimiento que ganas gestionando tu propio servidor es invaluable.
Empieza con algo básico, experimenta, rompe cosas, aprende. Esa es la mejor forma de convertirte en un desarrollador más completo.
¿Quieres tu VPS de desarrollo? Explora los VPS de Avantys o consulta la guía completa de VPS.
Guías relacionadas
- Qué es un VPS y para qué sirve
- Cómo configurar un VPS desde cero
- Securizar un VPS Linux
- Qué es la virtualización KVM
¿Quieres la guía completa con todos los casos de uso?
¿Quieres que lo hagamos por ti?
En Avantys gestionamos tu web, hosting y crecimiento digital de punta a punta. Tú a lo importante.