Pular para o conteúdo

Tema

DevOps · tema 27 de 40

Ambientes e infraestrutura como código

30 min · 2 vídeos · 11 cards · 1 drill

Por que cai

É a pergunta que separa quem opera de quem só entrega consulta. A banca pergunta como você garante que o ambiente de teste representa a produção, e a resposta boa fala de dado mascarado, de mesma definição de infraestrutura e de plano revisado antes de aplicar, não de 'a gente copia'.

Pré-teste · 1 de 2

responda antes de ver

O que distingue um ambiente de homologação de um de desenvolvimento, num projeto de dados?

Quanta certeza você tem?

Vídeo · português · 7 min

Sete minutos para fixar a ideia antes da ferramenta: por que declarar o estado desejado é diferente de escrever passos. Assista antes do segundo vídeo.

Em uma frase

Ambientes se distinguem por quem consome, não por tamanho; e só valem alguma coisa se forem descritos pelo mesmo código, com o dado de teste tendo a mesma forma do real.

Os três ambientes, pelo papel

AmbienteQuem consomeDadoO que precisa ser igual a produção
DesenvolvimentoQuem está construindoAmostra pequena, mascarada ou sintéticaTopologia e permissões
HomologaçãoQuem valida a mudançaAmostra com os casos de borda reais, mascaradaDefinição de infraestrutura e caminho de promoção
ProduçãoO negócioRealÉ a referência

Infraestrutura como código: as duas ideias

declaratividadeDescrever o estado desejado, não os passos. Aplicar duas vezes dá o mesmo resultado, porque a ferramenta calcula a diferença em vez de repetir comandos. estadoRegistro do que a ferramenta já criou. É o que permite calcular a diferença e produzir um plano. Fica remoto, versionado e com bloqueio, para duas execuções não se atropelarem.

O fluxo que se espera ouvir:

  1. 1Escrever a mudança no código, em arquivo versionado.
  2. 2Rodar o plano e LER: o que será criado, o que será alterado e, principalmente, o que será destruído.
  3. 3Revisar como se revisa código, porque o plano é o diff da infraestrutura.
  4. 4Aplicar, e deixar o estado registrar o resultado.

O que nunca entra no repositório

Credencial, chave e token. Eles vivem num cofre — Secrets Manager, Parameter Store — e entram por referência. O motivo é que repositório é histórico permanente: apagar o segredo num commit posterior não o apaga do histórico, e quem clonou antes continua com ele.

Deriva: quando a realidade foge do código

deriva de configuraçãoDiferença entre o que o código declara e o que existe de fato, criada quando alguém ajusta um recurso pelo console.

A ferramenta detecta na execução seguinte. A correção é reaplicar o código, não repetir o clique — e, se a mudança manual era necessária, ela vira código. Ajuste no console "documentado depois" é a forma mais eficiente de fazer o código deixar de descrever a realidade.

Como responder isso em voz alta

Para a pergunta dos ambientes: mesma definição, mesmo caminho de promoção, mesma forma de dado — e declare o risco residual de escala e concorrência em vez de prometer garantia. Para a de infraestrutura como código: o ganho é ser revisável e reproduzível, sustentado por declaratividade e estado, com plano lido antes de aplicar e segredo fora do repositório.

Se quiser outro ângulo1 vídeo
Complementar e prático, com ambientes reproduzíveis. Longo; use os trechos de estado e de plano, que são os dois conceitos que a sabatina cobra.

Como cai na sabatina

Como você garante que o que funcionou em homologação vai funcionar em produção?

Erros comuns

  • Achar que ambientes se distinguem pelo volume de dados. Distinguem-se por quem consome: produção tem consumidor real, homologação tem validação, desenvolvimento tem quem está construindo.
  • Copiar produção para desenvolvimento sem mascarar. É o vazamento mais comum em times de dados, e passa despercebido porque parece diligência.
  • Tratar infraestrutura como código como 'script de criação'. O que a distingue é ser declarativa e ter estado: ela sabe o que já existe e calcula a diferença.
  • Aplicar sem revisar o plano. O plano mostra o que será criado, alterado e destruído; aplicar sem ler é como aprovar um merge sem ver o diff.
  • Guardar segredo no repositório. Credencial vai para um cofre e entra por referência; repositório é histórico permanente, e apagar depois não apaga o histórico.
  • Ter definições diferentes por ambiente. Se produção e homologação são descritas por códigos distintos, homologação deixa de provar qualquer coisa.

Flashcards

Card 1 de 11

0 certos · 0 a rever

Drill

Onde isso pertence?

Para cada item, diga onde ele deve ficar.

  1. 1.Definição do bucket, das permissões e do agendamento.

  2. 2.Senha do banco usada pelo pipeline.

  3. 3.O registro do que já foi criado pela ferramenta.

  4. 4.Cópia crua de uma tabela de clientes para testar.

  5. 5.Diferenças de tamanho de máquina entre produção e homologação.

Quiz · 1 de 2

Qual afirmação sobre ambientes é mais defensável numa sabatina?

Explique para um gerente

Explique em um minuto por que escrever a infraestrutura em arquivo, em vez de clicar no console, muda o que acontece quando alguém sai da empresa.

Se travar numa palavra técnica, é sinal de que ainda não entendeu essa parte.

Prefiro falar em voz alta

00:00

Toque para gravar, ou responda em voz alta sem gravar

Perguntas de sabatina deste tema2
  • · Como você garante que o que funcionou em homologação vai funcionar em produção?
  • · Por que infraestrutura como código importa num time de dados, e o que muda na prática?
Responder no simulado
Para ir além3 artigos