No todas las aplicaciones empresariales se benefician de la ejecución en una infraestructura basada en cloud. Sin embargo, en los casos en que sí lo hacen, contar con una estrategia eficaz de migración a la red pública cloud es crucial. En este sentido, es esencial determinar cuál de las estrategias de migración disponibles ofrece "el camino de menor resistencia."
En Soluciones Iguana somos conscientes de que el proceso de migración a la web pública cloud es todo un reto, es por ello que hemos preparado este artículo con el fin de ofrecerte una visión de los pros y contras de las estrategias de migración más comunes.
1. Levantar y desplazar
Esta primera estrategia es una de las más populares, ya que no requiere tantos recursos como las demás y permite migrar las aplicaciones en un plazo razonable.
La estrategia Lift and Shift (también conocida como rehosting ), consiste simplemente en desplegar exactamente el mismo software en una plataforma/proveedorcloud diferente.
Esta estrategia en sí misma no aporta muchas ventajas, ya que las nubes públicas no están pensadas para ser consumidas del mismo modo que las plataformas tradicionales "on-premise", pero suele ser el método de migración más rápido y sencillo.
El realojamiento de su software en una cloud pública suele ser el primer paso hacia una transformación y adaptación incrementales de su código y del uso de la infraestructura para mejorar la eficiencia de su plataforma cloud .
Principales conclusiones
- La estrategia de Lift and Shit no requiere ningún cambio en tu código..
- Aunque esta estrategia es bastante sencilla y directa de ejecutar, a menudo puede resultar costosa o totalmente ineficaz a largo plazo si el software no se modifica para aprovechar las funciones y capacidades de la web pública cloud .
- Es una estrategia interesante si confías en tu capacidad para adaptar progresivamente tu software a la plataforma cloud que elijas para mejorar su eficacia.
2. Mover y mejorar
La segunda estrategia que vamos a analizar se conoce como Mover y Mejorar. Consiste en "mover" la aplicación original a una máquina virtual desde donde se puede utilizar la aplicación mientras se va "mejorando" gradualmente. Esta estrategia proporciona una gran cantidad de ventajas. En primer lugar, anula casi todos los riesgos asociados a la migración de la aplicación a cloud porque en realidad no es necesario modificar la aplicación, o al menos no inmediatamente. En segundo lugar, ofrece a los desarrolladores la posibilidad de planificar cambios incrementales de forma flexible y cómoda. Por último, mejorar el software una vez implantado en la plataforma pública cloud reduce los riesgos de tiempos de inactividad, ya que el entorno virtual ofrece toda la flexibilidad necesaria para pasar sin problemas de un diseño a otro...
En Iguana Solutions pensamos que ésta es la estrategia más flexible cuando se trabaja con aplicaciones o procesos complejos, ya que es menos arriesgada y proporciona control sobre los cambios incrementales realizados en la aplicación..
Principales conclusiones
- La estrategia Move and Improve implica trasladar la aplicación heredada (a menudo monolítica) a un entorno cloud "tal cual", o casi, ya que se podrían aprovechar, por ejemplo, algunas funciones públicas básicas de cloud , como las bases de datos gestionadas, sin cambiar el código.
- A partir de esa migración inicial, podría mejorar su aplicación mediante pequeños cambios incrementales para utilizar características más avanzadas de la web pública cloud, como balanceadores de carga gestionados, bases de datos gestionadas, autoescalado, etc.
- Dado que la aplicación se ejecutará en la web pública cloud, dispondrá de toda la flexibilidad necesaria para mejorarla sin tiempo de inactividad.
- Esta estrategia permite a los desarrolladores planificar una transición suave en pequeños incrementos que, al final, consumen muchos menos recursos que una refactorización completa.
3. Rasgar y sustituir
La última estrategia que vamos a analizar sigue una lógica directa. Si lo que la empresa requiere es migrar su software al público cloud, ¿por qué no reescribirlo completamente y hacerlo "cloud-native"? La respuesta más sencilla a este planteamiento es que es extremadamente complejo. Migrar el software heredado a cloud implica reescribir el código fuente utilizando lenguajes y marcos modernos y realizar cambios profundos en la metodología y la infraestructura de desarrollo. Entre estos cambios, tenemos la aplicación de los principios DevOps, asegurando que la nueva aplicación se divide en múltiples microservicios, permitiendo potencialmente que funcione sin problemas en contenedores, etc.
Olvidémonos por un momento de los aspectos metodológicos y de infraestructura, y centrémonos en el software. Para aplicar la estrategia Rip and Replace (también conocida como refactorización), es necesario tener un conocimiento completo del código fuente, lo que por sí solo puede resultar difícil, sobre todo en el caso de aplicaciones antiguas. Además, incluso con el código fuente completo a mano y un gran conocimiento del mismo, reescribirlo completamente en un nuevo lenguaje y asegurarse de que no hay dependencias obsoletas puede ser todo un reto. Con esto, lo que queremos indicar es que el método Rip and Replace es arduo, incluso en casos en los que el software no es complejo. Todo esto significa que se necesita mucho personal, tiempo y dinero para completar la migración a cloud, lo que podría paralizar el crecimiento de la empresa durante un largo periodo.
Principales conclusiones
- Implica reescribir/refactorizar la aplicación local siguiendo un enfoque "cloud-native".
- Esto induce a utilizar lenguajes y marcos de trabajo modernos, dividiendo su aplicación monolítica en una variedad de microservicios débilmente acoplados.
- Es necesario conocer a fondo la plataforma pública cloud de su elección para poder aprovechar los servicios gestionados disponibles cuando sea pertinente.
- Es un proceso difícil que requiere recursos considerables, tanto en tiempo como en dinero.
- Debido a su complejidad, es difícil establecer hitos realistas.
Reflexiones finales
Migrar aplicaciones a cloud puede ser una tarea desalentadora. No sólo consume tiempo y dinero, sino que también requiere un cambio de paradigmas en distintos niveles de la organización, como la seguridad de cloud , la copia de seguridad de los datos y otros. Esto hace que sea extremadamente importante evaluar cuidadosamente cada una de las estrategias de migración hasta encontrar la que se adapte tanto al presupuesto de la organización como a la complejidad de la aplicación.
Desde nuestro punto de vista, a menudo es mejor primero "Mover y Mejorar" su aplicación, y luego planificar una refactorización completa si es necesario para lograr la máxima eficiencia.
En Soluciones Iguana contamos con la experiencia necesaria para guiarle a lo largo de este proceso, dando soporte en cada una de las etapas de la migración para garantizar que sus aplicaciones funcionen como se espera. Podemos ayudarle, contáctenos¡!