Modernizando las aplicaciones – 2/2

En el post anterior, analizamos estrategias de modernización de aplicaciones hacia la nube. En este post, vamos a analizar la modernización desde la vista de las áreas de desarrollo.

¿Qué hacer?

Seguimos manteniendo una aplicación legada, seguimos desarrollando sobre una plataforma obsoleta; o ¿arrancamos de cero?

Reescribir el código no es una tarea simple. Nos enfrentamos con código mal escrito, poco performante, y además es una tarea que requiere mucho tiempo.

Adicionalmente en caso de decidir reconstruir software, luego viene una etapa de migración del “viejo código” al “nuevo código”. Eso involucra 2 métodos.

  1. Una migración BigBang. Esta estrategia consiste en un apagado del sistema antiguo y un encendido del nuevo.
  2. Una migración gradual, donde se vayan reemplazando modularmente partes del “viejo código”, por el nuevo.

¿Cuando deberíamos refactorizar y mantener una aplicación como está?

Si el código actual funciona, y pueda ser mejorado, decidir seguir manteniendolo es una buena decisión.

Si el código tiene mucha inversión, se adapta a los nuevos tiempos y cumple su funcionalidad, mantenerlo es buena decisión.

Si el código no requiere de evolutivos/cambios, y no genera costos operativos altos, mantenerlo es una buena decisión.

¿Cuando deberíamos arrancar con cambio desde cero?

Aquel código legado, que corre en estructuras monolíticas y que requiere modernización para ir hacia arquitecturas SOA/Microservicios, requiere ser recreado bajo estándares modernos.

Aquel código que no puede adaptarse a metodologías Ágiles/#DevOps, requiere ser recreado.

Si la plataforma es insegura y el riesgo de robos de información o de fallas es alto, recrearlo es una buena decisión.

¿Por dónde comenzar?

Lo más importante es entender desde la óptica de negocios y desde la óptica de ingeniería en qué situación se encuentra una plataforma, y sea cual fuera la decisión, poder analizar los pro y contras de las tareas a realizar.

Si se ha decidido a realizar una modernización de sus aplicaciones, es necesario poder relevar todos sus componentes y generar un ‘mapeo aplicativo’ que contenga:

  • Detalles de los #frameworks utilizados
  • Detalles de la #infraestructura donde corre la plataforma
  • Detalles de integraciones
  • Detalles de bases de datos

Con toda este levantamiento de información se puede realizar un planeamiento sobre qué estrategia utilizar para modernizar una aplicación, adoptando frameworks nuevos, nuevos componentes de infraestructura como containers, bases de datos administradas, servicios PaaS/SaaS, etc.

En 54cuatro podemos ayudarte a realizar un #assessment y generar un roadmap de cómo modernizar tus aplicaciones. Contactanos para comenzar ya mismo con tu #AppModernization.


[popup_anything id=”2076″]