Pergunta de entrevista para Engenheiro DevOps

Como é uma boa observabilidade para um serviço que você é dono?

O que o entrevistador está avaliando, como estruturar sua resposta e um exemplo falado que você pode adaptar.

Resposta rápida

Você deveria conseguir responder perguntas que não antecipou. Isso significa logs estruturados com um trace id em cada linha, métricas cobrindo taxa, erros e duração mais saturação dos seus recursos principais, e traces distribuídos que seguem uma requisição entre serviços. Os alertas disparam em sintomas visíveis para o usuário, ligados aos seus objetivos de nível de serviço, os dashboards partem da experiência do cliente, e todo sinal compartilha labels consistentes para você conseguir pivotar entre eles.

Por que os entrevistadores perguntam isso

O entrevistador quer saber se você instrumenta para depurar ou só coleta dados. Ele está ouvindo a diferença entre monitorar modos de falha conhecidos e conseguir explorar modos novos, alertas baseados em sintoma em vez de um alerta por componente, e consciência de custo, já que métricas de alta cardinalidade e traces sem amostragem podem acabar custando mais que o serviço que elas observam.

Como estruturar sua resposta

  • Enquadre como responder perguntas não antecipadas, não como coletar dados.
  • Cubra os três sinais e para que cada um de fato serve.
  • Explique a correlação: trace ids e labels consistentes entre os sinais.
  • Trate de alertar em sintomas e do custo da cardinalidade.

Exemplo de resposta

Exemplo falado, em primeira pessoa

O teste que eu uso é se eu consigo responder uma pergunta que ninguém pensou quando o serviço foi construído, por exemplo por que as requisições estão lentas só para um cliente em um endpoint. Para chegar lá os três sinais precisam estar conectados. Toda linha de log é estruturada e carrega o trace id, então de um trace lento eu pulo direto para os logs daquela requisição em vez de fazer grep por timestamp. As métricas cobrem taxa, erros e duração de cada endpoint como percentis e não como médias, mais a saturação das coisas que de fato acabam: pools de conexão, profundidade de fila, disco. Os traces têm amostragem, mas eu sempre guardo os erros e a cauda lenta, porque a requisição média não me ensina nada. Alertas são a parte que as pessoas erram: eu alerto em sintomas que os clientes sentem, ligados ao objetivo, e não em CPU a oitenta por cento. E eu fico de olho no custo, porque colocar um id de usuário em um label de métrica é como você transforma uma conta de duzentos dólares em seis mil da noite para o dia; detalhe no nível de usuário pertence a traces e logs.

Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.

Veja como funciona

Perguntas de acompanhamento que você pode esperar

  • Como você define uma estratégia de amostragem de traces?
  • O que você faria com um alerta que dispara toda semana e é sempre ignorado?
  • Como você controla o custo de métricas de alta cardinalidade?

Mais perguntas para Engenheiro DevOps

Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.

Prever minhas perguntas

Ensaie as perguntas difíceis antes que elas apareçam

Pratique com um copiloto ao vivo e depois entre pronto. Um Session Pass de $29 te leva até o fim da entrevista, sem assinatura e sem amarras.

Instalar o GhostPilot