Un uso práctico de software de código fuente abierto
Cuando comenzamos el proyecto de nuestro sitio web, sabíamos que los costos del software propietario serían demasiado altos para nuestros recursos financieros. Nuestra única opción era utilizar los softwares de código de código abierto.
Sin embargo, dentro del Código de Código Abierto hay muchos softwares para elegir, y el analista / programador del sistema puede elegir los que mejor se adapten a los objetivos del proyecto.
En nuestro caso, elegimos Linux como nuestro sistema operativo. Sin embargo, nos enfrentamos a una gran pregunta: ¿Qué distribución de Linux? Hay docenas de distribuciones de Linux, cada una con ventajas específicas, a veces con o sin servicios de pago.
Elegimos Linux Slackware porque pensamos que se adaptaría mejor a nuestras necesidades, en términos de estabilidad y confiabilidad. Slackware es una distribución conservadora, lo que significa que solo ofrece en su paquete de distribución versiones de kernel y bibliotecas de terceros, una vez que se ha demostrado que es estable y confiable. Como resultado, Slackware es uno de los sistemas operativos Linux más estables del mercado. Si el usuario desea el kernel y las bibliotecas de Linux más recientes, le recomendamos que busque una distribución diferente.
Otra razón por la que elegimos Slackware fue su interfaz de texto, que al principio puede resultar un poco difícil, pero a la larga ofrece una mejor comprensión del entorno Linux. De esta manera, la mayoría de las configuraciones de Slackware se realizan a través de scripts de texto.
Una vez que se configuró el sistema operativo, elegimos a Apache como nuestro servidor web. Apache es uno de los servidores web más populares en internet. Para el lenguaje de programación del servidor, elegimos PHP. Además, un lenguaje de programación muy popular. Nuestra experiencia con Apache / PHP demuestra que esta configuración es muy confiable y funciona muy bien en nuestro entorno de producción. Para el lenguaje de programación de estaciones de trabajo, elegimos javascript, que además de tener una sintaxis simple, ofrece muchos recursos.
El servidor web Apache es realmente un servidor web completo. Además, puede llegar a ser muy complejo con muchas configuraciones de configuración.
Para nuestra base de datos, elegimos Postgresql. Esta base de datos se ha puesto a disposición del público durante más de 15 años y, además de estar bien depurada, ofrece tantos recursos que se ha convertido en una de las mejores opciones de base de datos de software de código fuente abierto. Extremadamente confiable, Postgresql ha reportado casos donde ha habido bases de datos en producción con más de 4 terabytes. Además de todo eso, Postresql no es la base de datos de código fuente abierto más popular. ¿Una cuestión de marketing? Probablemente.
En cuanto al lenguaje de programación PHP, tuvimos que usar una estructura de aplicación orientada a objetos. Hay muchas estructuras de aplicaciones PHP que se ofrecen con la licencia de código de código abierto. La aplicación orientada a objetos es muy importante, ya que hace que la programación sea muy fácil y escalable hasta el punto en que el sistema puede crecer sin muchos problemas. Además, ayuda a mantener el código PHP separado del HTML, con la ayuda de algunas bibliotecas específicas, como Smarty. Hacemos uso de la biblioteca Smarty y creemos que es un recurso muy importante, que incluso puede hacer que las páginas web sean más rápidas mediante el uso de sus funciones de caché.
También un conjunto muy importante de bibliotecas que vale la pena mencionar para los sistemas PHP, son las bibliotecas PEAR. En el sitio web de PEAR, entre las muchas bibliotecas que se ofrecen, se encuentran la base de datos de interfaz de la base de datos y MAIL_QUEUE, que envía correos electrónicos a través del uso de la base de datos.
Cuando llegamos al final de nuestro proyecto, tuvimos que usar algún tipo de replicación de base de datos en tiempo real. Para eso elegimos las bibliotecas DRBD y Heartbeat. El uso de la replicación de la base de datos es muy importante y no debe posponerse. Apenas 3 meses después de que nuestro sistema entró en producción, el disco duro de nuestro servidor se dañó. Gracias al uso de DRBD / Heartbeat, pudimos poner el sistema nuevamente en producción en segundos, sin perder ningún dato. La replicación DRBD / Heartbeat se realiza mediante el uso de una red LAN entre el servidor y los nodos esclavos.
Nuestro proyecto también utiliza ImageMagick (ampliar y reducir imágenes), Iptables (firewall), Tsearch2 (búsqueda de texto en portgresql) y Mon (tareas de monitoreo de Linux).
También una biblioteca muy importante que vale la pena mencionar es el compilador de pseudo APC para PHP. La velocidad es siempre un factor crítico para los sitios de internet.
Nuestro sitio web ya está en producción y, según nuestra experiencia, podemos decir que los softwares de código de código abierto que seleccionamos resultaron ser extremadamente confiables y estables. El software de código fuente abierto puede ser una excelente opción para desarrollar sitios web.
Roberto Sedycias
Consultor de TI
Este artículo está bajo la licencia GNU FDL y puede distribuirse sin autorización previa del autor. Sin embargo, el nombre del autor y todas las URL (enlaces) mencionados en el artículo y la biografía deben mantenerse.