Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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. Se debe diseñar adecuadamente
el entorno del servidor de destino antes de comenzar la migración de aplicaciones.
El plan debe considerar el tipo de aplicación que se está migrando y los 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 se pueda estar buscando para poner en marcha, el nivel de servicio que se
requiere en el nuevo host, cualquier estándar de cumplimiento que la organización necesita
incluir, y por supuesto, obviamente tener en cuenta las razones por las que se está migrando la
aplicación.
Si se salta este paso se podría terminar teniendo que repetir la migración de aplicaciones
por completo, o lo que es peor, se podría terminar yendo a un entorno de migración que no puede
soportar adecuadamente las aplicaciones que se quiere 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.
El primer paso es preparar los datos para transferirlos al entorno del servidor de destino.
Si se tiene acceso root o administrativo al entorno de servidor fuente y suficiente espacio en disco
en el 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 se tendrá que empezar.
Se debe tener en cuenta que cuando se haga copia 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 se cree que se va 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 se tiene acceso administrativo root es probable que se tenga 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.
Una vez los ficheros y la base de datos ya están copiados en el nuevo servidor, se restaura
los ficheros en las carpetas apropiadas y se 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 se necesitará 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, se debe actualizar las 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, se 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.
Realizar tantas pruebas como sea necesario
Se accede a la aplicación migrada y se prueba como si fuera un día normal, tanto desde el
punto de vista de usuario como de administrador. Se prueba todas las funciones y características
de la aplicación migrada para garantizar la funcionalidad. Si hay errores, se guarda 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.