En este documento de Google Cloud Architecture Framework , se proporcionan prácticas recomendadas para implementar un sistema en función de tu almacenamiento. Aprenderás a seleccionar una estrategia de almacenamiento y a administrar el almacenamiento, los patrones de acceso y las cargas de trabajo.
Para facilitar el intercambio de datos y crear copias de seguridad y almacenar datos de forma segura, las organizaciones deben elegir un plan de almacenamiento según la carga de trabajo, las operaciones de entrada y salida por segundo (IOPS), la latencia, la frecuencia de recuperación, la ubicación, la capacidad y el formato (bloque, archivo y objeto).
Cloud Storage proporciona servicios de almacenamiento de objetos confiables y seguros, que incluyen los siguientes:
- Opciones de redundancia integradas para proteger los datos contra fallas del equipo y garantizar la disponibilidad de datos durante el mantenimiento del centro de datos.
- Opciones de transferencia de datos, incluidas las siguientes:
- Clases de almacenamiento que admitan tus cargas de trabajo
- Sumas de verificación calculadas para todas las operaciones de Cloud Storage que permiten a Google verificar lecturas y escrituras.
En Google Cloud, la cantidad de IOPS se escala según el espacio de almacenamiento aprovisionado. Algunos tipos de almacenamiento, como Persistent Disk, requieren replicación manual y copia de seguridad porque son zonales o regionales. En contraposición, el almacenamiento de objetos tiene alta disponibilidad y replica datos automáticamente en una sola región o entre varias regiones.
Tipo de almacenamiento
En esta sección, se proporcionan prácticas recomendadas para elegir un tipo de almacenamiento compatible con tu sistema.
Evalúe las opciones para sus necesidades de almacenamiento de alto rendimiento
Considera los discos persistentes o las unidades de estado sólido (SSD) locales para las aplicaciones de procesamiento que requieran almacenamiento de alto rendimiento. Cloud Storage es un almacén de objetos inmutable con control de versiones. El uso de Cloud Storage con Cloud CDN ayuda a optimizar los costos, en especial para los objetos estáticos a los que se accede con frecuencia.
Filestore admite aplicaciones con múltiples operaciones de escritura que necesitan un espacio compartido de alto rendimiento. Filestore también admite aplicaciones heredadas y modernas que requieren operaciones de archivo similares a POSIX, a través de activaciones de Network File System (NFS).
Cloud Storage es útil para casos de uso como la creación de data lakes y el cumplimiento de requisitos de archivo. Es necesario evaluar las características y los costos de las distintas clases de almacenamiento de Cloud Storage, ya que los costos del acceso y de la recuperación varían. Esto es especialmente importante a la hora de configurar las políticas de retención. Si quieres obtener más información, consulta Diseña una estrategia de almacenamiento óptima para tu carga de trabajo en la nube.
De forma predeterminada, todas las opciones de almacenamiento se encriptan en reposo y en tránsito mediante claves administradas por Google. Para los tipos de almacenamiento como Persistent Disk y Cloud Storage, puedes proporcionar tu propia clave o administrarlos a través de Cloud Key Management Service (Cloud KMS). Define una estrategia para manejar esas claves antes de emplearlas en datos de producción.
Elige los servicios de Google Cloud para admitir el diseño de almacenamiento
Para obtener información sobre los servicios de Google Cloud que admiten el diseño de almacenamiento, usa la siguiente tabla:
Servicio de Google Cloud | Descripción |
---|---|
Cloud Storage | Ofrece almacenamiento y recuperación de cualquier cantidad de datos en todo el mundo y en cualquier momento.
Cloud Storage puede usarse para diversos tipos de situaciones, como la entrega
de contenido de sitios web, el almacenamiento de datos para el archivado y la recuperación ante desastres, o
la distribución de objetos de datos grandes a los usuarios a través de descargas directas. Para obtener más información, consulta lo siguiente: |
Persistent Disk | Almacenamiento en bloque de alto rendimiento para Google Cloud. Persistent Disk proporciona almacenamiento SSD y unidad de disco duro (HDD) que puedes adjuntar a las instancias que se ejecutan en Compute Engine o Google Kubernetes Engine (GKE).
|
Filestore | Un servicio de almacenamiento de archivos administrado para aplicaciones que requieren una interfaz de sistema de archivos y un sistema de archivos compartido para los datos. Filestore brinda a los usuarios una experiencia sin interrupciones para combinar el almacenamiento conectado a la red (NAS) administrado con sus instancias de Compute Engine y Google Kubernetes Engine. |
Cloud Storage para Firebase | Creado para desarrolladores de apps que necesitan almacenar y entregar contenido generado por los usuarios, como fotos o videos. Todos los archivos se almacenan en buckets de Cloud Storage, por lo que son accesibles tanto desde Firebase como desde Google Cloud. |
Elige una estrategia de almacenamiento
Para seleccionar una estrategia de almacenamiento que cumpla con los requisitos de tu aplicación, usa la siguiente tabla:
Caso práctico | Recomendaciones |
---|---|
Quieres almacenar datos a gran escala al menor costo y el rendimiento de acceso no es un problema. | Cloud Storage |
Ejecutas aplicaciones de procesamiento que necesitan almacenamiento inmediato. Para obtener más información, consulta Optimiza el rendimiento de Persistent Disk y los SSD locales. |
Persistent Disk o SSD local |
Ejecutas cargas de trabajo de alto rendimiento que necesitan acceso de lectura y escritura al espacio compartido. | Filestore |
Tienes casos de uso de computación de alto rendimiento (HPC) o de computación de alta capacidad de procesamiento (HTC). | Usa clústeres para computación técnica a gran escala en la nube |
Elija entre almacenamiento activo o de archivos según sus necesidades de acceso al almacenamiento
Una clase de almacenamiento es una parte de los metadatos que usa cada objeto. Para los datos que se entregan a una velocidad alta con alta disponibilidad, usa la clase de almacenamiento Standard Storage. Para los datos a los que se accede con poca frecuencia y que pueden tolerar una disponibilidad un poco menor, usa la clase Nearline Storage, Coldline Storage o Archive Storage. Si deseas obtener más información sobre las consideraciones de costos para elegir una clase de almacenamiento, consulta Precios de Cloud Storage.
Evalúa las necesidades de protección de datos y ubicación de almacenamiento para Cloud Storage
En un bucket de Cloud Storage ubicado en una región, los datos que contiene se replican de forma automática en las zonas dentro de la región. La replicación de datos entre distintas zonas protege los datos si hay una falla zonal dentro de una región.
Cloud Storage también ofrece ubicaciones redundantes en todas las regiones, lo que significa que los datos se replican en varios centros de datos separados a nivel geográfico. Para obtener más información, consulte Ubicaciones de depósitos.
Use Cloud CDN para mejorar la entrega de objetos estáticos
Para optimizar el costo de recuperación de objetos y minimizar la latencia de acceso, usa Cloud CDN. Cloud CDN usa el balanceador de cargas de aplicaciones externo de Cloud Load Balancing para proporcionar enrutamiento, verificaciones de estado y asistencia de direcciones IP Anycast. Para obtener más información, consulte cómo configurar Cloud CDN con buckets.
Patrón de acceso al almacenamiento y tipo de carga de trabajo
En esta sección, se proporcionan prácticas recomendadas para elegir patrones de acceso de almacenamiento y tipos de cargas de trabajo a fin de que sean compatibles con tu sistema.
Usa Persistent Disk para admitir el acceso de almacenamiento de alto rendimiento
Los patrones de acceso a los datos dependen de cómo se diseñe el rendimiento del sistema. Cloud Storage proporciona almacenamiento escalable, pero no es una opción ideal cuando se ejecutan cargas de trabajo que requieren mucha capacidad de procesamiento necesitan acceso de alta capacidad a grandes cantidades de datos. Para el acceso a almacenamiento de alto rendimiento, usa Persistent Disk.
Use la retirada exponencial cuando implemente la lógica de reintentos
Use la retirada exponencial cuando implemente la lógica de reintento para manejar errores 5XX, 408 y 429. Cada bucket de Cloud Storage se aprovisiona con capacidad de E/S inicial. Para obtener más información, consulte los lineamientos de distribución de acceso y porcentaje de solicitudes. Planifique un incremento gradual para las solicitudes de reintento.
Administración de almacenamiento
En esta sección, se proporcionan prácticas recomendadas para que la administración del almacenamiento sea compatible con tu sistema.
Asigne un nombre único a cada bucket
Haga que cada nombre de bucket sea único en el espacio de nombres de Cloud Storage. No incluya información sensible en el nombre de un bucket. Elige nombres de buckets y objetos que sean difíciles de adivinar. Si deseas obtener más información, consulta los lineamientos para asignar nombres a buckets y los lineamientos a fin de asignar nombres a objetos.
Mantenga los buckets de Cloud Storage privados
A menos que haya un motivo relacionado con la empresa, asegúrate de que el bucket de Cloud Storage no sea accesible de forma anónima o pública. Para obtener más información, consulta Descripción general del control de acceso.
Asigne nombres aleatorios a los objetos a fin de distribuir la carga de manera pareja
Asigna nombres aleatorios a los objetos para facilitar el rendimiento y evitar la generación de hotspots. Use un prefijo aleatorizado para los objetos siempre que sea posible. Para obtener más información, consulta Usa una convención de nombres que distribuya las cargas de manera uniforme entre los rangos de claves.
Usa la prevención de acceso público
A fin de evitar accesos indeseados a nivel de la organización, las carpetas, los proyectos o los buckets, usa la prevención de acceso público. Para obtener más información, consulta Usa la prevención de acceso público.
¿Qué sigue?
Obtén información sobre los servicios de base de datos de Google Cloud y las prácticas recomendadas, incluidos los siguientes:
- Selecciona y migra tu base de datos.
- Administra la encriptación de base de datos.
- Administra las herramientas de redes y el acceso de bases de datos.
Explora otras categorías en el framework de arquitectura, como la confiabilidad, la excelencia operativa y la seguridad, la privacidad y el cumplimiento.