Arquitectura Esencial de Google Cloud: Almacenamiento, Seguridad y Gestión de APIs

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,09 KB

Almacenamiento en Google Cloud (M4)

El almacenamiento en Google Cloud Platform (GCP) se clasifica en dos tipos principales:

1. Almacenamiento No Estructurado (Objetos)

Utiliza Cloud Storage para almacenar objetos organizados en buckets. Sus clases de almacenamiento se definen según la frecuencia de acceso:

  • Standard: Para acceso frecuente.
  • Nearline: Para acceso mensual.
  • Coldline: Para acceso trimestral.
  • Archive: Para acceso anual (el costo más bajo).

2. Almacenamiento Estructurado (Bases de Datos)

Se divide según el modelo de datos:

Bases de Datos Relacionales (SQL)

  • Cloud SQL: Servicio administrado para bases de datos populares (MySQL, PostgreSQL, SQL Server). Ofrece escalabilidad vertical.
  • Cloud Spanner: Base de datos relacional global, diseñada para ofrecer escalabilidad horizontal y coherencia sólida.

Bases de Datos No Relacionales (NoSQL)

  • Datastore: Base de datos de documentos sin esquema, ideal para aplicaciones web y móviles.
  • Cloud Bigtable: Diseñada para manejar petabytes de datos con alto rendimiento analítico y operativo, utilizada internamente por servicios como Google Search.

APIs y Mensajería Asíncrona (M5)

Gestión de APIs

Las APIs REST utilizan métodos HTTP estándar (GET, POST, DELETE) para interactuar con los recursos.

  • Cloud Endpoints: Herramienta que facilita la creación y el mantenimiento de APIs en Google Cloud, basada en la especificación OpenAPI.
  • Apigee Edge: Plataforma completa para desarrollar, administrar y monetizar APIs, permitiendo la conexión de servicios en la nube con sistemas heredados (on-premise).

Mensajería Asíncrona: Cloud Pub/Sub

Cloud Pub/Sub es un servicio de mensajería global que implementa el patrón Publicador/Suscriptor:

  1. El Publicador envía el mensaje.
  2. El mensaje se dirige a un Tema (categoría).
  3. El mensaje es recibido por una Suscripción.
  4. El Suscriptor recibe el mensaje.

Las suscripciones pueden ser de dos tipos:

  • Envío (Push): Pub/Sub llama al suscriptor mediante una solicitud HTTP POST.
  • Extracción (Pull): El suscriptor solicita activamente los mensajes al servicio.

Seguridad y Gestión de Identidades (M6)

Modelo de Responsabilidad Compartida

La seguridad en la nube sigue un Modelo Compartido:

  • Google es responsable de la seguridad DE la nube (infraestructura, hardware, red).
  • El Cliente es responsable de la seguridad EN la nube (sus datos, accesos, configuración).

Opciones de Cifrado

El cifrado de datos es la configuración por defecto. Existen opciones avanzadas para la gestión de claves:

  • CMEK (Customer-Managed Encryption Keys): Claves administradas por el cliente utilizando Cloud KMS (Key Management Service).
  • CSEK (Customer-Supplied Encryption Keys): Claves proporcionadas por el cliente y almacenadas localmente.

Cloud IAM (Identity and Access Management)

Cloud IAM define la política de acceso mediante la estructura: Quién (Identidad) puede hacer Qué (Función/Rol) en Qué Recurso.

El "Quién" (Identidad)

Puede ser:

  • Una Cuenta de Google (usuario).
  • Un Grupo.
  • Un Dominio.
  • Una Cuenta de Servicio: Una identidad utilizada por software o servidores (no por humanos).

El "Qué" (Función/Rol)

Es una colección de permisos. Existen tres tipos de funciones:

  • Básicas: Muy amplias (Propietario, Editor, Visualizador).
  • Predefinidas: Granulares para servicios específicos (ej. storage.objectViewer).
  • Personalizadas: Creadas por el usuario para satisfacer necesidades específicas.

Prácticas de Acceso Recomendadas

  • IAP (Identity-Aware Proxy): Controla el acceso a aplicaciones web basándose en la identidad del usuario, eliminando la necesidad de una VPN tradicional.
  • Aplicar el “principio de privilegio mínimo”.
  • Asignar funciones a Grupos en lugar de a usuarios individuales para facilitar la administración.

Automatización y Operaciones (M8)

Infraestructura como Código (IaC)

IaC es la práctica de definir la infraestructura en plantillas de código para automatizar su aprovisionamiento y gestión.

  • Cloud Deployment Manager: Es la herramienta IaC nativa de Google. Es declarativa (se define el estado final deseado, no los pasos) y utiliza archivos de configuración YAML.

Google Cloud's Operations Suite (Antes Stackdriver)

Este conjunto de herramientas está diseñado para la observabilidad y la gestión operativa:

  • Cloud Monitoring: Para la recolección de métricas, creación de paneles y alertas.
  • Cloud Logging: Para el almacenamiento y análisis centralizado de registros (logs).
  • Error Reporting: Agrupa y notifica fallas y errores de las aplicaciones.
  • Cloud Trace: Rastrea la latencia de las solicitudes para identificar cuellos de botella en el rendimiento.
  • Cloud Debugger: Permite inspeccionar el estado de una aplicación en producción sin necesidad de detenerla.
  • Cloud Profiler: Analiza el rendimiento de CPU y memoria del código en producción.

Entradas relacionadas: