lunes, 6 de diciembre de 2010

Los eslabones perdidos del software corporativo

En mi entorno laboral, que se desarrolla con frecuencia en el mundo de los sistemas de información en grandes compañías,  alguna vez he oído hablar de leyendas que apuntan a la pérdida de códigos fuente en algunos de los sistemas de información más antiguos pero, a la vez, probablemente, más importantes, los que forman la columna vertebral de la informática corporativa.

Nunca me lo he creído del todo ni tampoco me lo he dejado de creer.

Por un lado, me parece plausible. Al fin y al cabo, el sector del software creo que sigue sin estar completamente maduro en cuanto a estabilidad y operación y estos casos constituirían, en ocasiones, muestra de negligencia sí, pero, en otras, puros síntomas de esa inmadurez.

Pero, por otro lado, me parece tremendo y de consecuencias difíciles de evaluar el riesgo que supone esa pérdida de código fuente, una pérdida que parece aconsejar la sustitución rápida del elemento de software afectado y la adopción de medidas para evitar que vuelva a ocurrir.

Sin embargo, esas historias de pérdidas de código fuente, esos eslabones perdidos del software cororativo,  deben ser algo más que mitos y leyendas. Leo en el libro 'Executive's guide to cloud computing' de Eric A. Marks y Bob Lozano, la siguiente afirmación:

"The world of the computing in the enterprise is replete with stories of applications for which no source exists; applications for which source exists but the required supporting tools are no longer supported; and applications for which source and supporting tools do and are supported but for which no living person has any reasonable ability to undestand enough about the application to even hope to modify, much less to move the application. This stories are real: these applications exist."

Los autores hablan de la integración (establecimiento de una capa de servicios que recubra el software obsoleto) e interacción (uso de esos servicios por otras aplicaciones) como la forma de convivir con este tipo de aplicaciones. Y considero que son las recetas adecuadas, pero pensando en un corto/medio plazo en que la empresa debe convivir con esta curiosa situación y seguir, sin embargo, evolucionando el resto de sus sistemas.

A largo plazo no parece existir más opción que la sustitución de la aplicación. Opción nada barata ni sencilla, presumiblemente. Pero el riesgo de una aplicación que, en el fondo, es desconocida, que nadie sabe cómo mantener, evolucionar e, incluso corregir, es considerable. La probabilidad de que una de estas aplicaciones falle es muy bajo, puesto que son aplicaciones que llevan años funcionando satisfactoriamente. Eso si, si un día fallan, las consecuencias pueden ser desastrosas.

¿Que ocurriría si, a consecuencia de una migración de CPD, o de la evolución de otra aplicación con la que se mantenían vínculos no conocidos, o por un desastre natural, o por un corte eléctrico, o por cualquier otro fenómeno no previsto, nuestro venerable sistema de información, aquel del cual no existe código fuente o no sabemos ya gestionarlo, aquel sistema de información que, sin embargo, se encuentra en la columna vertebral de nuestra informática corporativa, dejara de funcionar?

Tal vez, evitar este tipo de situaciones, pueda ser un nuevo argumento, por cierto un argumento rara vez esgrimido, en favor del cloud computing y del software como servicio (SaaS).