El caso

Todo en el mismo cajón. Pruebas, tienda y contador en el mismo lugar.

Isaac decidió llevar la tienda a Google Cloud. En una semana, creó la tienda de verdad, un entorno de pruebas y una carpeta de informes para el contador, todo mezclado.

El contador veía los servidores de la tienda. El costo de la prueba y el de producción llegaban en una sola línea. Y nadie sabía, al mirar un recurso, a quién pertenecía.

Este post parte de Fundamentos de la nube, de Regiones y zonas y de Seguridad y responsabilidad compartida en la nube. De aquí en adelante, los posts de la ruta usan los productos de Google Cloud.

El problema

Sin organización, todo se mezcla

Crear recursos es fácil. Lo difícil es responder, meses después, tres preguntas:

  • ¿Quién puede cambiar qué? Los permisos son iguales para todos.
  • ¿Cuánto cuesta cada parte? La factura se convierte en una lista única.
  • ¿Qué es prueba y qué es producción? Un error en uno afecta al otro.

La solución

La jerarquía de recursos

Google Cloud organiza todo en un árbol de cuatro niveles:

  • Organización (organization): la raíz, que representa a la empresa.
  • Carpetas (folders): agrupan proyectos y otras carpetas, por equipo, entorno o área.
  • Proyectos (projects): el contenedor de trabajo. Todo recurso pertenece a un proyecto.
  • Recursos (resources): las VM, los buckets, las bases de datos.
OrganizaciónCarpetasProyectosRecursosTienda de IsaacProducciónPruebastienda-prodtienda-pruebaVMBucketVMBucketUn permiso dado arriba vale para todo lo que está abajo.
La jerarquía de recursos de Isaac. Los nombres son ejemplos.

El proyecto es la pieza central. Reúne los recursos, las APIs habilitadas (cada servicio tiene que activarse en el proyecto antes de usarse) y la vinculación con la facturación. Todo proyecto tiene un nombre, un ID único en el mundo (que no cambia) y un número.

Los permisos (IAM, como vimos en Seguridad y responsabilidad compartida en la nube) siguen el árbol: un permiso concedido en una carpeta vale para los proyectos y recursos dentro de ella. Es la herencia. Sin permiso explícito, el acceso se niega.

No confundas

Proyecto × cuenta de facturación

Los exámenes suelen preguntar quién paga y quién agrupa.

Proyecto (project)

“¿Dónde viven los recursos y las APIs?”

Ejemplo
El proyecto tienda-produccion, con la VM y el bucket de la tienda.
Foco
Agrupa recursos y define el límite de acceso.

Cuenta de facturación (billing account)

“¿Quién paga los gastos?”

Ejemplo
Una tarjeta de la empresa, que paga los proyectos de la tienda y el de prueba.
Foco
Paga uno o más proyectos. Un proyecto sin cuenta de facturación activa no usa servicios pagos.

Por debajo

La infraestructura global

Debajo de la jerarquía está la infraestructura física, con los conceptos de Regiones y zonas:

  • Regiones (regions): áreas geográficas, como São Paulo (southamerica-east1). Google Cloud tiene más de 40 regiones.
  • Zonas (zones): dentro de cada región, en general tres o más, como southamerica-east1-a. Un recurso vive en una zona o en una región, según el servicio.
  • Ubicaciones de borde (edge locations): cientos de puntos que acercan el contenido al usuario, como vimos en Latencia.
  • Red privada global: el tráfico entre las regiones de Google viaja por la fibra propia de Google, y no por internet pública.

Algunos servicios, como el almacenamiento y el análisis de datos, también tienen ubicaciones multirregionales: el dato se replica entre varias regiones de una misma área.

En la práctica

Tres formas de usarlo

Consola

La interfaz web. Buena para explorar, crear recursos y mirar la factura.

En la tienda: Isaac abre el panel para ver el costo del mes.

Cloud Shell y gcloud

Una terminal en el navegador, con la herramienta de línea de comandos gcloud ya instalada.

En la tienda: crear una VM con un solo comando, sin instalar nada.

APIs

Todo lo que hace la consola también es posible por API, para automatizar.

En la tienda: un script que crea el entorno de prueba.

Cómo organizaría Isaac la tienda:

Lo que necesitaCómo resolverlo
Separar producción y pruebaUn proyecto para cada entorno, en carpetas distintas
El contador ve solo los informesPermiso de lectura solo en su proyecto, y no en la organización
Saber el costo de cada entornoUn proyecto por entorno, con la misma cuenta de facturación
Dar acceso a todos los proyectos de producciónConceder el permiso en la carpeta Producción

Términos clave

Seis términos para recordar

Toca la tarjeta para ver la definición.

ArquitecturaFinanciero

Prueba rápida

Tres preguntas, estilo examen

01

Un permiso se concede a una carpeta. ¿A quién se aplica?

02

En Google Cloud, ¿qué unidad reúne los recursos, las APIs habilitadas y la vinculación con la facturación?

03

¿Cuántas zonas suele tener una región de Google Cloud?


Para Google Cloud, casi todo empieza por el proyecto: ahí viven los recursos, las APIs y la facturación, y la jerarquía que está encima decide quién accede a qué. Con la tienda de Isaac organizada en carpetas y proyectos, el siguiente paso de la ruta es poner la tienda en marcha: Compute Engine, la computación en Google Cloud.