Migra a Google Cloud: transfiere los conjuntos de datos grandes

Last reviewed 2023-11-13 UTC

Muchos clientes creen que el primer paso para adoptar un producto de Google Cloud es incorporar sus datos a Google Cloud. En este documento, se explora ese proceso, desde la planificación de una transferencia de datos hasta el uso de prácticas recomendadas para implementar un plan.

La transferencia de conjuntos de datos grandes implica la creación del equipo adecuado, la planificación anticipada y la prueba del plan de transferencia antes de implementarlo en un entorno de producción. Aunque estos pasos pueden llevar tanto tiempo como la transferencia en sí, estos preparativos pueden ayudar a minimizar las interrupciones en las operaciones de tu empresa durante la transferencia.

Este documento es parte de la siguiente serie de varias partes sobre la migración a Google Cloud:

¿Qué es la transferencia de datos?

Para los fines de este documento, la transferencia de datos es el proceso de trasladar datos sin transformarlos, por ejemplo, trasladar los archivos como si fueran objetos.

La transferencia de datos no es tan simple como parece

Resulta tentador pensar que la transferencia de datos es una sesión de FTP gigante, en la que colocas tus archivos en un lado y esperas a que salgan del otro lado. Sin embargo, en la mayoría de los entornos empresariales, el proceso de transferencia involucra muchos factores, como los siguientes:

  • Diseñar un plan de transferencia que tenga en cuenta el tiempo administrativo, incluido el tiempo para decidir sobre una opción de transferencia, obtener aprobaciones y abordar problemas imprevistos
  • Coordinar a las personas de tu organización, como el equipo que ejecuta la transferencia, el personal que aprueba las herramientas y la arquitectura, y las partes interesadas de la empresa que se preocupan por el valor y las interrupciones que pueden generar los datos móviles
  • Elegir la herramienta de transferencia correcta según los recursos, el costo, el tiempo y otras consideraciones del proyecto
  • Superar los desafíos de transferencia de datos, incluidos los problemas de “velocidad de la luz” (ancho de banda insuficiente), migrar conjuntos de datos que están en uso activo, proteger y supervisar los datos mientras están en tránsito, y garantizar que los datos se transfieran correctamente

El objetivo de este documento es ayudarte a comenzar una iniciativa de transferencia exitosa.

La siguiente lista incluye recursos para otros tipos de proyectos de transferencia de datos que no se incluyen en este documento:

Paso 1: reúne a tu equipo

La planificación de una transferencia generalmente requiere personal que cuente con las siguientes funciones y responsabilidades:

  • Habilitación de recursos necesarios para una transferencia: administradores de almacenamiento, TI y redes, un patrocinador ejecutivo y otros asesores (por ejemplo, un Equipo de Cuentas de Google o socios de integración)
  • Aprobación de la decisión de transferencia: propietarios o administradores de datos (para las políticas internas sobre quién puede transferir qué datos), asesores legales (para las normativas relacionadas con los datos) y un administrador de seguridad (para las políticas internas sobre cómo se protege el acceso a los datos)
  • Ejecución de la transferencia: un líder de equipo, un administrador de proyectos (para ejecutar y realizar un seguimiento del proyecto), un equipo de ingeniería y recepción y envío en las instalaciones (para recibir el hardware del dispositivo)

Es fundamental identificar quién está a cargo de las responsabilidades anteriores para tu proyecto de transferencia y, luego, incluirlo en las reuniones de planificación y toma de decisiones cuando corresponda. Una planificación organizativa deficiente suele ser la causa de las iniciativas de transferencia fallidas.

Recopilar los requisitos del proyecto y los aportes de estas partes interesadas puede ser un desafío, pero crear un plan y establecer funciones y responsabilidades claras da buenos resultados. No se espera que conozcas todos los detalles de tus datos. Reunir a un equipo te brinda estadísticas más detalladas sobre las necesidades de la empresa. Se recomienda identificar posibles problemas antes de invertir tiempo, dinero y recursos para completar las transferencias.

Paso 2: recopila requisitos y recursos disponibles

Cuando diseñes un plan de transferencia, te recomendamos que primero recopiles los requisitos para tu transferencia de datos y, luego, elijas una opción de transferencia. Para recopilar requisitos, puedes usar el siguiente proceso:

  1. Identifica los conjuntos de datos que necesitas mover.
    • Selecciona herramientas como Data Catalog para organizar tus datos en grupos lógicos que se trasladan y se usan juntos.
    • Trabaja con los equipos de tu organización para validar o actualizar estos grupos.
  2. Identifica los conjuntos de datos que puedes trasladar.
    • Analiza si los factores regulatorios, de seguridad o de otro tipo prohíben la transferencia de algunos conjuntos de datos.
    • Si necesitas transformar algunos de tus datos antes de migrarlos (por ejemplo, para quitar datos sensibles o reorganizarlos), usa un producto de integración de datos como Dataflow o Cloud Data Fusion o un producto de organización de flujo de trabajo como Cloud Composer.
  3. Para los conjuntos de datos que se pueden migrar, determina dónde transferir cada conjunto de datos.
    • Registra qué opción de almacenamiento seleccionas para almacenar tus datos. Por lo general, el sistema de almacenamiento de destino en Google Cloud es Cloud Storage. Incluso si necesitas soluciones más complejas después de que tus aplicaciones estén en funcionamiento, Cloud Storage es una opción de almacenamiento escalable y duradera.
    • Comprende qué políticas de acceso a los datos se deben mantener después de la migración.
    • Determina si necesitas almacenar estos datos en regiones específicas.
    • Planifica cómo estructurar estos datos en el lugar de destino. Por ejemplo, ¿será igual o diferente al lugar de origen?
    • Determina si necesitas transferir datos de forma continua.
  4. En el caso de los conjuntos de datos móviles, determina qué recursos están disponibles para trasladarlos.
    • Tiempo: ¿cuándo se debe completar la transferencia?
    • Costo: ¿cuál es el presupuesto disponible para el equipo y los costos de transferencia?
    • Personas: ¿quién está disponible para ejecutar la transferencia?
    • Ancho de banda (para transferencias en línea): ¿qué cantidad de tu ancho de banda disponible para Google Cloud se puede asignar a una transferencia y durante qué período?

Antes de evaluar y seleccionar las opciones de transferencia en la siguiente fase de planificación, te recomendamos que evalúes si se puede mejorar alguna parte de tu modelo de TI, como la administración de datos, la organización y la seguridad.

Tu modelo de seguridad

Es posible que muchos miembros del equipo de transferencia reciban nuevas funciones en tu organización de Google Cloud como parte del proyecto de transferencia de datos. La planificación de transferencias de datos es un buen momento si deseas revisar los permisos de Identity and Access Management (IAM) y las prácticas recomendadas para usar IAM de forma segura. Estos problemas pueden afectar la forma en que otorgas acceso a tu almacenamiento. Por ejemplo, puedes establecer límites estrictos en el acceso de escritura a los datos archivados por motivos regulatorios, pero puedes permitir que muchos usuarios y aplicaciones escriban datos en tu entorno de pruebas.

Tu organización de Google Cloud

La forma en que estructuras tus datos en Google Cloud depende de cómo planeas usarlo. Almacenar tus datos en el mismo proyecto de Google Cloud en el que ejecutas tu aplicación puede funcionar, pero podría no ser óptimo desde la perspectiva de la administración. Es posible que algunos de tus desarrolladores no tengan privilegios para ver los datos de producción. En ese caso, un desarrollador podría desarrollar un código en datos de muestra, mientras que una cuenta de servicio con privilegios podría acceder a los datos de producción. Por lo tanto, es posible que desees mantener todo tu conjunto de datos de producción en un proyecto de Google Cloud separado y, luego, usar una cuenta de servicio para permitir el acceso a los datos de cada proyecto de aplicación.

Google Cloud se organiza en torno a proyectos. Los proyectos se pueden agrupar en carpetas y las carpetas se pueden agrupar en tu organización. Las funciones se establecen a nivel de proyecto y los permisos de acceso se agregan a estas funciones en los niveles de bucket de Cloud Storage. Esta estructura se alinea con la estructura de permisos de otros proveedores de almacenamiento de objetos.

Si deseas obtener prácticas recomendadas a fin de estructurar una organización de Google Cloud, consulta Elige una jerarquía de recursos para tu zona de destino de Google Cloud.

Paso 3: evalúa tus opciones de transferencia

Para evaluar tus opciones de transferencia de datos, el equipo de transferencia debe tener en cuenta varios factores, incluidos los siguientes:

  • Costo
  • Tiempo de transferencia
  • Opciones de transferencias en línea frente a transferencias sin conexión
  • Herramientas y tecnologías de transferencia
  • Seguridad

Costo

La mayoría de los costos asociados con la transferencia de datos incluyen lo siguiente:

  • Costos de Herramientas de redes
    • La entrada a Cloud Storage es gratuita. Sin embargo, si alojas tus datos en un proveedor de servicios en la nube pública, puedes pagar un cargo de salida y, posiblemente, costos de almacenamiento (por ejemplo, operaciones de lectura) para transferir tus datos. Este cargo se aplica a los datos que provienen de Google o de otro proveedor de servicios en la nube.
    • Si tus datos están alojados en un centro de datos privado que operas, también puedes incurrir en costos adicionales por configurar más ancho de banda en Google Cloud.
  • Costos de almacenamiento y operación de Cloud Storage durante y después de la transferencia de datos
  • Costos del producto (por ejemplo, un Transfer Appliance)
  • Costos de personal para reunir a tu equipo y obtener asistencia logística

Tiempo de transferencia

Pocos aspectos de la informática destacan las limitaciones de hardware de las redes como la transferencia de cantidades de datos grandes. Idealmente, puedes transferir 1 GB en ocho segundos a través de una red de 1 Gbps. Si escalas eso a un conjunto de datos enorme (por ejemplo, 100 TB), el tiempo de transferencia es de 12 días. La transferencia de conjuntos de datos enormes puede probar los límites de tu infraestructura y, potencialmente, causar problemas a tu empresa.

Puedes usar la siguiente calculadora para comprender cuánto tiempo puede tardar una transferencia, según el tamaño del conjunto de datos que estás moviendo y el ancho de banda disponible para la transferencia. Un determinado porcentaje del tiempo de administración se incluye en los cálculos. Además, se incluye una eficiencia de ancho de banda efectiva, de manera que las cifras resultantes sean más realistas.

Es posible que no quieras transferir conjuntos de datos grandes fuera de la red de tu empresa durante las horas pico. Si la transferencia sobrecarga la red, nadie más podrá completar el trabajo necesario o esencial. Por este motivo, el equipo de transferencia debe considerar el factor tiempo.

Después de transferir los datos a Cloud Storage, puedes usar varias tecnologías para procesar los archivos nuevos a medida que llegan, como Dataflow.

Aumento del ancho de banda de red

La manera de aumentar el ancho de banda de red depende de cómo te conectas a Google Cloud.

En una transferencia de nube a nube entre Google Cloud y otros proveedores de servicios en la nube, Google aprovisiona la conexión entre los centros de datos de los proveedores de servicios en la nube, sin que debas configurarla.

Si transfieres datos entre tu centro de datos privado y Google Cloud, existen varios enfoques, como los siguientes:

  • Una conexión a Internet pública mediante una API pública
  • Intercambio de tráfico directo mediante una API pública
  • Cloud Interconnect mediante una API privada

Cuando evalúas estos enfoques, es útil tener en cuenta tus necesidades de conectividad a largo plazo. Podrías llegar a la conclusión de que es muy costoso adquirir ancho de banda solo para fines de transferencia, pero cuando se tiene en cuenta el uso a largo plazo de Google Cloud y las necesidades de la red en tu organización, la inversión podría valer la pena. Para obtener más información sobre cómo conectar las redes a Google Cloud, consulta Elige un producto de Conectividad de red.

Si eliges un enfoque que incluya la transferencia de datos a través de la Internet pública, te recomendamos que consultes con tu administrador de seguridad si la política de tu empresa prohíbe esas transferencias. Verifica también si se usa la conexión pública a Internet para tu tráfico de producción. Por último, considera que las transferencias de datos a gran escala pueden afectar de forma negativa el rendimiento de tu red de producción.

Transferencias en línea frente a transferencias sin conexión

Una decisión fundamental es usar un proceso en línea o sin conexión para la transferencia de datos. Es decir, debes elegir entre transferir a través de una red, ya sea de Cloud Interconnect o la Internet pública, o transferir mediante hardware de almacenamiento.

Para ayudarte con esta decisión, proporcionamos una calculadora de transferencias que te permite calcular las diferencias de tiempo y costo entre estas dos opciones. En el siguiente gráfico, también se muestran algunas velocidades de transferencia para varios tamaños de conjuntos de datos y anchos de banda. Estos cálculos incluyen cierta cantidad de sobrecarga de administración.

Gráfico que muestra la relación entre los tamaños de transferencia y las velocidades de transferencia.

Como se mencionó anteriormente, es posible que debas considerar si el costo de lograr latencias más bajas para tu transferencia de datos (como adquirir ancho de banda de red) se compensa con el valor de esa inversión para tu organización.

Opciones disponibles de Google

Google ofrece varias herramientas y tecnologías para ayudarte a realizar una transferencia de datos.

Elige entre las opciones de transferencia de Google

Como se muestra en la siguiente tabla, la elección de una opción de transferencia depende de tu caso práctico.

Desde dónde migras los datos Situación Productos sugeridos
Otro proveedor de servicios en la nube (por ejemplo, Amazon Web Services o Microsoft Azure) a Google Cloud Servicio de transferencia de almacenamiento
Cloud Storage a Cloud Storage (dos depósitos diferentes) Servicio de transferencia de almacenamiento
Tu centro de datos privado a Google Cloud Ancho de banda suficiente para cumplir con el plazo del proyecto Comando gcloud storage
Tu centro de datos privado a Google Cloud Ancho de banda suficiente para cumplir con el plazo del proyecto Servicio de transferencia de almacenamiento para datos locales
Tu centro de datos privado a Google Cloud Ancho de banda insuficiente para cumplir con el plazo del proyecto Transfer Appliance

El comando gcloud storage para transferencias de datos locales más pequeñas

El comando gcloud storage es la herramienta estándar para transferencias de tamaño pequeño a mediano a través de una red de escala empresarial típica, desde un centro de datos privado o desde otro proveedor de servicios en la nube hacia Google Cloud. Si bien gcloud storage admite la carga de objetos hasta el tamaño de objeto máximo de Cloud Storage, las transferencias de objetos grandes son más propensas a experimentar fallas que las transferencias de corta duración. Para obtener más información sobre la transferencia de objetos grandes a Cloud Storage, consulta Servicio de transferencia de almacenamiento para transferencias grandes de datos locales.

El comando gcloud storage es especialmente útil en las siguientes situaciones:

  • Tus usuarios deben ejecutar las transferencias según sea necesario o durante las sesiones de la línea de comandos.
  • Estás transfiriendo solo algunos archivos o archivos muy grandes, o ambos.
  • Estás usando el resultado de un programa (resultado de transmisión a Cloud Storage).
  • Debes mirar un directorio con una cantidad moderada de archivos y sincronizar las actualizaciones con latencias muy bajas.

Servicio de transferencia de almacenamiento para transferencias grandes de datos locales

Al igual que el comando gcloud storage, el Servicio de transferencia de almacenamiento para datos locales habilita las transferencias del almacenamiento del sistema de archivos de red (NFS) a Cloud Storage. El Servicio de transferencia de almacenamiento para datos locales está diseñado para transferencias a gran escala (hasta petabytes de datos, miles de millones de archivos). Admite copias completas o incrementales y funciona en todas las opciones de transferencia enumeradas anteriormente en Elige entre las opciones de transferencia de Google. También tiene una interfaz gráfica de usuario administrada; incluso los usuarios sin conocimientos técnicos (después de la configuración) pueden usarla para mover datos.

El Servicio de transferencia de almacenamiento para datos locales es especialmente útil en las siguientes situaciones:

  • Tienes suficiente ancho de banda disponible para mover los volúmenes de datos (consulta la Calculadora de Google Cloud Data Transfer).
  • Admites una gran base de usuarios internos que podrían encontrar una herramienta de línea de comandos difícil de usar.
  • Necesitas informes de errores sólidos y un registro de todos los archivos y objetos que se mueven.
  • Debes limitar el impacto de las transferencias en otras cargas de trabajo de tu centro de datos (este producto puede permanecer por debajo del límite de ancho de banda especificado por el usuario).
  • Deseas ejecutar transferencias recurrentes según un programa.

Configuras el Servicio de transferencia de almacenamiento para datos locales mediante la instalación de software local (conocido como agentes) en las computadoras de tu centro de datos.

Después de configurar el Servicio de transferencia de almacenamiento, puedes iniciar las transferencias en la consola de Google Cloud si proporcionas un directorio de origen, un bucket de destino y un tiempo o programa. El Servicio de transferencia de almacenamiento rastrea de forma recurrente los subdirectorios y archivos en el directorio de origen y crea objetos con un nombre correspondiente en Cloud Storage (el objeto /dir/foo/file.txt se convierte en un objeto en el bucket de destino llamado /dir/foo/file.txt). El Servicio de transferencia de almacenamiento vuelve a intentar automáticamente una transferencia cuando encuentra errores temporales. Mientras se ejecutan las transferencias, puedes supervisar la cantidad de archivos que se migran y la velocidad de transferencia general, y puedes ver muestras de errores.

Cuando el Servicio de transferencia de almacenamiento completa una transferencia, genera un archivo delimitado por tabulaciones (TSV) con un registro completo de todos los archivos modificados y cualquier mensaje de error recibido. Los agentes son tolerantes a errores, por lo que si un agente falla, la transferencia continúa con los agentes restantes. Los agentes también se actualizan y se reparan automáticamente, por lo que no tienes que preocuparte por aplicar parches a las últimas versiones o reiniciar el proceso si se produce un problema inesperado.

Aspectos a tener en cuenta al momento de usar el Servicio de transferencia de almacenamiento:

  • Usa una configuración de agente idéntica en todas las máquinas. Todos los agentes deben ver las mismas activaciones del sistema de archivos de red (NFS) de la misma manera (las mismas rutas relativas). Esta configuración es un requisito para que el producto funcione.
  • Más agentes generan más velocidad. Debido a que las transferencias se paralelizan automáticamente en todos los agentes, te recomendamos que implementes muchos agentes para que uses tu ancho de banda disponible.
  • Los límites de ancho de banda pueden proteger tus cargas de trabajo. Tus otras cargas de trabajo podrían estar usando el ancho de banda de tu centro de datos, por lo que debes establecer un límite de ancho de banda para evitar que las transferencias afecten tus ANS.
  • Planifica el tiempo para revisar los errores. Las transferencias grandes, a menudo, pueden generar errores que requieren revisión. El Servicio de transferencia de almacenamiento te permite ver una muestra de los errores que se encuentran directamente en la consola de Google Cloud. Si es necesario, puedes cargar el registro completo de todos los errores de transferencia a BigQuery para verificar los archivos o evaluar los errores que quedaron, incluso después de los reintentos. Estos errores pueden deberse a la ejecución de aplicaciones que se escribían en la fuente mientras se producía la transferencia, o los errores podían revelar un problema que requería una solución (por ejemplo, error de permisos).
  • Configura Cloud Monitoring para transferencias de larga duración. El Servicio de transferencia de almacenamiento permite que Monitoring supervise el estado y la capacidad de procesamiento de los agentes para que puedas configurar alertas que te notifiquen cuando los agentes estén inactivos o necesiten atención. Actuar en función de las fallas del agente es importante para las transferencias que tardan varios días o semanas, a fin de evitar demoras o interrupciones significativas que puedan retrasar el cronograma de tu proyecto.

Transfer Appliance para transferencias más grandes

Para transferencias a gran escala (especialmente transferencias con ancho de banda de red limitado), Transfer Appliance es una excelente opción, especialmente cuando una conexión de red rápida no está disponible y es demasiado costoso adquirir más ancho de banda.

Transfer Appliance es especialmente útil en las siguientes situaciones:

  • Tu centro de datos se encuentra en una ubicación remota con acceso de ancho de banda limitado o nulo.
  • El ancho de banda está disponible, pero no se puede adquirir a tiempo para cumplir con el plazo.
  • Tienes acceso a recursos logísticos para recibir y conectar dispositivos a tu red.

Con esta opción, ten en cuenta los siguientes aspectos:

  • Transfer Appliance requiere que puedas recibir y devolver el hardware de Google.
  • Según la conexión a Internet, la latencia para transferir datos a Google Cloud suele ser más alta con Transfer Appliance que en línea.
  • Transfer Appliance está disponible solo en algunos países.

Los dos criterios principales que debes considerar con Transfer Appliance son el costo y la velocidad. Con una conectividad de red razonable (por ejemplo, 1 Gbps), la transferencia de 100 TB de datos en línea tarda más de 10 días en completarse. Si esta velocidad es aceptable, una transferencia en línea probablemente sea una buena solución para tus necesidades. Si solo tienes una conexión de 100 Mbps (o peor, desde una ubicación remota), la misma transferencia demora más de 100 días. En este punto, vale la pena considerar una opción de transferencia sin conexión, como Transfer Appliance.

La adquisición de un Transfer Appliance es sencilla. En la consola de Google Cloud, solicita un Transfer Appliance, indica la cantidad de datos que tienes y, luego, Google envía uno o más dispositivos a la ubicación que solicitaste. Tienes un plazo de varios días para transferir tus datos al dispositivo (“captura de datos”) y devolverlos a Google.

Servicio de transferencia de almacenamiento para transferencias de nube a nube

El Servicio de transferencia de almacenamiento es un servicio completamente administrado y altamente escalable para automatizar las transferencias de otras nubes públicas a Cloud Storage. Por ejemplo, puedes usar el Servicio de transferencia de almacenamiento para transferir datos de Amazon S3 a Cloud Storage.

Para HTTP, puedes darle al Servicio de transferencia de almacenamiento una lista de URL públicas en un formato especificado. Este enfoque requiere que escribas una secuencia de comandos que proporcione el tamaño de cada archivo en bytes, junto con un hash MD5 codificado en Base64 de los contenidos de los archivos. A veces, el tamaño del archivo y el hash están disponibles en el sitio web de origen. Si no están disponibles, necesitas acceso local a los archivos, en cuyo caso, podría ser más fácil usar el comando gcloud storage, como se describió anteriormente.

Si tienes una transferencia implementada, el Servicio de transferencia de almacenamiento es una excelente manera de obtener datos y conservarlos, especialmente cuando realizas transferencias desde otra nube pública.

Si deseas mover datos desde otra nube no compatible con el Servicio de transferencia de almacenamiento, puedes usar el comando gcloud storage desde una instancia de máquina virtual alojada en la nube.

Seguridad

Para muchos usuarios de Google Cloud, la seguridad es su enfoque principal y hay diferentes niveles de seguridad disponibles. Algunos aspectos de la seguridad que se deben tener en cuenta incluyen la protección de los datos en reposo (autorización y acceso al sistema de almacenamiento de origen y destino), la protección de los datos en tránsito y la protección del acceso al producto de transferencia. En la siguiente tabla, se describen estos aspectos de la seguridad por producto.

Producto Datos en reposo Datos en tránsito Acceso para transferir productos
Transfer Appliance Todos los datos se encriptan en reposo. El cliente protege los datos con claves administradas. Cualquier persona puede solicitar un dispositivo, pero para usarlo, necesita acceso a la fuente de datos.
Comando gcloud storage Se requieren claves de acceso para acceder a Cloud Storage. Los datos se encriptan en reposo. Los datos se envían a través de HTTPS y se encriptan en tránsito. Cualquier persona puede descargar y ejecutar Google Cloud CLI. Deben tener permisos para acceder a los buckets y los archivos locales a fin de mover los datos.
Servicio de transferencia de almacenamiento para datos locales Se requieren claves de acceso para acceder a Cloud Storage. Los datos se encriptan en reposo. Durante el proceso del agente, se puede acceder a los archivos locales como lo permiten los permisos del SO. Los datos se envían a través de HTTPS y se encriptan en tránsito. Debes tener permisos de editor de objetos para acceder a los depósitos de Cloud Storage.
Servicio de transferencia de almacenamiento Claves de acceso necesarias para recursos que no son de Google Cloud (por ejemplo, Amazon S3). Se requieren claves de acceso para acceder a Cloud Storage. Los datos se encriptan en reposo. Los datos se envían a través de HTTPS y se encriptan en tránsito. Debes tener permisos de IAM para que la cuenta de servicio acceda a la fuente y permisos de editor de objetos en cualquier depósito de Cloud Storage.

Para lograr mejoras de seguridad de referencia, las transferencias en línea a Google Cloud mediante el comando gcloud storage se realizan a través de HTTPS, los datos se encriptan en tránsito y, de forma predeterminada, todos los datos de Cloud Storage se encriptan en reposo. Si usas Transfer Appliance, las claves de seguridad que controlas pueden ayudarte a proteger tus datos. Por lo general, recomendamos que alientes a tu equipo de seguridad a que participe para asegurarte de que tu plan de transferencias cumpla con los requisitos normativos y de tu empresa.

Productos de transferencia de terceros

En el caso de la optimización avanzada a nivel de la red o los flujos de trabajo continuos de transferencia de datos, es posible que desees usar herramientas más avanzadas. Para obtener información sobre herramientas más avanzadas, consulta Socios de Google Cloud.

Paso 4: Evalúa los enfoques de migración de datos

Cuando migres datos, puedes seguir estos pasos generales:

  1. Transfiere datos del sitio heredado al nuevo.
  2. Resuelve cualquier problema de integración de datos que surja, como, por ejemplo, la sincronización de los mismos datos de varias fuentes.
  3. Valida la migración de datos.
  4. Promociona el sitio nuevo como la copia principal.
  5. Cuando ya no necesites el sitio heredado como opción de resguardo, quítalo.

Debes basar tu enfoque de migración de datos en las siguientes preguntas:

  • ¿Cuántos datos necesitas migrar?
  • ¿Con qué frecuencia cambian estos datos?
  • ¿Puedes permitirte el tiempo de inactividad que representa un período de migración mientras migras datos?
  • ¿Cuál es su modelo de coherencia de datos actual?

No hay un enfoque mejor que otro. La elección de uno depende del entorno y de tus necesidades.

En las siguientes secciones, se presentan cuatro enfoques de migración de datos:

  • Mantenimiento programado
  • Replicación continua
  • Y (escritura y lectura)
  • Microservicio de acceso a los datos

Cada enfoque aborda diferentes problemas, según el escalamiento y los requisitos de la migración de datos.

El enfoque de microservicio de acceso a datos es la opción preferida en una arquitectura de microservicios. Sin embargo, los otros enfoques son útiles para la migración de datos. También son útiles durante el período de transición necesario para modernizar la infraestructura a fin de usar el enfoque de microservicio de acceso a los datos.

En el siguiente gráfico, se describen las extensiones de los períodos de migración correspondientes, el esfuerzo de refactorización y las propiedades de flexibilidad de cada uno de estos enfoques.

Grafo de barras en el que cada barra muestra los valores relativos de flexibilidad, esfuerzo de refactorización y extensiones de períodos de migración de cada uno de los 4 enfoques

Antes de seguir cualquiera de estos enfoques, asegúrate de haber configurado la infraestructura requerida en el nuevo entorno.

Mantenimiento programado

El enfoque de mantenimiento programado es ideal si tus cargas de trabajo pueden permitir un período de migración. Está programado para que puedas planificar cuándo se produce el período de migración.

En este enfoque, la migración consta de estos pasos:

  1. Copia los datos que se encuentran en el sitio heredado al sitio nuevo. Con esta copia inicial, se minimiza el período de migración. Después de ella, debes copiar solo los datos que cambiaron durante este período.
  2. Realiza validaciones de datos y verificaciones de coherencia para comparar los datos del sitio heredado con los datos copiados en el sitio nuevo.
  3. Detén las cargas de trabajo y los servicios que tienen acceso de escritura a los datos copiados para que no se produzcan más cambios.
  4. Sincroniza los cambios que se produjeron después de la copia inicial.
  5. Refactoriza las cargas de trabajo y los servicios para que usen el sitio nuevo.
  6. Inicia tus cargas de trabajo y servicios.
  7. Cuando ya no necesites el sitio heredado como opción de resguardo, quítalo.

El enfoque de mantenimiento programado coloca la mayor parte de la carga en las operaciones, ya que se necesita una refactorización mínima de la carga de trabajo y los servicios.

Replicación continua

Debido a que no en todas las cargas de trabajo se puede permitir un período de migración largo, puedes compilar con el enfoque de mantenimiento programado si proporcionas un mecanismo de replicación continua después de los pasos iniciales de copia y validación. Cuando diseñas un mecanismo como este, también debes tener en cuenta la velocidad a la que se aplican los cambios a tus datos, ya que puede ser difícil mantener dos sistemas sincronizados.

El enfoque de replicación continua es más complejo que el enfoque de mantenimiento programado. Sin embargo, el enfoque de replicación continua minimiza el tiempo del período de migración requerido, ya que minimiza la cantidad de datos que necesitas sincronizar. La secuencia para una migración de replicación continua es la siguiente:

  1. Copia los datos que se encuentran en el sitio heredado al sitio nuevo. Con esta copia inicial, se minimiza el período de migración. Después de ella, debes copiar solo los datos que cambiaron durante este período.
  2. Realiza validaciones de datos y verificaciones de coherencia para comparar los datos del sitio heredado con los datos copiados en el sitio nuevo.
  3. Configura un mecanismo de replicación continua desde el sitio heredado hasta el sitio nuevo.
  4. Detén las cargas de trabajo y los servicios que tienen acceso a los datos que se migrarán (es decir, a los datos involucrados en el paso anterior).
  5. Refactoriza las cargas de trabajo y los servicios para que usen el sitio nuevo.
  6. Espera a que la replicación sincronice por completo el sitio nuevo con el sitio heredado.
  7. Inicia tus cargas de trabajo y servicios.
  8. Cuando ya no necesites el sitio heredado como opción de resguardo, quítalo.

Al igual que con el enfoque de mantenimiento programado, el enfoque de replicación continua coloca la mayor parte de la carga en las operaciones.

Y (escritura y lectura)

Si las cargas de trabajo tienen requisitos estrictos de alta disponibilidad y no puedes permitirte el tiempo de inactividad que representa un período de migración, debes adoptar un enfoque diferente. Para esta situación, puedes usar un enfoque que en este documento se conoce como Y (escritura y lectura), que es una forma de migración paralela. Con este enfoque, la carga de trabajo escribe y lee datos en el sitio heredado y en el sitio nuevo durante la migración. La letra Y se usa aquí como una representación gráfica del flujo de datos durante el período de migración.

Este enfoque se resume de la siguiente manera:

  1. Refactoriza cargas de trabajo y servicios para escribir datos en el sitio heredado y en el sitio nuevo, y leer desde el sitio heredado.
  2. Identifica los datos que se escribieron antes de habilitar las operaciones de escritura en el sitio nuevo y cópialos del sitio heredado al nuevo. Junto con la refactorización anterior, esto garantiza que los almacenes de datos estén alineados.
  3. Realiza la validación de datos y verificaciones de coherencia que comparen los datos del sitio heredado con los del sitio nuevo.
  4. Cambia las operaciones de lectura del sitio heredado al nuevo.
  5. Realiza otra ronda de validación de datos y verificaciones de coherencia para comparar los datos del sitio heredado con el sitio nuevo.
  6. Inhabilita la escritura en el sitio heredado.
  7. Cuando ya no necesites el sitio heredado como opción de resguardo, quítalo.

A diferencia de los enfoques de mantenimiento programado y replicación continua, el enfoque Y (escritura y lectura) coloca la mayoría de los esfuerzos en el desarrollo, en lugar de en las operaciones, debido a las múltiples refactorizaciones.

Microservicio de acceso a los datos

Si deseas reducir el esfuerzo de refactorización necesario para seguir el enfoque Y (escritura y lectura), puedes centralizar las operaciones de lectura y escritura de datos mediante la refactorización de cargas de trabajo y servicios para que usen un microservicio de acceso a datos. Este microservicio escalable se convierte en el único punto de entrada a tu capa de almacenamiento de datos y actúa como un proxy para esa capa. De los enfoques que se analizan aquí, este te brinda la máxima flexibilidad, ya que puedes refactorizar este componente sin afectar a otros componentes de la arquitectura y sin requerir un período de migración.

Usar un microservicio de acceso a los datos es muy similar al enfoque Y (escritura y lectura). La diferencia es que los esfuerzos de refactorización se enfocan solo en el microservicio de acceso a los datos, en lugar de tener que refactorizar todas las cargas de trabajo y los servicios que acceden a la capa de almacenamiento de datos. Este enfoque se resume de la siguiente manera:

  1. Refactoriza el microservicio de acceso a los datos para escribir datos en el sitio heredado y en el sitio nuevo. Las lecturas se realizan en el sitio heredado.
  2. Identifica los datos que se escribieron antes de habilitar las operaciones de escritura en el sitio nuevo y cópialos del sitio heredado al nuevo. Junto con la refactorización anterior, esto garantiza que los almacenes de datos estén alineados.
  3. Realiza la validación de datos y verificaciones de coherencia para comparar los datos del sitio heredado con los del sitio nuevo.
  4. Refactoriza el microservicio de acceso a los datos para leer desde el sitio nuevo.
  5. Realiza otra ronda de validación de datos y verificaciones de coherencia para comparar los datos en el sitio heredado con los datos en el sitio nuevo.
  6. Refactoriza el microservicio de acceso a los datos para escribir solo en el sitio nuevo.
  7. Cuando ya no necesites el sitio heredado como opción de resguardo, quítalo.

Al igual que el enfoque Y (escritura y lectura), el enfoque de microservicio de acceso a los datos coloca la mayor parte de la carga en el desarrollo. Sin embargo, es mucho más liviano en comparación con el enfoque Y (escritura y lectura), ya que los esfuerzos de refactorización se enfocan en el microservicio de acceso a los datos.

Paso 5: Prepárate para la transferencia

Para una transferencia grande o una transferencia con dependencias significativas, es importante comprender cómo operar tu producto de transferencia. Los clientes suelen seguir los siguientes pasos:

  1. Precios y estimación del ROI En este paso, se ofrecen muchas opciones para tomar decisiones.
  2. Pruebas funcionales. En este paso, confirmas que el producto se puede configurar correctamente y que la conectividad de red funciona (si corresponde). También pruebas que puedes mover una muestra representativa de tus datos (incluidos los pasos que no se transfieren, como mover una instancia de VM) al destino.

    Por lo general, puedes realizar este paso antes de asignar todos los recursos, como máquinas de transferencia o ancho de banda. Los objetivos de este paso son los siguientes:

    • Confirmar que puedes instalar y operar la transferencia
    • Detectar posibles problemas de detención de proyectos que bloqueen la migración de datos (por ejemplo, rutas de red) o tus operaciones (por ejemplo, entrenamiento necesario en un paso de no transferencia)
  3. Pruebas de rendimiento. En este paso, ejecutas una transferencia en una muestra grande de tus datos (generalmente del 3% al 5%) después de que se asignan los recursos de producción para hacer lo siguiente:

    • Confirmar que puedes usar todos los recursos asignados y obtener las velocidades que esperas
    • Detectar y solucionar los cuellos de botella (por ejemplo, el sistema de almacenamiento de origen lento)

Paso 6: Garantiza la integridad de tu transferencia

Para garantizar la integridad de tus datos durante una transferencia, te recomendamos que tomes las siguientes precauciones:

  • Habilita el control de versiones y la copia de seguridad en tu destino para limitar el daño de las eliminaciones accidentales.
  • Valida tus datos antes de quitar los datos de origen.

Para las transferencias de datos a gran escala (con petabytes de datos y miles de millones de archivos), una tasa de error latente de referencia del sistema de almacenamiento subyacente tan bajo como el 0.0001% aún genera una pérdida de datos de miles de archivos y gigabytes. Por lo general, las aplicaciones que se ejecutan en el origen ya son tolerantes a estos errores, en cuyo caso no es necesaria una validación adicional. En algunos casos excepcionales (por ejemplo, archivo a largo plazo), se necesita más validación antes de que se considere seguro borrar los datos del origen.

Según los requisitos de tu aplicación, te recomendamos que ejecutes algunas pruebas de integridad de los datos después de que se complete la transferencia para asegurarte de que la aplicación continúe funcionando según lo previsto. Muchos productos de transferencia tienen verificaciones de integridad de los datos integradas. Sin embargo, según tu perfil de riesgo, es posible que desees realizar un conjunto adicional de verificaciones en los datos y las aplicaciones que leen esos datos antes de borrarlos del origen. Por ejemplo, es posible que desees confirmar si una suma de verificación que registraste y procesaste coincide de forma independiente con los datos escritos en el destino, o confirmar que un conjunto de datos que utilizó la aplicación se transfirió correctamente.

¿Qué sigue?