lunes, 15 de octubre de 2012

Integración contínua (CI)

En un entorno donde las páginas web son modificadas constantemente e involucra a programadores, es necesario llevar un control de la calidad del software. Es aquí donde entra el Continous Integration.

Para entender un poco mejor esto, hay que conocer la teoría de la ventana rota: Si tienes un carro en buen estado y lo dejas un par de semanas en un mismo lugar donde hay cierto índice de vandalismo es probable que al regresar encuentres el carro en el mismo estado que lo dejaste --ya lo sé, esto no aplica en México. Pero que pasa si dejas el mismo carro con una ventan rota en el mismo lugar... al regresar es probable que lo encuentres sin motor, o sin llantas o de cualquier manera vandalizado. Si algo está mal, la tendencia es que empeorará.

Aplicado esto al desarrollo de aplicaciones con varios programadores, si Juanito Programador envía una porción de código y no pasa las pruebas de calidad se espera que Juantio Programador lo resuelva antes de continuar al siguiente paso del proyecto. Si por el contrario Juanito Programador lo ignora y continúa, los demás programadores tenderán a hacer lo mismo. Para esto es muy práctico contar con un mecánismo (o un bot) que ejecute una serie de pruebas en cuanto Juanito Programador añada su código al proyecto y nos notifique en caso de no pasar alguna de las pruebas.

Nosotros como administradores de sistema debemos de estar al tanto cuando un deploy pueda poner en riesgo la estabilidad del servidor o simplemente muestre una página en blanco o con errores fatales en el caso de servidores web. Para eso nos valemos de herramientas como Jenkins o CI Joe.

martes, 3 de enero de 2012

Nombres de interfaces de red en Fedora 15 y adelante

Un desarrollador de Fedora, Matt Domsch, menciona que las interfaces de red en Fedora a partir de la versión 15 ya no serán ethX.


According the Matt Domsch, the new naming scheme is as follows:
em[1-N] for on-board (embedded) NICs (# matches chassis labels)
pci<slot>#<port> for cards in PCI slots, port 1..N
NPAR & SR-IOV devices add a suffix of _<vf>, from 0..N depending on the number of Partitions or Virtual Functions exposed on each port.
Other Linux conventions, such as .<vlan> and :<alias> suffixes remain unchanged and are still applicable.
Lo que quiere decir que las interfaces de tarjetas integradas a la tarjeta madre seran em1, em2... y las interfaces de tarjetas PCI seran pc1, pc2....

Otra peculiaridad que se maneja en el archivo de configuración de las tarjetas en /etc/sysconfig/network-scripts/ifcfg-nombre es que se usa el UUID de la tarjeta de red y ya no se especifica el nombre del dispositivo como antes se hacia.

Antes:
DEVICE="eth0"
 Ahora:
UUID=0e0e0e0e-1234-1234-a1a1-1234567890ab