domingo, 8 de agosto de 2010

Release It!

Release It! es uno de esos libros que ningún arquitecto de sistemas debería dejar de leer, aunque probablemente lo que realmente nos gustaría a cualquier arquitecto de sistemas es que ningún desarrollador dejara de leerlo.

En el libro, Michael T. Nygard a través de sus experiencias, nos muestra las consecuencias de los proyectos diseñados y desarrollados con el principal objetivo de pasar las pruebas de QA, y el "acto" de la puesta en producción, ignorando que probablemente se trata de software que estará en producción años, durante los cuales serán necesarios procesos de actualización y mejora, y de mantenimiento.

Es necesario destacar que generalmente en el coste del ciclo de vida del software, el mantenimiento suele ser entre el 70%-80% del mismo, luego es muy importante tener en cuenta ese periodo durante el diseño y desarrollo del software.

La aproximación utilizada por el autor, se basa en enumerar patrones y antipatrones (tanto para estabilidad como para capacidad), acompañados de una innumerable cantidad de casos de uso en los que se ven las consecuencias de las buenas y malas prácticas.

Durante el proceso el autor explica múltiples buenas prácticas, que no dejan de ser de sentido común, como un diseño que evite que los errores se propaguen entre diferentes módulos, uso de timeouts, conocer los protocolos involucrados, no sobrecargar las sesiones, tener herramientas de depuración desde consola, tener entornos de prueba lo más parecidos a los de producción, o en caso de error darlo lo antes posible. En definitiva no construir sistemas pensados para que no se produzcan fallos, sino sistemas que los toleren en caso de producirse.

En el libro también se describe
jconsole, una herramienta realmente útil para la depuración de problemas que en mi caso me ha servido, en los últimos 2 años, para encontrar varios problemas accediendo a bases de datos e incluso en el sistema de logs desde un servidor de aplicaciones, y de la que puede que hablemos en otras ocasiones.

En definitiva, es un libro cuya lectura me ha resultado muy instructiva y que recomiendo, y aunque no vas a encontrar en él nada que no sea de sentido común para gente que trabaja en estos temas, siempre es agradable que alguien con experiencia, en sistemas críticos, te muestre las consecuencias de las malas prácticas, y sobre todo que aglutine todos estos conceptos en un único documento.

Un saludo,
Carlos.

domingo, 1 de agosto de 2010

Bienvenidos a "IT and Management"

Mi nombre es Carlos A. Lozano, y trabajo desde hace 10 años en una consultora afín al software libre y Linux. En los últimos años se me ha pasado varias veces por la cabeza crear de mi propio blog, pero algunas veces por falta de tiempo y otras por pereza no había terminado de dar el paso. Durante todo este tiempo he matado el gusanillo escribiendo en el blog corporativo de la empresa donde trabajo, torturando a mis compañeros con extensos emails, o escribiendo cientas (sino miles) de páginas en los wikis corporativos.

En los 10 años que llevo trabajando he tenido la suerte de trabajar en innumerables y variados proyectos IT (distribuciones Linux, servidores de correo, gestión de identidad, virtualización, SaaS ...) , y con algunos magníficos profesionales de los que he aprendido todo lo que me han dejado, y que han influido tanto en lo que soy como espero yo haber influido en ellos. Con todo también he tenido tiempo (aunque muy limitado en los últimos años), para disfrutar de alguno de mis hobbies como programar emuladores, como ePSXe junto a dos monstruos como _demo_ y galtor, o participar en algunos otros proyectos como M.A.M.E. o Wine.

En cualquier caso ya ha llegado el momento de remediar esta situación, y contar finalmente con un espacio propio para expresar mis opiniones, dar a conocer mis descubrimientos y disfrutar junto a vosotros de una profesión que sigue apasionandome.

Dado que dudo que sea capaz de encontrar tiempo para publicar con cierta frecuencia, os dejo enlaces a los últimos artículos que he escrito en el blog corporativo de la consultora donde trabajo.

Futuro de la administración electrónica en las AAPPs locales
Realizando profiling de aplicaciones en JBoss

Instalación de Servicemix 3.3 en JBoss 4.2.x
Instalación de ODE 1.2 en JBoss 4.2.3
Normalización de identidades

Herramientas de provisión de usuarios
Áreas de trabajo en gestión de identidades


Un saludo,
Carlos.