La migración de aplicaciones es el proceso de trasladar una aplicación de software de un entorno informático a otro. Por ejemplo, puede migrar una aplicación de un centro de datos a otro, de un servidor local al entorno de un proveedor de servicios en la nube o de la nube pública a un entorno de nube privada.
Dado que las aplicaciones suelen estar diseñadas para ejecutarse en sistemas operativos particulares en arquitecturas de red específicas o se desarrollan para una única plataforma en la nube, trasladar una aplicación a un nuevo entorno puede plantear varios desafíos. Por lo general, es más fácil migrar aplicaciones de arquitecturas virtualizadas o basadas en servicios que migrar las que se ejecutan en hardware de bare metal.
Determinar una estrategia global de migración de aplicaciones implica tener en cuenta las dependencias y los requisitos técnicos de cada aplicación individual, así como las restricciones de seguridad, cumplimiento y costes de su empresa.
Las distintas aplicaciones pueden tomar caminos diferentes hacia la nube, incluso dentro del mismo entorno tecnológico. Desde los primeros días de la cloud computing, los desarrolladores se han referido a estos patrones de migración de aplicaciones con nombres que comienzan por "R".
Realojamiento: también conocido como lift-and-shift, el realojamiento es una estrategia común en la que la empresa traslada la aplicación de un servidor local a una máquina virtual en la nube sin realizar cambios significativos. Realojar las aplicaciones suele ser más rápido que otras estrategias de migración y puede reducir significativamente los costes de migración. La desventaja es que, sin modificaciones, las aplicaciones no se beneficiarán de las capacidades nativas de la nube, y los costes a largo plazo de ejecutarlas en la nube pueden ser mayores.
Refactorización o rearquitectura: la refactorización se refiere a realizar cambios bastante significativos en la aplicación para que pueda escalar o funcionar mejor en un entorno de nube. Puede implicar la recodificación de partes importantes de la aplicación para que pueda aprovechar mejor las funcionalidades nativas de la nube, como la reestructuración de una aplicación monolítica en un conjunto de microservicios o la modernización del almacén de datos de SQL a NoSQL.
Cambio de plataforma: una especie de término medio entre lift-and-shift y rearquitectura, el cambio de plataforma implica hacer pequeños cambios en ella para que pueda obtener mejor beneficio de la arquitectura de la nube. Algunos ejemplos podrían ser la actualización de la aplicación para que funcione con una base de datos gestionada nativa de la nube, el cambio de los sistemas operativos o del middleware con el que funciona, o la contenedorización de la aplicación.
Retirada/sustitución: a veces, simplemente lo más sensato es retirar la aplicación. Esto puede deberse a que su valor es limitado, a que sus capacidades están duplicadas en otras partes de su entorno o a que es más rentable sustituirla por una nueva oferta, a menudo una plataforma de software como servicio (SaaS), que es migrar la aplicación.
Para desarrollar la estrategia de migración de aplicaciones que mejor se adapte al entorno informático y a las necesidades empresariales específicas de su empresa, tendrá que conocer exactamente su cartera de aplicaciones, los requisitos específicos de seguridad y conformidad, los recursos en la nube que consume actualmente y cómo son sus infraestructuras locales de almacenamiento, computación y red.
Para que una migración a la nube sea exitosa, también deberá tener claro los controladores clave que la motivan y alinear su estrategia con estos controladores. Querrá ser consciente de por qué está migrando a la nube y qué espera lograr con la transición.
Las partes interesadas pueden temer que las migraciones de aplicaciones provoquen interrupciones en el negocio o generen costes imprevistos. Los riesgos más comunes incluyen los siguientes:
Llevar a cabo una evaluación cuidadosa y detallada de los riesgos y beneficios asociados con el realojamiento, la rearquitectura/cambio de plataforma o la retirada de cada aplicación de su cartera puede ayudar a mitigar los riesgos generales asociados con la migración de aplicaciones. En concreto, es importante comparar los costes a nivel de departamento con el coste total para la empresa y evaluar el coste total de propiedad (TCO) de cualquier hardware que necesite mantener para mantener las aplicaciones en entornos locales.
En años anteriores, las empresas a menudo buscaban mover aplicaciones a la nube porque querían la flexibilidad, la escalabilidad o la estructura de costes predecible de pago por uso que ofrecen los proveedores de servicios en la nube.
Sin embargo, hoy en día las empresas también buscan entornos que permitan la innovación. Las tecnologías en la nube hacen posible las siguientes opciones:
En muchos casos, las tecnologías favorables a la nube, como la contenerización, permiten ofrecer a los usuarios experiencias mejores que las de las máquinas virtuales que podrían sustituir.
En términos generales, el proceso de planificación de la migración de aplicaciones se puede dividir en tres etapas. En cada caso, es crítico sopesar los costes de todas las opciones posibles, incluida la opción de conservar algunas cargas de trabajo locales.
Identificación y evaluación de aplicaciones: en esta fase inicial de descubrimiento, empiece por asegurarse de que dispone de un catálogo completo de todas las aplicaciones de su cartera. A continuación, categorice las aplicaciones según si tienen una importancia crítica para la empresa o no, de si su valor es estratégico o no, y de lo que le aporta migrar cada una de ellas a la nube. Debe esforzarse por comprender el valor de cada aplicación en función de estas características:
A continuación, deberá realizar una evaluación de afinidad con la nube para cada aplicación que esté pensando en migrar. Durante este proceso, determine qué aplicaciones están listas para funcionar tal cual y cuáles necesitarían cambios significativos antes de que pudieran estar preparadas para la nube.
También puede emplear herramientas de descubrimiento de dependencias de aplicaciones para determinar la viabilidad de migrar una carga de trabajo concreta fuera de su entorno actual.
Evaluación del coste total de propiedad (TCO): determinar el coste total de un proyecto de migración a la nube puede ser una tarea compleja. Compare los escenarios hipotéticos para mantener las aplicaciones y la infraestructura en las instalaciones con los asociados con el traslado a la nube. Calcule los costes de compra, operación y mantenimiento del hardware que mantendría en entornos locales en cualquier escenario y los costes de licencia del software.
Compare la factura mensual que recibirá de su proveedor de servicios en la nube en cualquier caso y los costes de la migración en sí, incluidos los costes de probar la nueva infraestructura y formar a los empleados para que utilicen el software actualizado. No olvide tener en cuenta los costes de mantenimiento de las aplicaciones heredadas que permanecen en las instalaciones.
Evaluación general del riesgo y la duración del proyecto: en la fase final de la planificación de la migración, establezca un cronograma para el proyecto e identifique los riesgos o obstáculos que probablemente encuentre.
En términos generales, cuanto más antigua es la aplicación, más difícil (y como resultado, potencialmente menos rentable) es migrar a la nube. El software obsoleto es problemático en muchos sentidos: es caro de mantener, puede plantear problemas de seguridad si ya no se parchea y tiende a funcionar mal en los entornos informáticos modernos. Sea especialmente minucioso con su evaluación de las aplicaciones heredadas antes de decidir migrarlas.
Cuando las organizaciones evalúan la viabilidad y la prioridad de migración de una aplicación, tienen en cuenta las siguientes cuestiones.
Complejidad: ¿Dónde se desarrolló esta aplicación? Si es interno, ¿el desarrollador todavía trabaja en su empresa? ¿Está fácilmente disponible la documentación de la aplicación? ¿Qué antigüedad tiene la aplicación? ¿Cuanto tiempo lleva en uso? ¿Cuántas otras aplicaciones o flujos de trabajo dentro de su organización dependen de esta de alguna manera?
Criticidad: ¿Cuántos usuarios dependen diariamente de esta aplicación? ¿Semanalmente? ¿Cuánto tiempo de inactividad podrían tolerar antes de que se interrumpieran las operaciones empresariales? ¿Se utiliza la aplicación en producción, desarrollo, pruebas o en las tres? ¿Está gestionado por un equipo de TI interno o por un proveedor externo? ¿Hay otras aplicaciones con requisitos de tiempo de actividad/inactividad que deban sincronizarse con los de esta aplicación?
Cumplimiento: ¿Con qué requisitos normativos debe cumplir la aplicación?
Disponibilidad: ¿Qué normas de tiempo de actividad debe cumplir esta aplicación? Por ejemplo, ¿está sujeto a un acuerdo de nivel de servicio (SLA) que estipule un tiempo de actividad del 99,99 %?
Pruebas
Para garantizar que no se pierden datos ni capacidades durante el proceso de migración de aplicaciones, realice pruebas durante la migración para verificar que todos los datos están presentes, que se ha mantenido la integridad de los datos y que éstos se encuentran ahora en la ubicación de almacenamiento correcta.
También es esencial realizar pruebas de seguimiento una vez completada la migración, evaluar comparativamente el rendimiento de las aplicaciones y asegurar que se mantengan los controles de seguridad.
La virtualización es un componente fundamental en muchas estrategias de migración a la nube porque las máquinas virtuales pueden ejecutarse fácilmente en nuevos entornos de hardware físico. Incluso es posible trasladar una aplicación en tiempo real, ejecutada en una máquina virtual, entre máquinas anfitrionas físicas sin interrumpir la experiencia del usuario. La flexibilidad y versatilidad de los entornos informáticos virtualizados simplifica drásticamente el proceso de migración de aplicaciones.
Varias soluciones de replicación y migración disponibles actualmente permiten a sus clientes migrar máquinas virtuales entre servidores bare metal, servidores virtuales en la nube e incluso hipervisores.
Hay muchos servicios disponibles para ayudar a su empresa a elaborar estrategias, planificar y ejecutar con éxito una migración a la nube.
Plan de migración: en una oferta de servicio de plan integral, su proveedor le ayuda a clarificar su estrategia y objetivos de migración, al recopilar información sobre sus aplicaciones y su entorno, identificar las necesidades de sus usuarios y sus requisitos empresariales y elaborar un plan de acción detallado para su migración.
Implementación de la migración: si elige una opción de implementación gestionada, su proveedor no sólo le ayudará en la estrategia y planificación de su migración, sino que también gestionará la migración en sí y cualquier prueba y resolución de problemas asociados. Generalmente, se trata de una oferta de servicios llave en mano que incluye soporte integral de principio a fin.
Servicios gestionados en la nube: una oferta de servicio en la nube suele incluir la monitorización y el mantenimiento de su entorno de TI basado en la nube. Su proveedor de servicios gestionados en la nube asume la responsabilidad de múltiples funciones, que van desde la gestión de la seguridad en la nube hasta la adquisición de ofertas como servicio de proveedores en su nombre. La migración de aplicaciones puede incluirse dentro de una oferta de servicios empaquetados o agregarse a la carta.
Modernización de aplicaciones: los servicios de modernización de aplicaciones incluyen ofertas de desarrollo personalizadas que pueden preparar aplicaciones heredadas para su uso en la nube modificándolas para que se ejecuten en contenedores o entornos virtualizados.
Acceda a conocimientos esenciales sobre la migración a la nube con el último informe de IBM. Descubra los 10 datos más importantes que todo líder tecnológico debe conocer.
Conozca las principales diferencias entre infraestructura como servicio (IaaS), plataforma como servicio (PaaS) y software como servicio (SaaS). Explore cómo cada modelo de nube proporciona distintos niveles de control, escalabilidad y gestión para satisfacer las diferentes necesidades empresariales.
Descubra el proceso de migración de aplicaciones entre plataformas o entornos al tiempo que garantiza una interrupción mínima y un rendimiento optimizado. Conozca las estrategias, los casos de uso y las fases de la migración de aplicaciones heredadas y modernas.
Aprenda a realizar la transición de sus aplicaciones a la nube con rapidez al emplear una estrategia "lift and shift", conservando la infraestructura existente y obteniendo al mismo tiempo los beneficios de la nube. Explore las ventajas, las cargas de trabajo de VMware y los casos de uso que hacen de este enfoque la opción preferida para muchas empresas.
Migre las cargas de trabajo de VMware vSphere a IBM Cloud con RackWare Management Module (RMM), una herramienta de migración de autoservicio que ofrece migración automatizada.
Planifique y acelere de manera eficiente sus proyectos de migración a la nube con IBM Turbonomic. Obtenga conocimientos que se pueden ejecutar sobre las cargas de trabajo de las aplicaciones, optimice el rendimiento y ahorre costes a la vez que garantiza transiciones a la nube de manera fluida.
Automatice el aprovisionamiento y la orquestación de redes en la nube para simplificar la migración, mejorar la agilidad y garantizar operaciones sin interrupciones.
IBM Instana Observability automatiza el descubrimiento de aplicaciones, la supervisión, el seguimiento y el análisis de la causa raíz para entornos de microservicios.
IBM Turbonomic es un software de gestión de recursos de aplicaciones que utiliza IA para optimizar el rendimiento, el coste y la conformidad de los entornos multinube. Está disponible como SaaS o para autoalojamiento.