El mantenimiento de aplicaciones legadas puede tomar mucho tiempo, ser complejo y costoso. Factores como el rápido crecimiento de la computación basada en la nube, la necesidad de una mayor comprensión de los datos y la pandemia de COVID-19, han llevado a muchas empresas a ver la modernización de aplicaciones con más urgencia.
A medida que las organizaciones comienzan su viaje de transformación digital, necesitan soluciones para modernizar sus aplicaciones que aseguren que los productos y servicios se alineen mejor con los objetivos comerciales y que la vez puedan brindar soporte a las diversas plataformas de datos en una infraestructura de nube híbrida.
¿A qué nos referimos cuándo hablamos de la modernización de aplicaciones?
La modernización de aplicaciones es el proceso de transformar un sistema heredado de manera que pueda ejecutarse en las plataformas y arquitecturas de nube actuales y así, soportar mejor objetivos y procesos del negocio. Un sistema heredado se define comúnmente como cualquier tecnología, sistema o software de aplicación obsoletos que todavía estén en uso y que cumplen aún con las funciones para las que fue implementado, pero no permite el crecimiento o la fácil integración y se vuelve costoso de mantener.
Al tratarse de un ingrediente esencial en la transformación digital del negocio, la modernización de aplicaciones no debe tomarse a la ligera.
Con tanto trabajo uno podría cuestionarse ¿por qué no simplemente comprar algo listo para usar? Esto podría ser viable para funciones comerciales relativamente estándar como recursos humanos o financieros, pero la realidad es que muchos sistemas heredados están altamente personalizados para procesos muy específicos, lo cual los vuelve difícilmente prescindibles.
¿Qué se necesita para una modernización de aplicaciones exitosa?
Aspectos fundamentales de la modernización de aplicaciones incluyen el contar con herramientas, marcos y procesos para operaciones híbridas en la nube, BizDevOps, DataOps y gestión de datos confidenciales. Es posible que, para lograr una modernización de aplicaciones exitosa, las organizaciones deban dar un paso atrás para establecer o reforzar los apoyos existentes en primer lugar.
- 1) Modelar flujos de procesos y estructuras de datos: Modernizar una aplicación heredada es similar a crear una desde cero en el sentido de que debe ser conceptualizado y modelado primero. Pero una aplicación heredada ya tiene flujos de procesos, estructuras de datos e interdependencias que necesitan ser desenredados y entendidos para que puedan ser rediseñados en la nueva arquitectura. Las herramientas de modelado de procesos pueden ayudar al visualizar mejor los flujos de trabajo y las entradas/salidas de datos conectados para que puedan entenderse tanto por usuarios comerciales como técnicos.
- 2) Desbloquear y migrar datos: Los datos almacenados por las aplicaciones que se quieren modernizar pueden ser difíciles de liberar de estos sistemas. Al planificar una iniciativa de modernización de aplicaciones, es importante pensar en cómo migrar los datos de la estructura anterior a la nueva. Las herramientas de replicación de datos nos sirven para transformar los datos durante el proceso de migración, y mantener fuentes y destinos sincronizados para evitar interrupciones en el negocio.
- 3) Administrar la infraestructura y las operaciones de las aplicaciones: Una vez que una aplicación se libera de sus limitaciones heredadas, puede beneficiarse de metodologías ágiles como BizDevOps y DataOps o las herramientas de integración continua/desarrollo continuo (CI/CD) que pueden acelerar la entrega de valor empresarial. La arquitectura de nube híbrida también requiere un conjunto diferente de herramientas y habilidades operativas para evitar la expansión de la misma y controlar costos.
Nota relacionada: El reto del cumplimiento de normativas para la migración a la nube
- 4) Supervisar el rendimiento de la aplicación y la base de datos: El impulso para modernizar las aplicaciones heredadas a menudo se debe al costo que implica mantener hardware, sistemas operativos o procesos de programación antiguos, pero también puede deberse a que la aplicación está funcionando mal y frustra a los usuarios con un procesamiento lento y tiempos de espera largos. Mantener esa aplicación funcionando de manera óptima se puede lograr con herramientas de monitoreo del rendimiento de la aplicación y la base de datos que identifican proactivamente problemas potenciales y ayudan con su resolución. Estas mismas herramientas también pueden detectar cuando existe un rendimiento deficiente y ajustarse automáticamente para una ejecución óptima.
- 5) Proteger los datos confidenciales: Es probable que las aplicaciones heredadas contengan una variedad de datos confidenciales. Durante el proceso de modernización, es importante identificar esta información y tomar medidas para protegerla durante el desarrollo, prueba y producción. A partir de ahí, las organizaciones pueden utilizar herramientas que protegen los datos confidenciales utilizando técnicas como enmascaramiento o encriptación, sin importar dónde residen los datos.
Posiblemente, uno de los mayores obstáculos para la modernización de aplicaciones es el miedo al cambio. Siguiendo el dicho «si no está roto, no lo arregles», muchas organizaciones simplemente no están dispuestas a correr el riesgo asociado con interrumpir algo que todavía funciona y puede sustentar negocios críticos. Pero las aplicaciones heredadas están frenando el crecimiento, consumiendo una parte desproporcionada de los presupuestos de TI y exponiendo a la empresa cada vez más a ataques cibernéticos. En última instancia fallarán, causando unas consecuencias que serán mucho más disruptivas y costosas que el proceso de modernización.
Por esto, traer aplicaciones heredadas a las arquitecturas modernas basadas en la nube, se ha convertido en un imperativo comercial debido principalmente a que los costos de la inacción demasiado altos para ignorar.
Por Marco Fontenelle, General Manager de Quest Sotware, Latin America.