Esta guía te ayuda a evaluar los requisitos de almacenamiento de tu carga de trabajo en la nube, a conocer las opciones de almacenamiento disponibles en Google Cloudy a diseñar una estrategia de almacenamiento que te proporcione un valor empresarial óptimo.
Para ver un resumen visual de las principales recomendaciones de diseño, consulta el diagrama de árbol de decisiones.
Para obtener información sobre cómo seleccionar servicios de almacenamiento para cargas de trabajo de IA y aprendizaje automático, consulta Diseñar el almacenamiento para cargas de trabajo de IA y aprendizaje automático en Google Cloud.
Descripción general del proceso de diseño
Como arquitecto de soluciones en la nube, cuando planifiques el almacenamiento de una carga de trabajo en la nube, primero debes tener en cuenta las características funcionales de la carga de trabajo, las restricciones de seguridad, los requisitos de resiliencia, las expectativas de rendimiento y los objetivos de costes. A continuación, debes revisar los servicios y las funciones de almacenamiento disponibles enGoogle Cloud. A continuación, en función de tus requisitos y de las opciones disponibles, selecciona los servicios y las funciones de almacenamiento que necesites. En el siguiente diagrama se muestra este proceso de diseño de tres fases:
Define tus requisitos
Usa los cuestionarios de esta sección para definir los requisitos de almacenamiento de claves de la carga de trabajo que quieras implementar en Google Cloud.
Directrices para definir los requisitos de almacenamiento
Cuando respondas a los cuestionarios, ten en cuenta las siguientes directrices:
Definir los requisitos de forma granular
Por ejemplo, si tu aplicación necesita almacenamiento de archivos basado en el sistema de archivos de red (NFS), identifica la versión de NFS necesaria.
Tener en cuenta los requisitos futuros
Por ejemplo, tu implementación actual puede atender a usuarios de países de Asia, pero puede que tengas previsto ampliar tu negocio a otros continentes. En este caso, ten en cuenta los requisitos normativos relacionados con el almacenamiento de los nuevos territorios empresariales.
Tener en cuenta las oportunidades y los requisitos específicos de la nube
Aprovecha las oportunidades específicas de la nube.
Por ejemplo, para optimizar el coste de almacenamiento de los datos almacenados en Cloud Storage, puedes controlar la duración del almacenamiento mediante políticas de retención de datos y configuraciones de ciclo de vida.
Ten en cuenta los requisitos específicos de la nube.
Por ejemplo, los datos locales pueden estar en un solo centro de datos y es posible que tengas que replicar los datos migrados en dos ubicaciones para que haya redundancia.Google Cloud
Cuestionarios
Los cuestionarios que se incluyen a continuación no son listas de comprobación exhaustivas para la planificación. Úsalos como punto de partida para analizar sistemáticamente todos los requisitos de almacenamiento de la carga de trabajo que quieras implementar en Google Cloud.
Evaluar las características de la carga de trabajo
¿Qué tipo de datos necesitas almacenar?
Ejemplos
- Contenido de sitios web estáticos
- Copias de seguridad y archivos para la recuperación tras fallos
- Registros de auditoría para cumplir los requisitos
- Objetos de datos de gran tamaño que los usuarios descargan directamente
- Datos de transacciones
- Datos no estructurados y heterogéneos
¿Cuánta capacidad necesitas? Ten en cuenta tus requisitos actuales y futuros.
¿La capacidad debe escalarse automáticamente según el uso?
¿Cuáles son los requisitos de acceso? Por ejemplo, ¿deberían poder accederse a los datos desde fuera Google Cloud?
¿Cuáles son los patrones de lectura y escritura previstos?
Ejemplos
- Escrituras y lecturas frecuentes
- Escrituras frecuentes, pero lecturas ocasionales
- Escrituras y lecturas ocasionales
- Escrituras ocasionales, pero lecturas frecuentes
¿La carga de trabajo necesita acceso basado en archivos, por ejemplo, mediante NFS?
¿Varios clientes deberían poder leer o escribir datos simultáneamente?
Identificar las restricciones de seguridad
¿Cuáles son tus requisitos de cifrado de datos? Por ejemplo, ¿necesitas usar claves que controles?
¿Hay algún requisito de residencia de datos?
Definir los requisitos de resiliencia de los datos
- ¿Tu carga de trabajo necesita almacenamiento en caché de baja latencia o espacio de almacenamiento temporal?
- ¿Necesitas replicar los datos en la nube para tener redundancia?
- ¿Necesita una coherencia estricta de lectura y escritura para los conjuntos de datos replicados?
Define las expectativas de rendimiento
¿Cuál es la tasa de E/S necesaria?
¿Qué niveles de rendimiento de lectura y escritura necesita tu aplicación?
¿En qué entornos necesitas almacenamiento? En una carga de trabajo determinada, es posible que necesites un almacenamiento de alto rendimiento para el entorno de producción, pero que puedas elegir una opción de menor rendimiento para los entornos que no sean de producción.
Revisar las opciones de almacenamiento
Google Cloud ofrece servicios de almacenamiento para todos los formatos de almacenamiento clave: en bloques, de archivos y de objetos. Revisa y evalúa las funciones, las opciones de diseño y las ventajas relativas de los servicios disponibles para cada formato de almacenamiento.
Información general
Almacenamiento en bloques
Los datos que almacenas en el almacenamiento en bloques se dividen en fragmentos, cada uno de los cuales se almacena como un bloque independiente con una dirección única. Las aplicaciones acceden a los datos haciendo referencia a las direcciones de bloque adecuadas. El almacenamiento en bloques está optimizado para cargas de trabajo con un número elevado de operaciones de entrada/salida por segundo, como el procesamiento de transacciones. Es similar a las redes de área de almacenamiento (SAN) y a los sistemas de almacenamiento de conexión directa (DAS) locales.
Las opciones de almacenamiento en bloque de Google Cloud forman parte del servicio Compute Engine.
Opción | Información general |
---|---|
Persistent Disk | Unidades de disco duro (HDD) y unidades de estado sólido (SSD) dedicadas para aplicaciones empresariales y de bases de datos desplegadas en máquinas virtuales de Compute Engine y clústeres de Google Kubernetes Engine (GKE). |
Google Cloud Hyperdisk | Almacenamiento de red rápido y redundante para máquinas virtuales de Compute Engine y clústeres de GKE, con un rendimiento configurable y volúmenes cuyo tamaño se puede cambiar de forma dinámica. |
SSD local | Almacenamiento en bloques efímero y conectado de forma local para aplicaciones de alto rendimiento. |
Almacenamiento de archivos
Los datos se organizan y se representan en una jerarquía de archivos que se almacenan en carpetas, de forma similar al almacenamiento conectado a una red (NAS) local. Los sistemas de archivos se pueden montar en clientes mediante protocolos como NFS y SMB. Las aplicaciones acceden a los datos mediante el nombre de archivo y la ruta de directorio correspondientes.
Google Cloud ofrece una gama de soluciones totalmente gestionadas y de terceros para el almacenamiento de archivos.
Solución | Información general |
---|---|
Filestore |
Almacenamiento basado en archivos mediante servidores de archivos NFS para máquinas virtuales de Compute Engine y clústeres de Google Kubernetes Engine. Puedes elegir un nivel de servicio (Básico, Por zonas o Regional) que se adapte a tu caso práctico. |
Google Cloud Managed Lustre |
Sistema de archivos paralelos de baja latencia para IA, computación de alto rendimiento (HPC) y aplicaciones que requieren muchos datos. |
NetApp Volumes | Almacenamiento basado en archivos mediante NFS o SMB. Puedes elegir el nivel de servicio que mejor se adapte a tu caso práctico (Flexible, Estándar, Premium o Extremo). |
Más opciones | Consulta el Resumen de las opciones de servidor de archivos. |
Almacenamiento de objetos
Los datos se almacenan como objetos en una jerarquía plana de segmentos. A cada objeto se le asigna un ID único global. Los objetos pueden tener metadatos asignados por el sistema y definidos por el usuario para ayudarte a organizar y gestionar los datos. Las aplicaciones acceden a los datos haciendo referencia a los IDs de objeto mediante APIs REST o bibliotecas de cliente.
Cloud Storage proporciona almacenamiento de objetos ilimitado, de alta durabilidad y a un coste bajo para diversos tipos de datos. Puedes acceder a los datos que almacenes en Cloud Storage desde cualquier lugar, tanto dentro como fuera de Google Cloud. La redundancia opcional entre regiones proporciona la máxima fiabilidad. Puede seleccionar una clase de almacenamiento que se adapte a sus requisitos de conservación de datos y frecuencia de acceso.
Análisis comparativo
En la siguiente tabla se enumeran las funciones clave de los servicios de almacenamiento deGoogle Cloud.
Persistent Disk | Hyperdisk | SSD local | Filestore | Managed Lustre | NetApp Volumes | Cloud Storage | |
---|---|---|---|---|---|---|---|
Capacidad |
De 10 GiB a 64 TiB por disco Hasta 257 TiB por VM |
De 4 GiB a 64 TiB por disco Hasta 512 TiB por VM De 10 TiB a 1 PiB por grupo de almacenamiento |
375 GiB por disco Hasta 12 TiB por VM Titanium SSD es una opción de SSD local con mayor capacidad. |
De 1 a 100 TiB por instancia | De 18 TiB a 8 PiB | De 1 TiB a 10 PiB por grupo de almacenamiento De 1 GiB a 1 PiB por volumen |
Sin límite inferior ni superior |
Escalado |
|
Escalar verticalmente | No escalable |
|
No escalable | Escalar verticalmente | Se escala automáticamente en función del uso |
Compartir |
Compatible | Compatible | No se puede compartir | Se puede montar en varias máquinas virtuales de Compute Engine, clientes remotos y clústeres de GKE | Se puede montar en varias máquinas virtuales de Compute Engine y clústeres de GKE. | Se puede montar en varias máquinas virtuales de Compute Engine y clústeres de GKE |
|
Opciones de clave de cifrado |
|
|
Google-owned and Google-managed encryption keys |
|
Google-owned and Google-managed encryption keys |
|
|
Persistencia |
Tiempo de vida del disco | Tiempo de vida del disco | Efímero (los datos se pierden cuando se detiene o se elimina la VM) | Tiempo de vida de la instancia de Filestore | Tiempo de vida de la instancia de Managed Lustre | Tiempo de vida del volumen | Tiempo de vida del segmento |
Disponibilidad |
|
|
Por zonas |
|
Por zonas |
|
|
Rendimiento |
Escalado lineal con el tamaño del disco y el número de CPUs | Almacenamiento persistente con escalado dinámico | Almacenamiento de alto rendimiento para archivos temporales |
|
Escalado lineal con capacidad aprovisionada | Rendimiento escalable Las expectativas dependen del nivel de servicio |
|
Gestión |
Formatear y montar manualmente | Formatear y montar manualmente | Dar formato, franjear y montar manualmente | Totalmente gestionado | Totalmente gestionado | Totalmente gestionado | Totalmente gestionado |
En la siguiente tabla se enumeran los tipos de cargas de trabajo para los que es adecuada cada opción de almacenamiento: Google Cloud
Opción de almacenamiento | Tipos de cargas de trabajo |
---|---|
Persistent Disk |
|
Hyperdisk |
|
SSD local |
|
Filestore |
|
Managed Lustre |
|
NetApp Volumes |
|
Cloud Storage |
|
Elegir una opción de almacenamiento
Para seleccionar una opción de almacenamiento, hay que hacer dos cosas:
- Decidir qué servicios de almacenamiento necesitas.
- Elegir las funciones y las opciones de diseño necesarias en un servicio concreto.
Ejemplos de funciones y opciones de diseño específicas de un servicio
Persistent Disk
- Región y zona de implementación
- Replicación regional
- Tipo, tamaño e IOPS del disco (en el caso de los discos persistentes Extreme)
- Claves de cifrado: propiedad de Google y gestionadas por Google, gestionadas por el cliente o proporcionadas por el cliente
- Programación de capturas
Hyperdisk
- Zona de implementación
- Tipo, tamaño, rendimiento (en el caso de Hyperdisk Throughput) e IOPS (en el caso de Hyperdisk Extreme) del disco
- Claves de cifrado: propiedad de Google y gestionadas por Google, gestionadas por el cliente o proporcionadas por el cliente
- Programación de capturas
Filestore
- Región y zona de implementación
- Nivel de instancia
- Capacidad
- Intervalo de IP: asignado automáticamente o personalizado
- Control de acceso
NetApp Volumes
- Región de despliegue
- Nivel de servicio del grupo de almacenamiento
- Capacidad de volumen y de almacenamiento
- Protocolo de volumen
- Reglas de exportación de volúmenes
Cloud Storage
- Ubicación: varias regiones, dos regiones o una sola región
- Clase de almacenamiento: Standard, Nearline, Coldline o Archive
- Control de acceso: uniforme o pormenorizado
- Claves de cifrado: propiedad de Google y gestionadas por Google, gestionadas por el cliente o proporcionadas por el cliente
- Política de retención
Recomendaciones de almacenamiento
Usa las siguientes recomendaciones como punto de partida para elegir los servicios y las funciones de almacenamiento que se ajusten a tus necesidades. Para obtener directrices específicas sobre cargas de trabajo de IA y aprendizaje automático, consulta Diseñar almacenamiento para cargas de trabajo de IA y aprendizaje automático en Google Cloud.
También se ofrecen recomendaciones generales de almacenamiento en un árbol de decisiones más adelante en este documento.
Si las aplicaciones necesitan un sistema de archivos paralelo, usa Lustre gestionado.
En el caso de las aplicaciones que necesiten acceso basado en archivos, elige un servicio de almacenamiento de archivos adecuado en función de tus requisitos de protocolo de acceso, disponibilidad y rendimiento.
Protocolo de acceso Recomendación NFS - Si necesitas disponibilidad regional y un alto rendimiento que se adapte a la capacidad, usa Filestore Regional.
- Si la disponibilidad zonal es suficiente, pero necesitas un alto rendimiento que se adapte a la capacidad, usa Filestore Zonal o NetApp Volumes Premium o Extreme.
- De lo contrario, usa Filestore Basic o NetApp Volumes.
Para obtener información sobre las diferencias entre los niveles de servicio de Filestore, consulta Niveles de servicio.
Pymes Usa NetApp Volumes. Para las cargas de trabajo que necesiten almacenamiento principal con alto rendimiento, usa Hyperdisk, SSD local o Persistent Disk en función de tus requisitos.
Requisito Recomendación Disco de trabajo o caché rápidos Usa discos SSD locales (efímeros). Almacenamiento en bloques con rendimiento y capacidad escalables de forma independiente Usa Hyperdisk. Elige un tipo de disco adecuado en función de tus requisitos:
- Cargas de trabajo de uso general:
hyperdisk-balanced
- Cargas de trabajo con un gran número de operaciones de entrada/salida, como bases de datos de alto rendimiento:
hyperdisk-extreme
- Analíticas de escalado horizontal, unidades de datos para aplicaciones que dependen de los costes y almacenamiento en frío:
hyperdisk-throughput
- Cargas de trabajo de aprendizaje automático que necesitan un alto rendimiento en varias VMs en modo de solo lectura:
hyperdisk-ml
en modo de solo lectura - Varias VMs de una región con acceso de escritura simultáneo al mismo disco:
hyperdisk-balanced-high-availability
en modo multiescritura
Para obtener más información, consulta Acerca de Google Cloud Hyperdisk.
Almacenamiento en bloques con capacidad escalable Usa Persistent Disk. Elige un tipo de disco adecuado en función de tus requisitos:
- IOPS secuenciales:
pd-standard
- Cargas de trabajo con un uso intensivo de IOPS:
pd-extreme
opd-ssd
- Equilibrio entre rendimiento y coste:
pd-balanced
Para obtener más información, consulta Acerca de los discos persistentes.
- En función de tus requisitos de redundancia, elige entre discos zonales y regionales.
Requisito Recomendación Redundancia en una sola zona de una región Usa Hyperdisk o Persistent Disk de zona. Redundancia en varias zonas de una región Usa Hyperdisk de alta disponibilidad o Persistent Disk regional.
- Cargas de trabajo de uso general:
Si quieres un almacenamiento con escalabilidad ilimitada y disponible en todo el mundo, usa Cloud Storage.
En función de la frecuencia de acceso a los datos y de la duración del almacenamiento, elige una clase de Cloud Storage adecuada.
Requisito Recomendación> La frecuencia de acceso varía o el periodo de conservación de los datos es desconocido o no se puede predecir. Usa la función Autoclass para cambiar automáticamente los objetos de un segmento a las clases de almacenamiento adecuadas en función del patrón de acceso de cada objeto. Almacenamiento de datos a los que se accede con frecuencia, como los de analíticas de alto rendimiento, lagos de datos, sitios web, vídeos en streaming y aplicaciones móviles. Usa la clase de almacenamiento Standard.
Para almacenar en caché los datos a los que se accede con frecuencia y servirlos desde ubicaciones cercanas a los clientes, usa Cloud CDN.
En el caso de las cargas de trabajo con muchas lecturas, cambios de datos poco frecuentes y lecturas frecuentes (como el entrenamiento, la inferencia y las analíticas de aprendizaje automático), puedes mejorar el rendimiento de las lecturas y reducir los costes de transferencia de datos mediante Anywhere Cache.
Almacenamiento de bajo coste para datos a los que no se accede con frecuencia y que se pueden almacenar durante al menos 30 días (por ejemplo, copias de seguridad y contenido multimedia poco frecuente). Usa la clase de almacenamiento Nearline. Almacenamiento de bajo coste para datos a los que no se accede con frecuencia y que se pueden almacenar durante al menos 90 días (por ejemplo, para recuperación tras desastres). Usa la clase de almacenamiento Coldline. Almacenamiento de menor coste para datos a los que no se acceda con frecuencia y que se puedan almacenar durante al menos 365 días, como los archivos reglamentarios. Usa la clase de almacenamiento Archive. Para ver un análisis comparativo detallado, consulta Clases de Cloud Storage.
Opciones de transferencia de datos
Después de elegir los Google Cloud servicios de almacenamiento Google Cloudadecuados, debes transferir tus datos para desplegar y ejecutar cargas de trabajo. Los datos que necesitas transferir pueden estar en un entorno local o en otras plataformas de nube.
Puedes usar los siguientes métodos para transferir datos a Google Cloud:
- Transfiere datos online mediante el Servicio de transferencia de Storage: automatiza la transferencia de grandes cantidades de datos entre sistemas de almacenamiento de objetos y archivos, como Cloud Storage, Amazon S3, los servicios de almacenamiento de Azure y las fuentes de datos on-premise.
- Transfiere datos sin conexión a Internet con Transfer Appliance: transfiere y carga grandes cantidades de datos sin conexión a Internet Google Cloud en situaciones en las que la conectividad de red y el ancho de banda no están disponibles, son limitados o son caros.
- Subir datos a Cloud Storage: sube datos online a segmentos de Cloud Storage mediante la Google Cloud consola, la CLI de gcloud, las APIs de Cloud Storage o las bibliotecas de cliente.
Cuando elijas un método de transferencia de datos, ten en cuenta factores como el tamaño de los datos, las limitaciones de tiempo, la disponibilidad de ancho de banda, los objetivos de costes y los requisitos de seguridad y cumplimiento. Para obtener información sobre cómo planificar e implementar transferencias de datos a Google Cloud, consulta Migrar a Google Cloud: transferir conjuntos de datos grandes.
Árbol de decisión de las opciones de almacenamiento
El siguiente diagrama de flujo de toma de decisiones te guía por las Google Cloud recomendaciones de almacenamiento que hemos comentado anteriormente. Para obtener información específica sobre las cargas de trabajo de IA y aprendizaje automático, consulta Diseñar el almacenamiento para cargas de trabajo de IA y aprendizaje automático en Google Cloud.
Siguientes pasos
- Estima el coste de almacenamiento con la Google Cloud calculadora de precios.
- Consulta las prácticas recomendadas para crear una topología de nube optimizada para la seguridad, la resiliencia, los costes y el rendimiento.
- Consulta cuándo usar sistemas de archivos paralelos, como Lustre, para cargas de trabajo de HPC.
Colaboradores
Autor: Kumar Dhanagopal | Desarrollador de soluciones multiproducto
Otros colaboradores:
- Brennan Doyle | Arquitecto de soluciones
- Dean Hildebrand | Director técnico de la oficina del CTO
- Geoffrey Noer | Responsable de Producto de Grupo
- Jack Zhou | Redactor técnico
- Jason Wu | Director de Gestión de Productos
- Jeff Allen | Arquitecto de soluciones
- Samantha He | Redactora técnica
- Sean Derrington | Responsable de grupo de producto, almacenamiento