Modernización de aplicaciones: cuándo es mejor reescribir que refactorizar

Ecosistema de F5 | 08 de septiembre de 2020

Uno de los mayores efectos de la transformación digital es la disrupción que provoca en el desarrollo de aplicaciones. Históricamente, la introducción de nuevas arquitecturas en el desarrollo de aplicaciones suele tardar varios años en cobrar impulso y alcanzar una adopción generalizada. Las arquitecturas de aplicaciones que tienden a imponerse en sectores enteros acaban convirtiéndose en el estándar de facto. Así ocurrió entre mediados y finales de la década de 1990, cuando J2EE se convirtió lenta pero inexorablemente en el «estándar empresarial» para desarrollar aplicaciones web de tres capas.

Hoy en día, la arquitectura que parece destinada a consolidarse y convertirse en el nuevo estándar es la nativa de la nube. Estas arquitecturas de microservicios basadas en contenedores están imponiéndose rápidamente en los nuevos proyectos de desarrollo de todos los sectores. El exitoso crecimiento de Kubernetes, plataforma en la que se implementa y opera un número considerable de estas aplicaciones, indica que esta nueva arquitectura de aplicaciones ha llegado para quedarse. Nuestro estudio muestra que al menos la mitad de las organizaciones están explorando «nuevas arquitecturas» debido a la transformación digital.

impacto en el desarrollo de aplicaciones

Ahora bien, esto suele interpretarse como que las organizaciones están inmersas en un proceso de «modernización». Y nosotros (el sector) tendemos a hablar de la modernización en términos muy generales (y poco precisos), como si las organizaciones fueran a agitar una varita mágica y todas sus aplicaciones pasaran a estar desarrolladas conforme a este nuevo modelo.

La realidad es que las organizaciones disponen de muchas formas de modernizar las aplicaciones. Solo algunas (el 37 %) están optando por la refactorización. Existen numerosos métodos de refactorización, y uno de los enfoques más populares es Red Green Refactor. Pero hay otros, como la refactorización preparatoria y diversas opciones basadas en la abstracción. La mayoría se basan en simplificar el código. En otras palabras, recurren principalmente a una forma menos disruptiva de reescribir la aplicación.

Sin embargo, hay ocasiones en las que una reescritura completa es la mejor estrategia de modernización. Por lo general, el esfuerzo necesario para reescribir por completo una aplicación heredada puede ser tan considerable que disuada incluso al más firme defensor de la transformación digital. No obstante, en algunos casos puede generar un ahorro significativo.

Pensemos en el enfoque adoptado por una agencia federal para modernizar su cartera de aplicaciones. Al estar obligada a adoptar una metodología ágil, la agencia necesitaba un permiso especial para desarrollar aplicaciones siguiendo el modelo tradicional en cascada. El modelo en cascada era la metodología predominante cuando yo programaba, así que sí, es antiguo. La agencia decidió que el mejor punto de partida era conocer su propia cartera y justificar la necesidad de cada aplicación.

Durante esa auditoría, descubrieron que casi 200 aplicaciones —de un total aproximado de 6000— realizaban la misma tarea básica de gestión de activos. Imagine por un momento que fuera necesario introducir un cambio en esa función empresarial básica y que hubiera que modificar las 200 aplicaciones.

Eso supone una gran inversión de tiempo y esfuerzo por parte de los desarrolladores y operadores para desarrollar, probar e implementar la misma función empresarial.

La agencia decidió modernizarse sustituyendo las 200 aplicaciones por un único microservicio que ahora puede utilizarse en toda la organización para realizar un seguimiento de los activos. Desarrollado con metodologías ágiles y ejecutado en un entorno moderno, puede escalar para satisfacer las necesidades de todas las funciones que hasta entonces dependían de su propia aplicación privada e independiente.

No todos los esfuerzos de modernización se centran en la refactorización. Analizar estratégicamente qué implica la modernización para toda la cartera de aplicaciones puede aportar importantes ventajas empresariales. Muchas organizaciones, especialmente aquellas que llevan décadas en funcionamiento, probablemente se enfrenten al mismo problema en su cartera: la duplicación. Las reestructuraciones, adquisiciones, fusiones y cambios en la dirección pueden dar lugar fácilmente a aplicaciones duplicadas.

A todas las organizaciones les resultaría beneficioso llevar a cabo una auditoría y racionalización de sus aplicaciones como parte de una estrategia de modernización. Es posible que descubra que dispone de cientos de aplicaciones, pero que solo necesita algunas de ellas. Este tipo de estrategia permite a los responsables justificar una aplicación completamente nueva, desarrollada con una arquitectura moderna, para eliminar la redundancia de aplicaciones y los costes que conlleva esta situación.

Compartir
Etiquetas: 2020

Sobre el autor

Lori Mac Vittie
Lori Mac VittieIngeniero distinguido y evangelista jefe | F5

Lori MacVittie es ingeniera distinguida y evangelista jefe en la Oficina del CTO de F5, y cuenta con una amplia experiencia en entrega de aplicaciones, estrategia de automatización e infraestructura. Es conocida por convertir la complejidad en claridad, ya sea definiendo mecanismos de protección para agentes de IA, analizando arquitecturas multinube frágiles o explorando los límites de los sistemas escalables. Aporta más de treinta años de experiencia en el sector en desarrollo de aplicaciones, arquitectura de TI y operaciones de redes y sistemas. Antes de incorporarse a F5, fue una galardonada editora de tecnología. MacVittie posee un máster en Informática y es una autora prolífica cuyas publicaciones abarcan la seguridad, la nube y la arquitectura empresarial. También es una apasionada de los juegos de mesa y los videojuegos, y expresa sin complejos sus firmes opiniones sobre el queso.

Más artículos de Lori Mac Vittie

Artículos relacionados del blog

Cree servicios públicos seguros, resilientes y preparados para la IA con F5 y AWS
Ecosistema de F5 | 26/05/2026

Cree servicios públicos seguros, resilientes y preparados para la IA con F5 y AWS

Descubre cómo las organizaciones del sector público pueden modernizar de forma segura sus aplicaciones y soluciones de IA, al tiempo que gestionan los sistemas heredados, el cumplimiento normativo y el riesgo operativo.

Protección de los sistemas de IA: por qué la seguridad debe avanzar al ritmo de la innovación
Ecosistema de F5 | 04/08/2025

Protección de los sistemas de IA: por qué la seguridad debe avanzar al ritmo de la innovación

Desde acelerar avances revolucionarios en medicina y educación hasta transformar la vida cotidiana, la IA está cambiando nuestra forma de vivir y trabajar. Pero también ofrece grandes oportunidades a los ciberdelincuentes.

Avanzar hacia la optimización digital tras la transformación
Ecosistema de F5 | 06/08/2024

Avanzar hacia la optimización digital tras la transformación

Descubre estrategias de optimización digital para garantizar políticas de seguridad coherentes, impulsar la madurez de la transformación digital y superar los retos de la transformación.

Proyecto de código abierto destacado: mayor observabilidad con F5 Cloud Logger iApp
Ecosistema de F5 | 07/06/2018

Proyecto de código abierto destacado: mayor observabilidad con F5 Cloud Logger iApp

En el punto de mira del código abierto: cómo aumentar la observabilidad. Lee el blog de F5 para descubrir cómo exportar fácilmente la telemetría de BIG-IP a plataformas modernas de análisis en la nube.

El estado de la entrega de aplicaciones en 2018: la transformación digital impulsa la automatización y la multinube pese a las preocupaciones de seguridad
Ecosistema de F5 | 16/01/2018

El estado de la entrega de aplicaciones en 2018: la transformación digital impulsa la automatización y la multinube pese a las preocupaciones de seguridad

Descubre las principales conclusiones del cuarto informe anual de F5 sobre el estado de la entrega de aplicaciones.

Estado de la entrega de aplicaciones en 2017: automatización, API y DevOps
Ecosistema de F5 | 17/04/2017

Estado de la entrega de aplicaciones en 2017: automatización, API y DevOps

Descubre el informe sobre el estado de la entrega de aplicaciones de 2017. Lee el blog retrospectivo de F5 sobre los inicios del auge de las redes declarativas y los flujos de DevOps.