Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Introducción
Onesait Platform ofrece una variedad de elementos y funcionalidades adicionales para facilitar la migración y restauración de elementos en el contexto del versionado Git. Al seguir esta guía, los equipos de desarrollo y operaciones podrán abordar la migración de manera sistemática y eficiente, minimizando el riesgo de errores y asegurando una transición exitosa hacia nuevos entornos. Permitiendo:
...
Una vez identificado los elementos que queremos migrar, vemos las diversas etapas en la migración.
Punto de partida
Antes de comenzar la migración, dispondremos de nuestro repositorio GIT y ambos entornos, el entorno origen y entorno de destino, el cual estará desplegado en una versión inicial facilitada por el config.init de plataforma.
...
Una vez dispongamos de ambos entornos y nuestro repositorio GIT, podremos comenzar a realizar la migración de todos los recursos entre ambos.
Migración de conceptos de plataforma
Para la realización de migración de conceptos entre entornos (entendiendo por conceptos todas aquellas definiciones generadas desde el controlpanel como: realms, usuarios, flujos, entidades, dashboard etc) se ha de realizar con el rol de administrador. El cual será el encargado de la gestión del entorno.
...
Una vez, completada esta configuración podremos gestionar el versionado en la plataforma, facilitándonos las migraciones e incrementales entre entornos, o la restauración en un punto pasado.
Versionado Completo
Onesait Platform puede gestionar versiones completas de proyectos, lo que permite a los equipos trabajar en diferentes versiones de un proyecto simultáneamente y realizar cambios de manera controlada. Esta funcionalidad permite generar una fotografía instantánea del entorno, incluyendo todos los elementos y configuraciones relevantes. Esto proporciona una forma rápida y completa de hacer una copia de seguridad o restaurar toda la plataforma en un estado anterior.
...
En ese instante, se creará un commit en nuestro proyecto git (definido anteriormente) y podremos a posteriori exportarlo a otro entorno mediante el tag definido.
Versionado Selectivo.
Del mismo modo, desde la plataforma se podrá gestionar un control de versionado de cada concepto generado, permitiendo realizar incrementales y exportar conceptos específicos entre entornos. Para ello, accedemos al mismo punto que anteriormente, version control>create snaptshot & Git tags. Donde podremos deseleccionar todos los conceptos y seleccionar solo aquellos que nos interese incluir en el versionado.
...
En este caso y del mismo modo que cuando realizamos un snapshot, definimos un tag para nuestro versionado. ej_proyecto.desarrollo.selectivo.v1.0.0
Restauración Versionados
En este punto, disponemos de dos posibilidades. Desde el controlpanel y accediendo de nuevo al apartado de VERSION CONTROL>Restore Platform
...
En el portal del desarrollador podrás encontrar más información para trabajar con versionado en plataforma.
Migración de la información. (BBDD)
En este punto, abordaremos las mejores prácticas y consideraciones clave para llevar a cabo una migración de bases de datos exitosa dependiendo del tipo de la misma.
...
Desde la evaluación de requisitos y riesgos hasta la selección de herramientas adecuadas y la ejecución de pruebas exhaustivas, cada paso del proceso se abordará de manera detallada para proporcionar una guía completa y efectiva para los equipos de desarrollo y administración de bases de datos.
Migración de la base de datos MongoDB:
Migración completa
Respaldar la base de datos en el servidor de origen:
...
Code Block | ||
---|---|---|
| ||
mongorestore --db {{ db_name }} --username {{ realtimedb_user }} --password {{ realtimedb_password }} --authenticationDatabase {{ realtimedb_authdb }} /tmp/realtimedb-dump/{{ db_name }} |
Migración selectiva.
Enfocada para la migración de tablas específicas y/o un conjunto específico de datos.
...
Code Block | ||
---|---|---|
| ||
mongorestore --db {{ db_name }} --username {{ realtimedb_user }} --password {{ realtimedb_password }} --authenticationDatabase {{ realtimedb_authdb }} <directorio_destino>/{{ db_name }} |
Migración de la base de datos MariaDB:
Migración completa
Respaldar la base de datos en el servidor de origen:
Utiliza el comando mysqldump para realizar una copia de seguridad completa de la base de datos.
...
Code Block | ||
---|---|---|
| ||
mysql -u usuario -p --host=servidor_destino < respaldo_completo.sql |
Migración selectiva.
Seleccionar las tablas a migrar:
Identifica las tablas necesarias para migrar (REVISIÓN TAG VERSIONADO GIT)
Respaldar solo las tablas seleccionadas:
Utiliza el comando mysqldump con la opción --tables para respaldar solo las tablas seleccionadas.
...
Code Block | ||
---|---|---|
| ||
mysql -u usuario -p --host=servidor_destino nombre_base_datos < respaldo_selectivo.sql |
Migración de la base de datos PostgreSQL:
Migración completa
Respaldo de la base de datos en el servidor de origen:
Utiliza el comando pg_dump para realizar una copia de seguridad completa de la base de datos.
...
Code Block |
---|
psql -U usuario -h servidor_destino -d nombre_base_datos < respaldo.sql |
Migración selectiva
Si deseas realizar una migración selectiva de solo algunas tablas específicas en lugar de migrar toda la base de datos, deberemos de seguir estos pasos:
...
Code Block |
---|
psql -U usuario -p passwrod -h servidor_destino -d nombre_base_datos < respaldo_selectivo.sql |
Migración de la base de datos MinIO:
Migración completa
Elección de la Herramienta de Migración: Si disponemos de visibilidad entre entronos, podremos seleccionar una herramienta de migración que sea adecuada para las necesidades y el tamaño de los datos a migrar. Algunas opciones comunes incluyen:
...
Copia de la Configuración del Servidor:
Antes de clonar el servidor, asegúrate de copiar la configuración de MinIO en el servidor de origen. Esto incluye archivos de configuración como config.json, que contiene información sobre los puntos de acceso, credenciales de acceso, políticas de almacenamiento, etc. Puedes encontrar este archivo en el directorio de configuración de MinIO.
Copia de los Datos:
Haz una copia de seguridad de todos los datos almacenados en el servidor de origen. Esto puede incluir el contenido de todos los buckets y cualquier otro dato almacenado en el servidor de MinIO. Puedes usar herramientas de copia de seguridad integradas en MinIO o simplemente copiar manualmente los archivos y directorios relevantes.
Configuración del Servidor de Destino:
Configura un nuevo servidor de MinIO en el servidor de destino utilizando la misma versión de MinIO que en el servidor de origen. Asegúrate de configurar la misma configuración que en el servidor de origen, incluidos los puntos de acceso, credenciales de acceso, etc. Utiliza el archivo de configuración config.json que copiaste del servidor de origen como referencia.
Restauración de los Datos: Copia los datos de respaldo que creaste del servidor de origen al servidor de destino. Esto puede implicar copiar los archivos directamente a través del sistema de archivos o utilizando herramientas de transferencia de archivos como rsync. Asegúrate de mantener la estructura de directorios y los permisos de los archivos durante la transferencia.
Migración incremental
{similar/completar}
Migración Reports y binary files.
Migración completa
Compresión de los Archivos:
Utiliza una herramienta de compresión como tar para comprimir los archivos y directorios que deseas migrar. Por ejemplo, para comprimir un directorio llamado informes:
...
Verificación de la Descompresión:
Verifica que los archivos se hayan descomprimido correctamente y que estén disponibles y accesibles según lo previsto en el nuevo entorno.
Migración incremental
Identificación de los Cambios:
Antes de cada migración, identifica los archivos que han cambiado o se han añadido desde la última migración. Puedes utilizar herramientas como rsync para comparar los archivos en el sistema de origen y el sistema de destino y determinar qué archivos necesitan ser transferidos.
Copia de Seguridad de los Cambios:
Haz una copia de seguridad de los archivos que han cambiado o se han añadido desde la última migración. Esto asegura que tengas una copia de seguridad de los datos antes de realizar la migración incremental.
Transferencia de los Cambios:
Utiliza herramientas de transferencia de archivos como rsync para transferir solo los archivos que han cambiado desde la última migración. Por ejemplo:
...