El valor de la gestión de datos

Algunas mejores prácticas en migración de aplicaciones

Posted on Tue, Nov 29, 2016

Llamamos migración de aplicaciones al proceso de mover uno o varios programas o aplicaciones de un entorno a otro. Algunos ejemplos pueden ser la migración desde un servidor de empresa en las instalaciones a un entorno en la nube, o de un entorno de nube a otro entorno de nube. Estas migraciones se producen por muchas razones diferentes, tales como cierres de centros de datos, problemas con la seguridad del servidor, recuperación de desastres, actualizaciones del hardware o del  operativo del servidor, etc.

migración de aplicaciones.jpg

Aunque una migración de aplicaciones y/o sitios web es algo que alguna vez vamos a tener que hacer casi con total seguridad, raramente está bien planificada. Y una migración deficiente a causa de una planificación ineficaz, puede provocar retrasos significativos así como exceso de costes o, peor aún, pérdida de datos y/o pérdida de ingresos.

Cada aplicación y cada servidor de migración es único. Preparar un plan para ejecutar una migración de aplicaciones exitosa debe basarse en el tipo de aplicaciones que requieran migración, el tipo de fuente y destino físico o virtual entre los que estás migrando, y el volumen de datos, específicamente el volumen de datos dinámicos que requiere la migración.

Veamos algunas de las mejores prácticas.

 

Diseño de la arquitectura del servidor de destino

Puede variar desde un simple hosting compartido, a un entorno complejo que incluya balanceo de carga, firewalls, servidores físicos y en la nube, etc. Debes diseñar adecuadamente el entorno del servidor de destino antes de comenzar la migración de aplicaciones.

Tu plan debe considerar el tipo de aplicación que estás migrando y tus requerimientos únicos de negocio. Más específicamente, los requerimientos para la arquitectura del servidor de destino están basados principalmente en requerimientos de ampliabilidad o elasticidad, cualquier redundancia que puedas estar buscando para poner en marcha, el nivel de servicio que requieres en el nuevo host, cualquier estándar de cumplimiento que tu organización necesita incluir, y por supuesto, obviamente querrás tener en cuenta las razones por las que están migrando la aplicación.

Si te saltas este paso podrías terminar teniendo que repetir la migración de aplicaciones por completo, o lo que es peor, podrías terminar yendo a un entorno de migración que no puede soportar adecuadamente las aplicaciones que quieres migrar, y esto va a implicar una pérdida de tiempo de actividad y una vuelta atrás al entorno viejo de producción, lo cual a menudo resulta en pérdida de datos.

 

Realiza una migración de aplicaciones inicial

Idealmente, cuando el proceso de migración de aplicaciones comienza, se suspende durante todo el proceso de migración, toda la actividad relacionada con el desarrollo de esas aplicaciones. Si esto no fuera una opción, entonces necesitarías que tu equipo de desarrollo documente cualquier archivo específico que tenga que ser modificado durante el curso del proyecto de migración de aplicaciones.

El primer paso es preparar tus datos para transferirlos al entorno del servidor de destino. Si tienes acceso root o administrativo a tu entorno de servidor fuente y suficiente espacio en disco en tu servidor para preparar un backup comprimido de todos los ficheros, carpetas y bases de datos que están involucrados en la migración, esto será por donde tendrás que empezar.

Ten en cuenta que cuando hagas copias de seguridad de las bases de datos más grandes puedes encontrar problemas de bloqueo en tablas, dependiendo de los recursos disponibles en el entorno del servidor. Si crees que vas a encontrar estos problemas, lo mejor puede ser utilizar el último backup disponible de la base datos para un proceso de migración inicial. Si no tienes acceso administrativo root es probable que tengas que configurar una conexión básica de FTP entre el entorno de servidor origen y de destino para transferir los datos uno a uno.

Las mejores prácticas de migración de aplicaciones requieren que intentes configurar la aplicación en el servidor de destino de forma similar a como existe en el entorno inicial. Prueba a utilizar las mismas rutas de carpetas y también los mismos nombres de bases de datos y usuarios. Esto no siempre es posible, dependiendo del sistema operativo del nuevo entorno y de otros servicios activos, sin embargo, cuanto más parecido puedas ajustar la configuración de ambos servidores, más fácil será el camino de la configuración en el nuevo entorno.

Una vez los ficheros y la base de datos ya están copiados en el nuevo servidor, restaura los ficheros en las carpetas apropiadas y restaura la base de datos en el respectivo servidor de bases de datos. El siguiente paso será reconfigurar la aplicación para que funcione en el nuevo entorno. Para este paso necesitarás identificar todos los ficheros relacionados con la configuración de la aplicación. Si las rutas de acceso a los archivos o las credenciales para hacer login han cambiado, necesitarás actualizar la rutas y cadenas de conexión para la aplicación en el servidor de destino.

Estos pasos iniciales son generalmente la parte más fácil del proceso. Dependiendo del tipo, versión compilación y complejidad de la aplicación, puede requerir configuraciones específicas del servidor y dependencias de librerías y servicios, las cuales deben ser configuradas de acuerdo a los requerimientos de la aplicación.

 

Haz tantas pruebas como sea necesario

El paso más crítico de cualquier proceso de migración de aplicaciones es la realización de pruebas exhaustivas antes de comenzar a funcionar.

Una vez que hayas configurado el entorno del servidor de destino, asignando una IP a la aplicación, restaurada las bases de datos y reconfiguradas las aplicaciones, es hora de realizar pruebas.

Accede a la aplicación migrada y pruébala como lo harías en un día normal, tanto desde el punto de vista de usuario como de administrador. Prueba todas las funciones y características de la aplicación migrada para garantizar la funcionalidad. Si hay errores, guardalos en una lista para solucionar los problemas.

Esta puede ser la fase más difícil del proyecto, dependiendo de la complejidad de la aplicación migrada y de las diferencias de versiones entre el entorno de origen y destino.

A menudo esta fase de prueba implica intervenciones varias de programación para resolver incompatibilidades de código que puedan deberse a cambios de versión o configuración entre el entorno del servidor origen y destino. Por lo tanto, si estás realizando la migración de aplicaciones sin la ayuda de una empresa externa, deberás tener a tu equipo de programación preparado para tomar las medidas necesarias.

 

Guía introductoria a la migración de datos

Topics: Data Migration