Por qué usar una máquina virtual para proyectos PHP

 

Respuesta rápida: para evitar sorpresas desagradables.

Paso a detallar un poco de qué estoy hablando con un par de historias que me pasaron hace unos cuantos años durante el desarrollo de un proyecto personal.

Como la mayoría de los desarrolladores que están empezando, tenía instalado en mi computadora (Windows en aquel entonces) el paquete XAMPP y mi forma de trabajo era programar y probar en mi propia computadora y luego, mediante FTP, subir mis cambios al hosting que había contratado con la empresa de un amigo.

Un día una de las últimas actualizaciones que había realizado a mi código funcionaba perfectamente en mi casa, pero al subirla a mi hosting las cosas eran un poco diferentes (léase: no andaba nada :p).

Hago la historia corta: yo había escrito los nombres de las tablas de mis consultas en mayúsculas (algo como SELECT * FROM USERS), cuando los nombres en la base estaban en minúsculas. Claro, mientras estaba en un entorno incapaz de distinguir mayúsculas de minúsculas (Windows) no había problema, pero al deployar sobre un BSD que sí lo era… aparecieron los problemas.

Tardé unos cuantos días en darme cuenta del problema (Y unas cuantas veces pensé en cambiar de profesión).

Otro problema similar que tuve fue todavía más difícil de encontrar: mi versión de MySQL era un poquitín superior a la que estaba usando el hosting (Con lo cual, una función de la que mi código dependía simplemente no estaba disponible en Producción).

Conclusión:

El modo más seguro de evitar que aparezcan sorpresas al llevar tu código a Producción (O a cualquier otro ambiente para el caso), es programar en un entorno lo más parecido posible al productivo.

Hay dos opciones básicas para lograr esto:

  1. Tener tu propio servidor que puedas configurar de acuerdo a las necesidades de tu aplicación (Probablemente un VPS)
  2. Configurar tu entorno de desarrollo de acuerdo a las capacidades que te brindará el servidor donde vayas a montar tu aplicación

Independientemente de cuál sea tu elección, tener una máquina virtual específica para tu proyecto es la forma más práctica de generar código que corra sin problemas en el ambiente productivo.

Así que en definitiva, la pregunta sería «¿Por qué NO usar una máquina virtual para proyectos PHP?»

mchojrin

Por mchojrin

Ayudo a desarrolladores PHP a acceder mercados y clientes más sofisticados y exigentes