Uno de los mayores impactos de la transformación digital es la disrupción en el desarrollo de aplicação . Históricamente, la introducción de nuevas arquitecturas en el desarrollo de aplicaciones generalmente demora varios años antes de cobrar impulso y lograr una adopción generalizada. Las arquitecturas de aplicação que tienden a abarcar industrias enteras terminan convirtiéndose en el estándar de facto. Vimos que esto ocurrió a mediados y fines de la década de 1990, cuando J2EE se convirtió lenta pero seguramente en el "estándar empresarial" para desarrollar aplicações web de tres niveles.
Hoy en día, la arquitectura que parece destinada a “perdurar” y convertirse en el nuevo estándar es la nativa de la nube. Estas arquitecturas de microservicios basadas en contenedores están avanzando rápidamente para dominar nuevos proyectos de desarrollo en todas las industrias. El exitoso crecimiento de Kubernetes, sobre el cual se implementan y operan una cantidad significativa de dichas aplicações , indica que esta última arquitectura de aplicaciones llegó para quedarse. Nuestra investigación muestra que al menos la mitad de las organizaciones están explorando "nuevas arquitecturas" debido a la transformación digital.
Ahora bien, esto se interpreta a menudo como que las organizaciones están en un viaje de "modernización". Y nosotros (la industria) tendemos a hablar de modernización en términos muy generales (y vagos). Como si las organizaciones simplemente agitaran una varita mágica y todas sus aplicações se basaran en este nuevo modelo.
La realidad es que las organizaciones tienen muchas formas de modernizar las aplicações. Sólo algunos (37%) están adoptando un enfoque de refactorización. Los métodos de refactorización abundan, y uno de los enfoques más populares es Red Green Refactor. Pero hay otras, incluida la refactorización preparatoria y una selección de opciones basadas en abstracción para elegir. La mayoría se basan en simplificar el código. En otras palabras, se basan en gran medida en una forma menos disruptiva de reescribir la aplicação.
Pero hay ocasiones en que una reescritura completa es la mejor estrategia de modernización. Generalmente, el esfuerzo para reescribir por completo una aplicação heredada existente puede ser lo suficientemente sustancial como para desanimar incluso al defensor más decidido de la transformación digital . Pero en algunos casos, puede suponer ahorros significativos.
Consideremos el enfoque adoptado por una agencia federal para modernizar su cartera de aplicação . Operando bajo el mandato de pasar a una metodología ágil, la agencia necesitaba un permiso especial para desarrollar aplicações de manera tradicional, en cascada. Ahora bien, la cascada era la metodología dominante cuando yo estaba codificando, así que sí, es antigua. La agencia decidió que el mejor lugar para comenzar era comprender su propia cartera y racionalizar la necesidad de cada aplicação.
Durante esa auditoría, encontraron casi 200 aplicações(de aproximadamente 6.000) que realizaban la misma tarea básica de gestión de activos. Imaginemos por un momento que fuera necesario realizar un cambio en esa función básica del negocio que requiriera modificar las 200 aplicações.
Eso supone mucho tiempo y esfuerzo por parte de desarrolladores y operadores para desarrollar, probar e implementar la misma función comercial.
La agencia decidió modernizarse reemplazando las 200 aplicações con un único microservicio que ahora puede usarse en toda la agencia para rastrear activos. Desarrollado utilizando metodologías ágiles y operado en un entorno moderno, puede escalar para satisfacer las necesidades de cada función que hasta ahora dependía de su propia aplicação personal y privada.
No todos los esfuerzos de modernización se centran en la refactorización. Explorar estratégicamente lo que significa la modernización para toda la cartera de aplicação puede generar importantes ventajas comerciales. Es probable que muchas organizaciones, especialmente aquellas que han estado operando durante décadas, se enfrenten al mismo problema de cartera: la duplicación. Las reestructuraciones, adquisiciones, fusiones y cambios en la gestión pueden dar lugar con bastante facilidad a la duplicación de aplicações .
Sería beneficioso para cada organización realizar una auditoría y racionalización de aplicação como parte de una estrategia de modernización. Es posible que descubra que tiene cientos de aplicações, pero que solo necesita algunas de ellas. Este tipo de estrategia permite a los líderes justificar una aplicação completamente nueva, desarrollada en una nueva arquitectura, para eliminar la redundancia de aplicaciones y los costos que tal situación genera.