Para muchos clientes, el primer paso para adoptar un Google Cloud producto es introducir sus datos en él Google Cloud. En este documento se explica el proceso de transferencia de datos, desde la planificación de una transferencia de datos hasta las prácticas recomendadas para implementar un plan.
Para transferir grandes conjuntos de datos, debes formar el equipo adecuado, planificar con antelación y probar tu plan de transferencia antes de implementarlo en un entorno de producción. Aunque estos pasos pueden llevar el mismo tiempo que la propia transferencia, estas preparaciones pueden ayudar a minimizar las interrupciones en las operaciones de tu empresa durante la transferencia.
Este documento forma parte de la siguiente serie de artículos sobre la migración aGoogle Cloud:
- Migrar a Google Cloud: primeros pasos
- Migración a Google Cloud: evaluar e identificar cargas de trabajo
- Migrar a Google Cloud: planificar y sentar las bases
- Migrar a Google Cloud: transferir conjuntos de datos grandes (este documento)
- Migrar a: desplegar tus cargas de trabajo Google Cloud
- Migrar a: Google Cloudmigrar de despliegues manuales a despliegues automatizados en contenedores
- Migrar a: Google Cloudoptimizar el entorno
- Migrar a: prácticas recomendadas para validar un plan de migración Google Cloud
- Migrar a Google Cloud: minimizar los costes
¿Qué es la transferencia de datos?
En este documento, la transferencia de datos es el proceso de mover datos sin transformarlos. Por ejemplo, mover archivos tal cual a objetos.
La transferencia de datos no es tan sencilla como parece
Es tentador pensar que la transferencia de datos es como una sesión FTP gigante en la que colocas tus archivos en un lado y esperas a que salgan por el otro. Sin embargo, en la mayoría de los entornos empresariales, el proceso de transferencia implica muchos factores, como los siguientes:
- Elaborar un plan de transferencia que tenga en cuenta el tiempo administrativo, incluido el tiempo necesario para decidir una opción de transferencia, obtener aprobaciones y resolver problemas imprevistos.
- Coordinar a los miembros 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 puede suponer la transferencia de datos.
- Elegir la herramienta de transferencia adecuada en función de tus recursos, costes, tiempo y otras consideraciones del proyecto.
- Superar los problemas de transferencia de datos, incluidos los problemas de "velocidad de la luz" (ancho de banda insuficiente), mover conjuntos de datos que se estén usando, proteger y monitorizar los datos mientras están en tránsito, y asegurarse de que los datos se transfieren correctamente.
El objetivo de este documento es ayudarte a poner en marcha una iniciativa de transferencia exitosa.
Otros proyectos relacionados con la transferencia de datos
En la siguiente lista se incluyen recursos para otros tipos de proyectos de transferencia de datos que no se tratan en este documento:
- Si necesitas transformar tus datos (por ejemplo, combinar filas, unir conjuntos de datos o filtrar información personal identificable), te recomendamos que utilices una solución de extracción, transformación y carga (ETL) que pueda depositar datos en un Google Cloud almacén de datos.
- Si necesitas migrar una base de datos y las aplicaciones relacionadas (por ejemplo, para migrar una aplicación de base de datos), consulta Migración de bases de datos: conceptos y principios.
Paso 1: Reúne a tu equipo
Para planificar una transferencia, normalmente se necesita personal con los siguientes roles y responsabilidades:
- Habilitar los 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 partners de integración)
- Aprobar la decisión de transferencia: los propietarios o responsables de los datos (para las políticas internas sobre quién puede transferir qué datos), los asesores jurídicos (para los reglamentos relacionados 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 jefe de equipo, un gestor de proyectos (para ejecutar y monitorizar el proyecto), un equipo de ingeniería y un equipo de recepción y envío in situ (para recibir el hardware del dispositivo)
Es fundamental identificar quién tiene las responsabilidades anteriores en tu proyecto de transferencia e incluirlo en las reuniones de planificación y toma de decisiones cuando sea necesario. Una mala planificación organizativa suele ser la causa de que las iniciativas de transferencia no salgan bien.
Recopilar los requisitos del proyecto y las aportaciones de estas partes interesadas puede ser complicado, pero merece la pena elaborar un plan y definir claramente los roles y las responsabilidades. No se espera que conozcas todos los detalles de tus datos. Formar un equipo te permite conocer mejor las necesidades de la empresa. Es una práctica recomendada identificar posibles problemas antes de invertir tiempo, dinero y recursos para completar las transferencias.
Paso 2: Recopilación de requisitos y recursos disponibles
Cuando diseñes un plan de transferencia, te recomendamos que primero recojas los requisitos de la transferencia de datos y, después, elijas una opción de transferencia. Para recoger los requisitos, puedes seguir este proceso:
- Identifica los conjuntos de datos que tienes que mover.
- Seleccione herramientas como Catálogo de datos para organizar sus datos en grupos lógicos que se muevan y se usen juntos.
- Colabora con los equipos de tu organización para validar o actualizar estas agrupaciones.
- Identifica qué conjuntos de datos puedes mover.
- Ten en cuenta si hay factores normativos, de seguridad u otros que impidan que se transfieran algunos conjuntos de datos.
- Si necesitas transformar algunos de tus datos antes de moverlos (por ejemplo, para eliminar datos sensibles o reorganizarlos), considera la posibilidad de usar un producto de integración de datos como Dataflow o Cloud Data Fusion, o un producto de orquestación de flujos de trabajo como Cloud Composer.
- En el caso de los conjuntos de datos que se pueden mover, determine a dónde se va a transferir cada uno.
- Anota la opción de almacenamiento que selecciones para almacenar tus datos. Normalmente, el sistema de almacenamiento de destino enGoogle Cloud esCloud Storage. Aunque necesites 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.
- Conocer qué políticas de acceso a datos deben mantenerse después de la migración.
- Determina si necesitas almacenar estos datos en regiones concretas.
- Planifica cómo estructurar estos datos en el destino. Por ejemplo, ¿será igual que la fuente o diferente?
- Determina si necesitas transferir datos de forma continua.
- En el caso de los conjuntos de datos que se pueden mover, determina qué recursos están disponibles para moverlos.
- Tiempo: ¿cuándo debe completarse la transferencia?
- Coste: ¿cuál es el presupuesto disponible para el equipo y los costes de transferencia?
- Personas: ¿quién puede llevar a cabo la transferencia?
- Ancho de banda (para transferencias online): ¿cuánto ancho de banda disponible para Google Cloud se puede asignar a una transferencia y durante cuánto tiempo?
Antes de evaluar y seleccionar las opciones de transferencia en la siguiente fase de planificación, te recomendamos que determines si se puede mejorar alguna parte de tu modelo de TI, como la gobernanza, la organización y la seguridad de los datos.
Tu modelo de seguridad
Es posible que se asignen nuevos roles a muchos miembros del equipo de transferencia en tu organización Google Cloud como parte del proyecto de transferencia de datos. La planificación de la transferencia de datos es un buen momento para revisar los permisos de Gestión de Identidades y Accesos (IAM) y las prácticas recomendadas para usar IAM de forma segura. Estos problemas pueden afectar a la forma en que concedes acceso a tu almacenamiento. Por ejemplo, puedes establecer límites estrictos en el acceso de escritura a los datos que se han archivado por motivos normativos, pero puedes permitir que muchos usuarios y aplicaciones escriban datos en tu entorno de prueba.
Tu organización Google Cloud
La forma en que estructures los datos en Google Cloud dependerá de cómo tengas pensado usarGoogle Cloud. Puede que te sirva almacenar tus datos en el mismo Google Cloud proyecto en el que ejecutas tu aplicación, pero no es la opción más recomendable desde el punto de vista de la gestió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 código en datos de muestra, mientras que una cuenta de servicio con privilegios podría acceder a datos de producción. Por lo tanto, puede que le interese mantener todo su conjunto de datos de producción en unGoogle Cloud proyecto independiente y, a continuación, usar una cuenta de servicio para permitir el acceso a los datos desde 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. Los roles se definen a nivel de proyecto y los permisos de acceso se añaden a estos roles a nivel de segmento de Cloud Storage. Esta estructura se ajusta a la estructura de permisos de otros proveedores de almacenamiento de objetos.
Para conocer las prácticas recomendadas para estructurar una Google Cloud organización, consulta el artículo Decidir una jerarquía de recursos para tu Google Cloud zona de aterrizaje.
Paso 3: Evalúa las opciones de transferencia
Para evaluar las opciones de transferencia de datos, el equipo de transferencia debe tener en cuenta varios factores, entre los que se incluyen los siguientes:
- Coste
- Tiempo de transferencia
- Opciones de transferencia online y offline
- Herramientas y tecnologías de transferencia
- Seguridad
Coste
La mayoría de los costes asociados a la transferencia de datos incluyen lo siguiente:
- Costes de redes
- El tráfico de entrada a Cloud Storage es gratuito. Sin embargo, si alojas tus datos en un proveedor de nube pública, es probable que tengas que pagar un cargo de salida y, posiblemente, costes de almacenamiento (por ejemplo, operaciones de lectura) por transferir tus datos. Este cargo se aplica a los datos procedentes de Google u otro proveedor de servicios en la nube.
- Si tus datos están alojados en un centro de datos privado que gestionas, es posible que también tengas que pagar costes adicionales por configurar más ancho de banda para Google Cloud.
- Costes de almacenamiento y operaciones de Cloud Storage durante y después de la transferencia de datos
- Costes de los productos (por ejemplo, un Transfer Appliance)
- Costes de personal para formar tu equipo y obtener asistencia logística
Tiempo de transferencia
Pocas cosas en la informática ponen de manifiesto las limitaciones de hardware de las redes como la transferencia de grandes cantidades de datos. Lo ideal es que puedas transferir 1 GB en ocho segundos a través de una red de 1 Gbps. Si aumentas el tamaño a un conjunto de datos enorme (por ejemplo, 100 TB), el tiempo de transferencia será de 12 días. La transferencia de conjuntos de datos de gran tamaño puede poner a prueba los límites de tu infraestructura y provocar problemas en tu empresa.
Cuando estime cuánto tiempo puede tardar una transferencia, incluya los siguientes factores en sus cálculos:
- El tamaño del conjunto de datos que vas a mover.
- Ancho de banda disponible para la transferencia.
- Un porcentaje determinado del tiempo de gestión.
- La eficiencia del ancho de banda, que también puede influir en el tiempo de transferencia.
Es posible que no quieras transferir grandes conjuntos de datos fuera de la red de tu empresa durante las horas punta de trabajo. Si la transferencia sobrecarga la red, nadie más podrá completar el trabajo necesario o esencial. Por este motivo, el equipo de transferencia debe tener en cuenta el factor tiempo.
Una vez que los datos se hayan transferido a Cloud Storage, podrá usar varias tecnologías para procesar los nuevos archivos a medida que lleguen, como Dataflow.
Aumentar el ancho de banda de la red
La forma de aumentar el ancho de banda de la red depende de cómo te conectes aGoogle Cloud.
En una transferencia de nube a nube entre Google Cloud y otros proveedores de la nube, Google aprovisiona la conexión entre los centros de datos de los proveedores de la nube, por lo que no tienes que hacer ninguna configuración.
Si vas a transferir datos entre tu centro de datos privado yGoogle Cloud, tienes varias opciones, como las siguientes:
- Una conexión a Internet pública mediante una API pública
- Emparejamiento directo mediante una API pública
- Cloud Interconnect mediante una API privada
Al evaluar estos enfoques, es útil tener en cuenta tus necesidades de conectividad a largo plazo. Puede que llegues a la conclusión de que es demasiado caro adquirir ancho de banda únicamente para realizar transferencias, pero si tienes en cuenta el uso a largo plazo deGoogle Cloud y las necesidades de la red de tu organización, la inversión puede merecer la pena. Para obtener más información sobre cómo conectar tus redes aGoogle Cloud, consulta Elegir un producto de conectividad de red.
Si opta por una estrategia que implique transferir datos a través de Internet público, le recomendamos que consulte con su administrador de seguridad si la política de su empresa prohíbe dichas transferencias. Además, comprueba si la conexión a Internet pública se utiliza para tu tráfico de producción. Por último, ten en cuenta que las transferencias de datos a gran escala pueden afectar negativamente al rendimiento de tu red de producción.
Transferencia online y sin conexión
Una decisión fundamental es si usar un proceso online u offline para transferir los datos. Es decir, debes elegir entre transferir datos a través de una red (ya sea Cloud Interconnect o la red pública de Internet) o mediante hardware de almacenamiento.
Para ayudarte a tomar esta decisión, el siguiente gráfico también muestra algunas velocidades de transferencia para varios tamaños de conjuntos de datos y anchos de banda. En estos cálculos se incluye una cierta cantidad de sobrecarga de gestión.
Como se ha indicado anteriormente, puede que tengas que plantearte si el coste de conseguir 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 transferir datos.
Decidir entre las opciones de transferencia de Google
La opción de transferencia que elijas dependerá de tu caso de uso, como se muestra en la siguiente tabla.
De dónde vas a mover los datos | Situación | Productos sugeridos |
---|---|---|
Otro proveedor de servicios en la nube (por ejemplo, Amazon Web Services o Microsoft Azure) para Google Cloud | — | Servicio de transferencia de Storage |
De Cloud Storage a Cloud Storage (dos segmentos diferentes) | — | Servicio de transferencia de Storage |
Tu centro de datos privado para Google Cloud | Ancho de banda suficiente para cumplir el plazo de tu proyecto | Comando gcloud storage
|
Tu centro de datos privado para Google Cloud | Ancho de banda suficiente para cumplir el plazo de tu proyecto | Servicio de transferencia de Storage para datos on‐premise |
Tu centro de datos privado para Google Cloud | No tienes suficiente ancho de banda para cumplir el plazo de tu proyecto | Transfer Appliance |
Comando gcloud storage
para transferencias más pequeñas de datos on‐premise
El comando gcloud storage
es la herramienta estándar para transferencias de tamaño pequeño o mediano a través de una red de escala empresarial típica, desde un centro de datos privado o desde otro proveedor de la nube a Google Cloud. Aunque gcloud storage
admite la subida de objetos de hasta el tamaño máximo de objeto de Cloud Storage, es más probable que se produzcan errores en las transferencias de objetos grandes que en las transferencias de corta duración.
Para obtener más información sobre cómo transferir objetos de gran tamaño a Cloud Storage, consulta Servicio de transferencia de Storage para transferencias de gran tamaño de datos on-premise.
El comando gcloud storage
es especialmente útil en los siguientes casos:
- Tus transferencias deben ejecutarse según sea necesario o durante las sesiones de línea de comandos de tus usuarios.
- Solo transfieres unos pocos archivos o archivos muy grandes, o ambas cosas.
- Estás consumiendo la salida de un programa (transmitiendo la salida a Cloud Storage).
- Necesitas monitorizar un directorio con un número moderado de archivos y sincronizar las actualizaciones con latencias muy bajas.
Servicio de transferencia de Storage para transferencias de gran tamaño de datos on‐premise
Al igual que el comando gcloud storage
, el servicio de transferencia de Storage para datos on-premise permite transferir datos de un almacenamiento del sistema de archivos de red (NFS) a Cloud Storage. El Servicio de transferencia de Storage para datos on‐premise se ha diseñado para transferencias a gran escala (hasta petabytes de datos y miles de millones de archivos). Admite copias completas o incrementales y funciona con todas las opciones de transferencia que se han mencionado anteriormente en la sección Elegir entre las opciones de transferencia de Google. También tiene una interfaz gráfica de usuario gestionada, por lo que incluso los usuarios que no tengan conocimientos técnicos (después de la configuración) pueden usarla para mover datos.
El servicio de transferencia de Storage para datos on‐premise es especialmente útil en los siguientes casos:
- Tienes suficiente ancho de banda disponible para mover los volúmenes de datos.
- Tienes una gran base de usuarios internos a los que les puede resultar difícil usar una herramienta de línea de comandos.
- Necesitas un sistema de informes de errores sólido y un registro de todos los archivos y objetos que se muevan.
- Necesitas limitar el impacto de las transferencias en otras cargas de trabajo de tu centro de datos (este producto puede mantenerse por debajo de un límite de ancho de banda especificado por el usuario).
- Quieres ejecutar transferencias periódicas según una programación.
Para configurar el Servicio de transferencia de Storage para datos on‐premise, debes instalar software on‐premise (conocido como agentes) en los ordenadores de tu centro de datos.
Después de configurar el Servicio de transferencia de Storage, puedes iniciar transferencias en laGoogle Cloud consola proporcionando un directorio de origen, un segmento de destino y una hora o una programación.
El Servicio de transferencia de Storage rastrea de forma recursiva los subdirectorios y los archivos del directorio de origen, y crea objetos con el nombre correspondiente en Cloud Storage (el objeto /dir/foo/file.txt
se convierte en un objeto del segmento de destino llamado /dir/foo/file.txt
). El Servicio de transferencia de Storage vuelve a intentar automáticamente una transferencia cuando se produce algún error transitorio.
Mientras se realizan las transferencias, puedes monitorizar cuántos archivos se han movido y la velocidad de transferencia general, así como ver ejemplos de errores.
Cuando el Servicio de transferencia de Storage completa una transferencia, genera un archivo delimitado por tabulaciones (TSV) con un registro completo de todos los archivos que se han modificado y los mensajes de error que se han recibido. Los agentes son tolerantes a fallos, por lo que, si uno de ellos deja de funcionar, 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 versiones más recientes ni por reiniciar el proceso si se interrumpe debido a un problema imprevisto.
Aspectos que debes tener en cuenta al usar el Servicio de transferencia de Storage:
- Usa una configuración de agente idéntica en todos los ordenadores. Todos los agentes deben ver los mismos montajes del sistema de archivos de red (NFS) de la misma forma (con las mismas rutas relativas). Esta configuración es necesaria para que el producto funcione.
- Cuantos más agentes haya, mayor será la velocidad. Como las transferencias se paralelizan automáticamente en todos los agentes, te recomendamos que implementes muchos agentes para aprovechar el ancho de banda disponible.
- Los límites de ancho de banda pueden proteger tus cargas de trabajo. Es posible que otras cargas de trabajo estén usando el ancho de banda de tu centro de datos, por lo que te recomendamos que fijes un límite de ancho de banda para evitar que las transferencias afecten a tus acuerdos de nivel de servicio.
- Planifica un tiempo para revisar los errores. Las transferencias de gran tamaño suelen provocar errores que requieren una revisión. El Servicio de transferencia de Storage te permite ver una muestra de los errores que se han producido directamente en la Google Cloud consola. Si es necesario, puedes cargar el registro completo de todos los errores de transferencia en BigQuery para consultar los archivos o evaluar los errores que se hayan producido incluso después de reintentos. Estos errores pueden deberse a que se estaban ejecutando aplicaciones que escribían en la fuente mientras se producía la transferencia, o bien pueden revelar un problema que requiere solución (por ejemplo, un error de permisos).
- Configura Cloud Monitoring para las transferencias de larga duración. El Servicio de transferencia de Storage permite que Monitoring monitorice el estado y el rendimiento de los agentes, de modo que puedes configurar alertas que te avisen cuando los agentes no funcionen o necesiten atención. Es importante tomar medidas cuando se produzcan errores en los agentes en las transferencias que duren varios días o semanas para evitar ralentizaciones o interrupciones significativas que puedan retrasar la cronología de tu proyecto.
Transfer Appliance para transferencias de mayor tamaño
Para las transferencias a gran escala (especialmente las que tienen un ancho de banda de red limitado), Transfer Appliance es una opción excelente, sobre todo cuando no se dispone de una conexión de red rápida y resulta demasiado caro adquirir más ancho de banda.
Transfer Appliance es especialmente útil en los siguientes casos:
- Tu centro de datos se encuentra en una ubicación remota con acceso limitado o nulo al ancho de banda.
- El ancho de banda está disponible, pero no se puede adquirir a tiempo para cumplir el plazo.
- Tienes acceso a recursos logísticos para recibir y conectar electrodomésticos a tu red.
Si eliges esta opción, ten en cuenta lo siguiente:
- Transfer Appliance requiere que puedas recibir y devolver el hardware propiedad de Google.
- En función de tu conexión a Internet, la latencia de la transferencia de datos a Google Cloud suele ser mayor con Transfer Appliance que online.
- Transfer Appliance solo está disponible en algunos países.
Los dos criterios principales que se deben tener en cuenta con Transfer Appliance son el coste y la velocidad. Con una conectividad de red razonable (por ejemplo, 1 Gbps), se tardan más de 10 días en transferir 100 TB de datos online. Si esta tarifa es aceptable, es probable que una transferencia online sea una buena solución para tus necesidades. Si solo tienes una conexión de 100 Mbps (o una conexión peor desde una ubicación remota), la misma transferencia tardará más de 100 días. En este punto, merece la pena plantearse una opción de transferencia sin conexión, como Transfer Appliance.
Adquirir un Transfer Appliance es muy sencillo. En laGoogle Cloud consola, solicita un Transfer Appliance, indica la cantidad de datos que tienes y, a continuación, Google te enviará uno o varios dispositivos a la ubicación que hayas indicado. Tienes un plazo de varios días para transferir tus datos al dispositivo ("captura de datos") y enviarlo de vuelta a Google.
Servicio de transferencia de Storage para transferencias entre nubes
Servicio de transferencia de Storage es un servicio totalmente gestionado y altamente escalable que automatiza las transferencias de otras nubes públicas a Cloud Storage. Por ejemplo, puedes usar el servicio de transferencia de Storage para transferir datos de Amazon S3 a Cloud Storage.
En el caso de HTTP, puedes proporcionar al Servicio de transferencia de Storage una lista de URLs públicas en un formato específico.
Para usar este método, debes escribir una secuencia de comandos que proporcione el tamaño de cada archivo en bytes, junto con un hash MD5 codificado en Base64 del contenido del archivo.
A veces, el tamaño y el hash del archivo están disponibles en el sitio web de origen. Si no es así, necesitas acceso local a los archivos, en cuyo caso puede que sea más fácil usar el comando gcloud storage
, como se ha descrito anteriormente.
Si ya tienes una transferencia en curso, el Servicio de transferencia de Storage es una forma excelente de obtener datos y conservarlos, sobre todo si los transfieres desde otra nube pública.
Si quieres mover datos de otra nube que no sea compatible con el Servicio de transferencia de Storage, puedes usar el comando gcloud storage
desde una instancia de máquina virtual alojada en la nube.
Seguridad
Para muchos Google Cloud usuarios, la seguridad es lo más importante y hay diferentes niveles de seguridad disponibles. Algunos aspectos de seguridad que debes tener en cuenta son la protección de los datos en reposo (autorización y acceso al sistema de almacenamiento de origen y de 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 resumen estos aspectos de la seguridad por producto.
Producto | Datos en reposo | Datos en tránsito | Acceso al producto de transferencia |
---|---|---|---|
Transfer Appliance | Todos los datos se cifran en reposo. | Los datos están protegidos con claves gestionadas por el cliente. | Cualquier persona puede pedir un dispositivo, pero para usarlo necesita tener acceso a la fuente de datos. |
Comando gcloud storage |
Claves de acceso necesarias para acceder a Cloud Storage, que está cifrado en reposo. | Los datos se envían a través de HTTPS y se cifran en tránsito. | Cualquier persona puede descargar y ejecutar Google Cloud CLI. Deben tener permisos para los contenedores y los archivos locales para poder mover datos. |
Servicio de transferencia de Storage para datos on‐premise | Claves de acceso necesarias para acceder a Cloud Storage, que está cifrado en reposo. El proceso del agente puede acceder a los archivos locales según lo permitan los permisos del SO. | Los datos se envían a través de HTTPS y se cifran en tránsito. | Debes tener permisos de editor de objetos para acceder a los contenedores de Cloud Storage. |
Servicio de transferencia de Storage | Claves de acceso necesarias para recursos que no son deGoogle Cloud (por ejemplo, Amazon S3). Se necesitan claves de acceso para acceder a Cloud Storage, que está cifrado en reposo. | Los datos se envían a través de HTTPS y se cifran en tránsito. | Debes tener permisos de gestión de identidades y accesos para la cuenta de servicio con el fin de acceder a los permisos de editor de origen y de objeto de cualquier cubo de Cloud Storage. |
Para conseguir mejoras de seguridad básicas, las transferencias online a
Google Cloud mediante el comando gcloud storage
se realizan a través de HTTPS, los datos se cifran en tránsito y todos los datos de
Cloud Storage se cifran en reposo de forma predeterminada.
Si usas Transfer Appliance, las llaves de seguridad que controles pueden ayudarte a proteger tus datos. Por lo general, te recomendamos que te pongas en contacto con tu equipo de seguridad para asegurarte de que tu plan de transferencia cumpla los requisitos de tu empresa y los normativos.
Productos de transferencia de terceros
Si quieres aplicar optimizaciones avanzadas a la red o desplegar flujos de trabajo continuos de transferencia de datos, quizá te interesen las herramientas aún más sofisticadas. Para obtener información sobre herramientas más avanzadas, consulta la página de Google Cloud partners.
Paso 4: Evaluar los enfoques de migración de datos
Cuando migres datos, puedes seguir estos pasos generales:
- Transfiere los datos del sitio antiguo al nuevo.
- Resuelve los problemas de integración de datos que surjan, como la sincronización de los mismos datos de varias fuentes.
- Valida la migración de datos.
- Convierte el nuevo sitio en la copia principal.
- Cuando ya no necesites el sitio antiguo como opción alternativa, retíralo.
Debe basar su estrategia 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 supone una ventana de cambio mientras migras los datos?
- ¿Cuál es tu modelo de coherencia de datos actual?
No hay una estrategia mejor que otra, sino que la elección depende del entorno y de tus requisitos.
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 datos
Cada enfoque aborda diferentes problemas, en función de la escala 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 métodos son útiles para la migración de datos. También son útiles durante el periodo de transición necesario para modernizar tu infraestructura y usar el enfoque de microservicios de acceso a datos.
En el siguiente gráfico se muestran los tamaños de las ventanas de cambio, el esfuerzo de refactorización y las propiedades de flexibilidad de cada uno de estos enfoques.
Antes de seguir cualquiera de estos métodos, asegúrate de haber configurado la infraestructura necesaria en el nuevo entorno.
Mantenimiento programado
El enfoque de mantenimiento programado (también llamado migración única o big bang) es ideal si tus cargas de trabajo pueden permitirse una ventana de cambio. Se programa en el sentido de que puedes planificar cuándo se producirá la ventana de cambio.
En este enfoque, la migración consta de los siguientes pasos:
- Copia los datos del sitio antiguo en el nuevo. Esta copia inicial minimiza el periodo de transición. Después de esta copia inicial, solo tienes que copiar los datos que hayan cambiado durante este periodo.
- Realiza validaciones de datos y comprobaciones de coherencia para comparar los datos del sitio antiguo con los datos copiados en el nuevo sitio.
- Detén las cargas de trabajo y los servicios que tengan acceso de escritura a los datos copiados para que no se produzcan más cambios.
- Sincroniza los cambios que se hayan producido después de la copia inicial.
- Refactoriza las cargas de trabajo y los servicios para usar el nuevo sitio.
- Inicia tus cargas de trabajo y servicios.
- Cuando ya no necesites el sitio antiguo como opción alternativa, retíralo.
Con el enfoque de mantenimiento programado, la mayor parte de la carga recae en el equipo de operaciones, ya que se necesita una refactorización mínima de la carga de trabajo y los servicios.
Replicación continua
Como no todas las cargas de trabajo pueden permitirse una ventana de cambio prolongada, puedes aprovechar el enfoque de mantenimiento programado proporcionando un mecanismo de replicación continua después de los pasos iniciales de copia y validación. Cuando diseñes 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 sincronizados dos sistemas.
El enfoque de replicación continua (también llamado migración online o migración gradual) es más complejo que el enfoque de mantenimiento programado. Sin embargo, la replicación continua minimiza el tiempo del periodo de transición necesario, ya que reduce la cantidad de datos que debes sincronizar.La secuencia de una migración con replicación continua es la siguiente:
- Copia los datos del sitio antiguo en el nuevo. Esta copia inicial minimiza el periodo de transición. Después de la copia inicial, solo tienes que copiar los datos que hayan cambiado durante este periodo.
- Realiza validaciones de datos y comprobaciones de coherencia para comparar los datos del sitio antiguo con los datos copiados en el nuevo sitio.
- Configura un mecanismo de replicación continua del sitio antiguo al nuevo.
- Detén las cargas de trabajo y los servicios que tengan acceso a los datos que quieras migrar (es decir, los datos implicados en el paso anterior).
- Refactoriza las cargas de trabajo y los servicios para usar el nuevo sitio.
- Espere a que la replicación sincronice completamente el nuevo sitio con el antiguo.
- Inicia tus cargas de trabajo y servicios.
- Cuando ya no necesites el sitio antiguo como opción alternativa, retíralo.
Al igual que ocurre con el enfoque de mantenimiento programado, el enfoque de replicación continua supone una mayor carga para el equipo de operaciones.
Y (escritura y lectura)
Si tus cargas de trabajo tienen requisitos de alta disponibilidad estrictos y no puedes permitirte el tiempo de inactividad que supone una ventana de cambio, debes adoptar un enfoque diferente. En este caso, puedes usar un método que en este documento se denomina Y (escritura y lectura), que es una forma de migración paralela. Con este enfoque, la carga de trabajo escribe y lee datos tanto en el sitio antiguo como en el nuevo durante la migración. La letra Y se usa aquí como representación gráfica del flujo de datos durante el periodo de migración.
Este enfoque se resume de la siguiente manera:
- Refactoriza las cargas de trabajo y los servicios para escribir datos tanto en el sitio antiguo como en el nuevo, y para leer datos del sitio antiguo.
- Identifica los datos que se escribieron antes de habilitar las escrituras en el nuevo sitio y cópialos del sitio antiguo al nuevo. Junto con la refactorización anterior, esto asegura que los almacenes de datos estén alineados.
- Realiza validaciones de datos y comprobaciones de coherencia que comparen los datos del sitio antiguo con los del nuevo.
- Cambia las operaciones de lectura del sitio antiguo al nuevo.
- Realiza otra ronda de validación de datos y comprobaciones de coherencia para comparar los datos del sitio antiguo con los del nuevo.
- Inhabilita la escritura en el sitio antiguo.
- Cuando ya no necesites el sitio antiguo como opción alternativa, retíralo.
A diferencia de los enfoques de mantenimiento programado y replicación continua, el enfoque de escritura y lectura traslada la mayor parte del trabajo del equipo de operaciones al de desarrollo debido a las múltiples refactorizaciones.
Microservicio de acceso a datos
Si quieres 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 refactorizando las cargas de trabajo y los 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 proxy de esa capa. De los enfoques que se han tratado en este artículo, este es el que te ofrece la máxima flexibilidad, ya que puedes refactorizar este componente sin que afecte a otros componentes de la arquitectura y sin necesidad de una ventana de cambio.
Usar un microservicio de acceso a datos es muy parecido al enfoque de escritura y lectura. La diferencia es que las tareas de refactorización se centran únicamente en el microservicio de acceso a 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:
- Refactoriza el microservicio de acceso a datos para que escriba datos tanto en el sitio antiguo como en el nuevo. Las lecturas se realizan en el sitio antiguo.
- Identifica los datos que se escribieron antes de habilitar las escrituras en el nuevo sitio y cópialos del sitio antiguo al nuevo. Junto con la refactorización anterior, esto asegura que los almacenes de datos estén alineados.
- Realiza validaciones de datos y comprobaciones de coherencia comparando los datos del sitio antiguo con los del nuevo.
- Refactoriza el microservicio de acceso a datos para que lea del nuevo sitio.
- Realiza otra ronda de validación de datos y comprobaciones de coherencia comparando los datos del sitio antiguo con los del nuevo.
- Refactoriza el microservicio de acceso a datos para que solo escriba en el nuevo sitio.
- Cuando ya no necesites el sitio antiguo como opción alternativa, retíralo.
Al igual que el enfoque de Y (escritura y lectura), el enfoque de microservicio de acceso a datos supone la mayor parte de la carga para el desarrollo. Sin embargo, es mucho más ligero que el enfoque Y (escritura y lectura), ya que los esfuerzos de refactorización se centran en el microservicio de acceso a datos.
Paso 5: Preparar la transferencia
Si se trata de una transferencia grande o con dependencias significativas, es importante que sepas cómo usar el producto de transferencia. Los clientes suelen seguir estos pasos:
- Precios y estimación del retorno de la inversión. Este paso ofrece muchas opciones para ayudarte a tomar decisiones.
Pruebas funcionales. En este paso, confirmas que el producto se puede configurar correctamente y que la conectividad de red (si procede) funciona. También debes comprobar que puedes mover una muestra representativa de tus datos (incluidos los pasos no relacionados con la transferencia, como mover una instancia de VM) al destino.
Normalmente, puedes completar 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:
- Confirma que puedes instalar y utilizar la transferencia.
- Detecta posibles problemas que impidan que se complete un proyecto y que bloqueen el movimiento de datos (por ejemplo, rutas de red) o tus operaciones (por ejemplo, si se necesita formación en un paso que no es de transferencia).
Pruebas de rendimiento. En este paso, ejecutas una transferencia en una muestra grande de tus datos (normalmente, entre el 3 y el 5%) después de que se hayan asignado los recursos de producción para hacer lo siguiente:
- Confirma que puedes consumir todos los recursos asignados y alcanzar las velocidades que esperas.
- Identifica y corrige los cuellos de botella (por ejemplo, un sistema de almacenamiento de origen lento).
Paso 6: Asegurar la integridad de la 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 el destino para limitar los daños que puedan ocasionar las eliminaciones accidentales.
- Valide sus datos antes de eliminar los datos de origen.
En 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 de origen subyacente de tan solo el 0,0001% sigue provocando una pérdida de datos de miles de archivos y gigabytes. Normalmente, las aplicaciones que se ejecutan en la fuente ya toleran estos errores, por lo que no es necesario realizar una validación adicional. En algunos casos excepcionales (por ejemplo, en el archivo a largo plazo), es necesario realizar más validaciones antes de que se considere seguro eliminar los datos de la fuente.
En función de los requisitos de tu aplicación, te recomendamos que hagas algunas pruebas de integridad de datos después de completar la transferencia para asegurarte de que la aplicación sigue funcionando correctamente. Muchos productos de transferencia tienen comprobaciones de integridad de datos integradas. Sin embargo, en función de tu perfil de riesgo, puede que quieras hacer una serie de comprobaciones adicionales en los datos y en las aplicaciones que leen esos datos antes de eliminar los datos de la fuente. Por ejemplo, puede confirmar si una suma de comprobación que ha registrado y calculado de forma independiente coincide con los datos escritos en el destino o si un conjunto de datos utilizado por la aplicación se ha transferido correctamente.
Siguientes pasos
- Consulta cuándo pedir ayuda para tus migraciones.
- Para ver más arquitecturas de referencia, diagramas y prácticas recomendadas, consulta el centro de arquitectura de Cloud.
Colaboradores
Autores:
- Marco Ferrari | Arquitecto de soluciones en la nube
- Ross Thomson | Arquitecto de soluciones en la nube