Pasar al contenido principal

¿Qué riesgos tiene trabajar con sistemas heredados?

Trabajar con sistemas heredados es, a veces, una necesidad. Esta puede venir impuesta por los costes de desarrollar una plataforma nueva. Pero también porque el tiempo necesario para sustituirla implica que deberá mantenerse la existente durante un tiempo prolongado.

Tanto si la ampliación de la vida útil del software o el hardware está motivada por los costes como si se trata de una necesidad temporal, es importante tener en cuenta que los sistemas heredados presentan algunos riesgos. Estos deben de tenerse en cuenta, tanto al decidir si realmente se trata de un sistema que todavía es válido, como para calcular los costes totales de no renovarlo. En este caso estará incluido un mantenimiento que puede ser muy costoso.

Los principales riesgos de los sistemas heredados

Uno de los principales riesgos es que un sistema obsoleto tiende a fallar. Resolver sus problemas puede resultar muy caro. Tanto en horas de trabajo, que en ocasiones puede ser muy especializado y difícil de encontrar, como en tiempo en que el sistema heredado no estará en servicio.

Asociado a este problema está el de las prestaciones de los sistemas anticuados. Es posible que su rendimiento fuese muy bueno cuando se desarrollaron. Pero en la actualidad, los tiempos de espera pueden ser mucho más lentos que en cualquier aplicación reciente. Además de exasperante para los usuarios, puede suponer una barrera para, por ejemplo, presentar información en tiempo real.

Pero, incluso si la plataforma y el software resultan estables y siguen funcionando sin fallos en condiciones normales, el riesgo de seguridad siempre estará presente. Con toda probabilidad, desde el sistema operativo hasta la aplicación y otros componentes de software habrán dejado de recibir actualizaciones. Esto quiere decir que cualquier posible agujero de seguridad detectado desde que cesó el soporte es difícil o imposible de mitigar.

En estos casos, es habitual caer en la tentación de establecer capas de seguridad alrededor del problema. Pero estas, en realidad, no impiden a un atacante aprovechar la vulnerabilidad. Se produce así una falsa sensación de seguridad que puede ser tan peligrosa como el propio agujero que se pretende cerrar.

Además, en una época en que las aplicaciones están interconectadas, tanto en el propio ámbito de la empresa que las explota como con herramientas de terceros, las limitaciones técnicas pueden dar lugar a problemas irresolubles. Entre ellos, un sistema heredado vital para la empresa que no se conecta con aplicaciones de facturación o sistemas de pago. O seguir pagando por almacenamiento local de archivos cuando sería más interesante llevar esa información a la nube. Esto último se debe en muchos a que al usar un software obsoleto no es posible conectarse con AWS, Azure o Google Cloud.

En esos casos, la incompatibilidad de software de los sistemas heredados puede resultar molesta y costar mucho dinero a la empresa. En otros, directamente, puede limitar el desarrollo del negocio impidiendo el uso de ciertas herramientas de terceros. Este tipo de incompatibilidad puede venir desde cualquier punto. Así, el sistema operativo puede disponer de una pila TCP/IP que no permite aprovechar ciertas funciones de calidad de servicio (QoS). O el lenguaje de programación elegido puede no disponer de librerías con las versiones más actuales de TLS, impidiendo conectarse a ciertas APIs externas. Además, puede que el servidor web no permita el uso de determinados tipos de cifrado.

Posibles soluciones

En algunos de estos casos, se puede desarrollar software que sirva como intermediario entre el sistema heredado y el resto del mundo. En estos casos se puede aislar un sistema inseguro del resto del mundo y resolver parte de sus problemas. Para ello se puede instalar un servidor web moderno que actúe como proxy del antiguo, e incluso desarrollar un adaptador que se conecte a la API de un servicio en la nube e interactúe con la aplicación heredada.

Sin embargo, otros problemas tienen una solución más complicada. El rendimiento, por ejemplo, puede resolverse en algunos casos virtualizando el software antiguo en una plataforma moderna. Pero no todos los sistemas heredados son virtualizables, bien por tratarse de hardware diferente, bien porque las licencias de software disponible no lo permiten.

La solución suele pasar por afrontar el temido momento de poner en marcha un nuevo proyecto que sustituya al sistema heredado. Sin duda, los costes pueden ser una limitación y el proyecto puede ser también prolongado en el tiempo. Pero disponer de más margen temporal para ponerlo en marcha tiene dos ventajas: la primera es que se puede invertir más tiempo en el análisis y asegurar la calidad del nuevo producto. También aprovechar para hacer todas las mejoras que sean necesarias, dar formación a las personas que utilizan la herramienta, etc.

Además, puede ser más sostenible financieramente un proyecto a largo plazo llevado a cabo por un equipo pequeño, e incluso por parte del equipo técnico ya contratado por la empresa que otro en el que hay que sobredimensionar los recursos humanos necesarios para llegar a tiempo a la fecha de puesta en marcha.

Las limitaciones de los conocimientos

En este aspecto, conviene tener en cuenta otro inconveniente de los sistemas heredados. Generalmente, quienes son capaces de trabajar con ellos son profesionales muy cualificados que han aprendido a hacerlo cuando estos eran la última tecnología. Lo malo es que, en muchos casos, no se han puesto al día porque se han seguido utilizando. La situación se agrava cuando estas personas alcanzan la edad de jubilación. En la actualidad es complicado contratar a profesionales con experiencia con sistemas antiguos.

Afrontar una migración, con todos los inconvenientes que conlleva, es una buena oportunidad para que el equipo técnico en plantilla actualice sus conocimientos. También, por qué no, para atraer talento a la empresa. Muchas personas que no se implicarían en el mantenimiento del sistema heredado sí pueden encontrar un reto en su sustitución por nuevas tecnologías. Ese conocimiento puede ser de gran ayuda para la compañía. No solo en el proyecto de renovación. También para explorar nuevas vías de negocio. Y para repensar la forma en que se llevan a cabo algunas de las tareas cotidianas. Renovarse o morir.

Share this post

Comments (0)