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.

No hay comentarios:

Publicar un comentario