O caso
Tudo na mesma gaveta. Teste, loja e contador no mesmo lugar.
O Isaac decidiu levar a loja para o Google Cloud. Em uma semana, criou a loja de verdade, um ambiente de testes e uma pasta de relatórios para o contador, tudo misturado.
O contador via os servidores da loja. O custo do teste e o da produção chegavam numa linha só. E ninguém sabia, ao olhar um recurso, a quem ele pertencia.
Este post parte de Fundamentos da Nuvem, de Regiões e Zonas e de Responsabilidade Compartilhada. Daqui em diante, os posts da trilha usam os produtos do Google Cloud.
O problema
Sem organização, tudo se mistura
Criar recursos é fácil. Difícil é responder, meses depois, três perguntas:
- Quem pode mexer em quê? As permissões ficam iguais para todos.
- Quanto custa cada parte? A fatura vira uma lista única.
- O que é teste e o que é produção? Um erro em um afeta o outro.
A solução
A hierarquia de recursos
O Google Cloud organiza tudo numa árvore de quatro níveis:
- Organização (organization): a raiz, que representa a empresa.
- Pastas (folders): agrupam projetos e outras pastas, por time, ambiente ou área.
- Projetos (projects): o contêiner de trabalho. Todo recurso pertence a um projeto.
- Recursos (resources): as VMs, os buckets, os bancos de dados.
O projeto é a peça central. Ele reúne os recursos, as APIs ativadas (cada serviço precisa ser habilitado no projeto antes de ser usado) e a ligação com a cobrança. Todo projeto tem um nome, um ID único no mundo (que não muda) e um número.
As permissões (IAM, como vimos em Responsabilidade Compartilhada) seguem a árvore: uma permissão concedida numa pasta vale para os projetos e recursos dentro dela. É a herança. Sem permissão explícita, o acesso é negado.
Não confunda
Projeto × conta de faturamento
As provas gostam de perguntar quem paga e quem agrupa.
Projeto (project)
“Onde ficam os recursos e as APIs?”
- Exemplo
- O projeto loja-producao, com a VM e o bucket da loja.
- Foco
- Agrupa recursos e define o limite de acesso.
Conta de faturamento (billing account)
“Quem paga as despesas?”
- Exemplo
- Um cartão da empresa, que paga os projetos da loja e o de teste.
- Foco
- Paga um ou mais projetos. Um projeto sem conta de faturamento ativa não usa serviços pagos.
Por baixo
A infraestrutura global
Sob a hierarquia fica a infraestrutura física, com os conceitos de Regiões e Zonas:
- Regiões (regions): áreas geográficas, como São Paulo (
southamerica-east1). O Google Cloud tem mais de 40 regiões. - Zonas (zones): dentro de cada região, em geral três ou mais, como
southamerica-east1-a. Um recurso fica numa zona ou numa região, conforme o serviço. - Locais de borda (edge locations): centenas de pontos que aproximam o conteúdo do usuário, como vimos em Latência.
- Rede privada global: o tráfego entre as regiões do Google viaja pela fibra do próprio Google, e não pela internet pública.
Alguns serviços, como o armazenamento e a análise de dados, também têm locais multirregionais: o dado é replicado entre várias regiões de uma mesma área.
Na prática
Três jeitos de usar
Console
A interface web. Boa para explorar, criar recursos e olhar a fatura.
Na loja: o Isaac abre o painel para ver o custo do mês.
Cloud Shell e gcloud
Um terminal no navegador, com a ferramenta de linha de comando gcloud já instalada.
Na loja: criar uma VM com um comando, sem instalar nada.
APIs
Tudo o que o console faz também é possível por API, para automatizar.
Na loja: um script que cria o ambiente de teste.
Como o Isaac organizaria a loja:
| O que ele precisa | Como resolver |
|---|---|
| Separar produção e teste | Um projeto para cada ambiente, em pastas diferentes |
| O contador vê só os relatórios | Permissão de leitura só no projeto dele, e não na organização |
| Saber o custo de cada ambiente | Um projeto por ambiente, com a mesma conta de faturamento |
| Dar acesso a todos os projetos de produção | Conceder a permissão na pasta Produção |
Termos-chave
Seis termos para fixar
Toque no cartão para ver a definição.
Teste rápido
Três perguntas, estilo prova
01
Uma permissão é concedida a uma pasta. A quem ela se aplica?
02
No Google Cloud, qual é a unidade que reúne os recursos, as APIs ativadas e a ligação com a cobrança?
03
Quantas zonas uma região do Google Cloud costuma ter?
Para o Google Cloud, quase tudo começa pelo projeto: é nele que moram os recursos, as APIs e a cobrança, e é a hierarquia acima dele que decide quem acessa o quê. Com o Isaac organizado em pastas e projetos, o próximo passo da trilha é colocar a loja para rodar: Compute Engine, a computação no Google Cloud.