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.
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 necesita | Cómo resolverlo |
|---|---|
| Separar producción y prueba | Un proyecto para cada entorno, en carpetas distintas |
| El contador ve solo los informes | Permiso de lectura solo en su proyecto, y no en la organización |
| Saber el costo de cada entorno | Un proyecto por entorno, con la misma cuenta de facturación |
| Dar acceso a todos los proyectos de producción | Conceder el permiso en la carpeta Producción |
Términos clave
Seis términos para recordar
Toca la tarjeta para ver la definición.
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.