Para aprovechar al máximo la escalabilidad y flexibilidad de la nube, la mayoría de las empresas están yendo más allá de un simple enfoque de elevación y cambio, y en lugar de ello están inyectando capacidades nativas de la nube. Una estrategia sencilla sobre el papel, pero que rápidamente puede resultar compleja en la práctica. Como ocurre con muchas tareas aparentemente fáciles, el diablo está en los detalles.
Para garantizar que la modernización de una aplicación heredada para la nube no se convierta en un proceso largo y doloroso, es necesario tener expectativas realistas y estar perfectamente preparado para afrontar la tarea. A continuación presentamos 10 consejos clave de expertos en modernización de la nube para tener éxito en este tipo de proyectos.
- 1. Modernizar con un propósito
- 2. Evalúe sus recursos y forme asociaciones si es necesario
- 3. Analizar en profundidad la arquitectura de la aplicación.
- 4. Rehospedar, refactorizar, reestructurar, redesarrollar, reemplazar: adapte su enfoque
- 5. Modernizar los procesos relacionados
- 6. Planifique a largo plazo
- 7. Piensa de manera integral
- 8. Crear un modelo de evaluación de madurez.
- 9. Piensa en los componentes
- 10. Centrarse en contenedores y microservicios
1. Modernizar con un propósito
Antes de comenzar, es fundamental vincular cualquier proyecto de modernización de aplicaciones con las necesidades del negocio, afirma Aparna Sharma, socio de servicios de nube híbrida de IBM Consulting. “Ya sea ahorrar dinero, mejorar la seguridad, aumentar la funcionalidad o cualquier otra cosa, sus esfuerzos sólo tendrán éxito si sabe de antemano qué espera de ellos. »
Aparna Sharma añade que a menudo se enfrenta a iniciativas de modernización motivadas únicamente por el deseo de aprovechar las últimas innovaciones. Esta actitud puede provocar complicaciones en el futuro, advierte. "Con un resultado esperado claro y una comprensión de su 'por qué', puede tomar una serie de decisiones que satisfagan las necesidades de su negocio", afirma.
2. Evalúe sus recursos y forme asociaciones si es necesario
Para modernizar con éxito las aplicaciones heredadas primero se requiere un trabajo inicial para identificar las aplicaciones y los recursos que se transferirán a la nube, identificar las dependencias y medir el impacto en las licencias. Obviamente sin olvidar especificar, para cada aplicación, los casos de uso y las ventajas de la migración para la empresa.
"Es necesario involucrar a las partes interesadas de toda la organización, no solo de TI, y tener experiencia tanto en la aplicación existente como en el entorno de nube al que se está migrando", describe Steve Woodgate, consultor de estrategia del proveedor de servicios gestionados de nube Navisite. "Esto le permitirá definir, desarrollar y ejecutar la ruta óptima de migración y modernización para su negocio".
Steve Woodgate observa que las empresas que trasladan sus aplicaciones a la nube a menudo enfrentan una escasez de habilidades, al carecer de la experiencia interna necesaria para permitir una transición sin problemas. Dice que, dada la complejidad de la modernización de aplicaciones, es mejor buscar socios externos para ayudar a guiar el proceso de migración y garantizar que el impacto en el negocio siga siendo mínimo durante la fase de transición.
3. Analizar en profundidad la arquitectura de la aplicación.
Evaluar cuidadosamente la aplicación que se va a modernizar para comprender su arquitectura, dependencias y requisitos es un requisito previo esencial para cualquier operación de migración. "Identifique qué componentes se pueden migrar a la nube y evalúe los cambios necesarios", recomienda Nandor Csonka, jefe de servicios de seguridad en la nube de la firma de seguridad de TI NCC Group.
A continuación, determine la estrategia de migración más adecuada, ya sea levantar y cambiar, cambiar la plataforma, refactorizar o incluso volver a desarrollar la aplicación desde cero. “Elija la estrategia que mejor se adapte a sus objetivos, cronograma y recursos”, resume Nandor Csonka.
4. Rehospedar, refactorizar, reestructurar, redesarrollar, reemplazar: adapte su enfoque
Hay muchas técnicas y opciones disponibles para la modernización de aplicaciones, incluido el realojamiento, la refactorización, la transformación de la arquitectura, la reconstrucción y el reemplazo, observa Will Perry, jefe de innovación e ingeniería de la nube en Estados Unidos para la consultora PwC. Elegir el enfoque correcto requiere considerar cuidadosamente todas las opciones disponibles antes de tomar una decisión final.
Según Will Perry, la modernización exitosa de las aplicaciones debería aumentar la agilidad y escalabilidad de los negocios y la TI. “Los enfoques de cambio de plataformas y refactorización aprovechan los servicios en la nube y los modelos de soluciones que ofrecen estos entornos, convirtiéndolos a menudo en los más eficientes. »
5. Modernizar los procesos relacionados
Amod Bavare, director de Deloitte Consulting, aconseja también modernizar los procesos de negocio subyacentes, incluida la experiencia del usuario. "Tener en cuenta estas necesidades ayuda a modernizar la empresa, al mismo tiempo que moderniza la arquitectura de aplicaciones y la pila de tecnología y aprovecha los servicios nativos de la nube como AI/ML, movilidad y microservicios", explica.
Amod Bavare considera que este enfoque es muy eficaz. “Puede ayudar a los usuarios a alcanzar sus objetivos, así como hacerlos más productivos y competitivos en sus mercados. »
6. Planifique a largo plazo
Ashish Varerkar, jefe de práctica de nube en la consultora de tecnología LTIMindtree, cree que un enfoque modular continuo es el mejor enfoque para la modernización. Observa que la mayoría de los proyectos iniciales de migración de aplicaciones llevan a las organizaciones a un viaje de modernización continua, permitiéndoles alinearse gradualmente con los objetivos empresariales y tecnológicos clave. Por otro lado, crear un catálogo único de servicios estandarizado y obligar a las aplicaciones a alinearse con él al mismo tiempo no es efectivo, advierte Ashish Varerkar.
Y también desaconseja reconstruir una aplicación desde cero. Este enfoque rara vez cumple los objetivos fijados y puede abandonarse fácilmente debido a recortes presupuestarios, gastos considerados excesivos en un momento dado o pérdida de interés en el proyecto, señala. “El mejor enfoque es uno de modernización continua, donde la primera iteración podría incluir la reducción de riesgos y la integración de nuevas capacidades para objetivos y KPI claramente definidos. »
7. Piensa de manera integral
Dadas las diferentes opciones sobre la mesa, es importante adoptar un enfoque holístico para abordar no solo la modernización de las aplicaciones actuales, sino también considerar la alineación con los desafíos futuros, sugiere Mukund Srinivasan, director de aplicaciones y personalización en la nube en Capgemini Américas.
"Los CIO deben confiar en socios con un profundo conocimiento de la transformación de la nube, particularmente a través de plataformas en la nube que integran DevSecOps, aceleradores nativos de la nube, infraestructura como código y otras técnicas y herramientas", dice Mukund Srinivasan. “Esto permite una entrega rápida de aplicaciones y un enfoque de modernización múltiple. »
Un enfoque holístico, añade el responsable de Capgemini, también permite a los CIO explotar "una combinación de aceleradores y modelos probados a lo largo de todo el ciclo de vida del software para acelerar la transformación, el despliegue y la aprobación de las aplicaciones".
8. Crear un modelo de evaluación de madurez.
Rajat Kohli, socio de la consultora de gestión Zinnov, destaca la importancia de contar con un modelo de evaluación de la madurez en tres pasos. La primera etapa (descubrimiento y evaluación) proporcionará una mejor comprensión de los desafíos y requisitos actuales en términos de resultados esperados, además de proporcionar una evaluación de la arquitectura y la tecnología actual, dice Rajat Kohli. El segundo paso, crear una hoja de ruta, implica desarrollar un plan maestro que defina el camino a seguir para alcanzar los objetivos marcados. El paso final, la asignación de roles, implica asignar responsabilidades a diferentes partes interesadas para llevar a cabo tareas esenciales. Para Rajat Kohli, estos recursos que se movilizarán incluyen equipos internos y externos, proveedores de tecnología y habilidades especializadas en pruebas de aplicaciones.
Además, cree que la creación de este modelo de evaluación mejorará el retorno de la inversión, acelerará el desarrollo y permitirá a las empresas integrar nuevas capacidades en sus aplicaciones modernizadas. "Esto hace que sea más fácil modernizar múltiples aplicaciones simultáneamente y conectarse sin problemas con las aplicaciones existentes", explica. Y este marco también elimina las barreras que limitan la productividad y obstaculizan la integración. Ayuda a crear nuevas experiencias para los usuarios y mejorar el rendimiento. »
9. Piensa en los componentes
Cuando se enfrenta a una aplicación heredada compleja que necesita modernizarse, es necesario adoptar un enfoque sistemático, según Vasyl Magometa, cofundador y director de tecnología de la empresa de desarrollo de software Reenbit. "Empiece por analizar la arquitectura de su aplicación e identifique áreas de mejora", sugiere. A continuación, divida su aplicación en componentes más pequeños e independientes que puedan implementarse y escalarse individualmente. »
A continuación, Vasyl Magometa recomienda aprovechar los servicios y tecnologías nativos de la nube, como contenedores y sin servidor, para optimizar el rendimiento y la escalabilidad de las aplicaciones. “Por último, garantice una transición fluida migrando gradualmente su aplicación a la nube y probándola exhaustivamente. »
10. Centrarse en contenedores y microservicios
La modernización de aplicaciones sigue siendo un desafío, especialmente para los gerentes y equipos de TI que enfrentan esta tarea por primera vez. Sergey Gladun, fundador y director ejecutivo de la empresa de ingeniería de software Agilie.com, recuerda la primera gran aplicación que tuvo que modernizar. Un proyecto difícil que implicó una importante revisión de la arquitectura existente. "Elegimos dividir la aplicación monolítica en microservicios más pequeños y manejables", afirma.
El proceso llevó tiempo, pero hizo que la aplicación fuera más escalable y preparada para la nube, afirma Sergey Gladun. "Los microservicios nos permitieron desarrollar, probar, implementar y evolucionar componentes de forma independiente, lo que hizo que el proceso de desarrollo general fuera más eficiente", explica. Además, la contenedorización, a través de herramientas como Docker y Kubernetes, ha mejorado aún más la escalabilidad y la portabilidad, haciendo que la aplicación sea independiente de la plataforma subyacente. "Nuestro proceso de modernización no solo mejoró el rendimiento de las aplicaciones, sino que también simplificó el mantenimiento y las actualizaciones".
Otras noticias que te pueden interesar