Agosto 23 2008

Entornos de Desarrollo, Pre-Producción y Producción

No sé quién tiene más miedo a esas tres palabras… ¿desarrolladores ó administradores? Vale, acepto pulpo, creo que las dos partes tienen “derecho” a ese miedo.

Propongámos el siguiente juego: Desarrollamos un proyecto utilizando tecnología J2EE con un motor de base de datos MySQL, todo ello bajo el contenedor Tomcat… hasta aquí, todo normal. Bueno, un “pequeño” detalle… el servidor de desarrollo de todo esto corre bajo mi querido Windows. ¿Por qué se utiliza Windows? Pues porque si… las “normas” del juego son esas.

Paso número 2; migramos a pre-producción, con todo lo anterior, pero una “pequeña” diferencia… GNU/Linux (CentOS en este caso). Y que más dará, ¿verdad? Sólo estamos cambiando el sistema operativo, pero tanto el contenedor de aplicaciones como el motor de BD es el mismo, así que da igual… GAME OVER. La partida ha terminado: la aplicación no despliega… cuando se logra que despligue, no funciona (ficheros no encontrados, fallos de la BD, conflicto de librerías…)

¿Y por qué pasó todo esto? Podríamos estar horas discutiendo sobre quién tiene la culpa de no planificar esto… y no llegaríamos a nada en concreto, así que símplemente dejaré algunas indicaciones muy muy básicas para evitar estos problemas:

  • Respetar siempre las mayúsculas/minúsculas (normativa al respecto). Así funcionará en cualquier S.O. (se deben respetar tanto en ficheros, logs, tablas de BD, campos de BD…
  • Conocer el S.O. de destino y utilizar librerías compatibles. En el caso de no conocer el S.O. o bien que puedan ser varios destinos… asegurar que las librerías que se van a utilizar tienen compatibilidad o bien asegurar que dicha incompatibilidad no será un problema
  • Esta es más bien una opinión personal: NO montar un servidor de desarrollo bajo Windows. Windows por ejemplo no distingue entre minúsculas y mayúsculas, cosa que hacen el resto de S.O.’s… por lo que ya estamos dejando de lado un posible problema

Dejo para otro día las codificaciones… creo que mis amigos ISO y UTF tendrían para un par de posts ellos solitos… ;)

Un saludo

Marzo 31 2008

VMware y Ubuntu Hardy 8.04 (Beta)

Y muchos dirán… “esto te pasa por actualizar a una versión beta de Ubuntu”… pues si, tienen razón, dpero yo que le voy a hacer… ¡Nadie es Perfecto!

Bueno, entremos en materia. Para aquellas personas que no lo sepan, VMware es una solución de virtualización de máquinas virtuales. ¿Y que es eso? Nada que la Wikipedia no sepa. Por intentar explicarlo facilmente, a través de VMware podemos ejecutar varios sistemas operativos en una misma máquina… a la vez.

En mi caso, desde un equipo con Ubuntu 7.10 utilizo VMware para la ejecución de un par de máquinas virtuales de forma habitual (una con Windows XP y otra con un sistema de monitorización de red y firewall) y algunas que utilizo para hacer pruebas (por ejemplo, ejecutar un software “extraño” en Windows). VMware, para funcionar, inserta un módulo en el kernel de Linux, y cuando no tiene un módulo “pre-compilado” para esa versión, intenta compilar uno. Es el caso del uso con Ubuntu 7.10.

Hace un par de días se me ocurrió la magnífica idea de actualizar el equipo a Ubuntu 8.04 (Hardy), la nueva versión de Ubuntu, todavía beta (es decir, en pruebas). Todo fué bien hasta que al reiniciar me di cuenta de que tenía que volver a compilar el módulo para la nueva versión del kernel que viene con Hardy (2.6.24).
Read the rest of this entry »

RSS