[ad_1]

Meu presente de aniversário este ano foi uma interrupção da produção.

Algumas pessoas vão para bolo e sorvete. Outros planejam um passeio divertido. Tive uma interrupção em vez de um passeio. E foi tudo menos divertido.

No meio disso, meu colega e eu vacilamos entre fazer a triagem do problema e ficar furiosos com a dificuldade de encontrar sua origem.

E, quando fui buscar ar para me conectar com minha paciente e perspicaz esposa, compartilhei com ela como me sentia inadequado e a consultei sobre como me comunicar de maneira eficaz com o cliente afetado.

Eles precisavam saber que íamos consertar. Eles precisavam que essa correção fosse rápida. Eles precisavam saber que a correção duraria.

Criamos e-mails com muito tato e trocamos telefonemas tranquilizadores com eles. Nós os atualizamos com frequência e demos a eles a quantidade certa de transparência e conhecimento técnico.

Mas aqui estão as verdades que não poderíamos contar a eles.

1. Não estávamos preparados para isso

Como é o caso de muitos engenheiros em muitos projetos, herdamos esse aplicativo. Ficamos com pouca documentação e ferramentas ruins para depurar a produção. E há muitas peças móveis para contar.

É como se estivéssemos levando um extintor para um incêndio florestal.

Nosso tempo e seu orçamento financeiro não permitiram muitos preparativos para uma interrupção da produção e agora estamos enfrentando o calor. Em mais de um sentido, não estávamos preparados para isso.

2. A causa da interrupção pode ser uma de 20 coisas

A causa? Pode ser o servidor. Pode ser o código. Pode ser o banco de dados ou um pacote de terceiros. Pode ser uma intoxicação alimentar. Pode ser nossa culpa. Pode ser seu.

A solução? Pode ser apenas necessário reiniciar. Pode ser necessário um índice na tabela do banco de dados. Pode ser necessário atualizar esse pacote ou definição de configuração. Pode ser necessário Pepto-Bismol. Pode ser necessário queimar tudo e começar de novo.

3. Não temos absolutamente nenhuma ideia de quanto tempo vai demorar para consertar

A reinicialização do servidor pode levar dez minutos. A reconstrução do servidor pode levar de dez horas a dez dias. Podemos ser capazes de rastrear o bug em alguns minutos, ou podemos nunca descobrir o que realmente aconteceu.

Tudo depende da identificação da causa, e já estabelecemos que pode ser uma de 20 (ou mais) coisas.

Também constatamos que não estávamos preparados para isso. É melhor nos deixar em paz e confiar que nos importamos o suficiente para resolver o problema o mais rápido possível.

Nesse ínterim, sugerimos que você considere reformular sua definição de “rápido”.

4. Precisamos que o problema se manifeste novamente antes de podermos descobrir a causa

Como temos tão poucas ferramentas e documentação, estamos basicamente voando às cegas. Felizmente, instalamos algumas ferramentas de monitoramento para nos ajudar.

O problema é que essas ferramentas só podem monitorar as coisas daqui para frente. Portanto, precisamos que esse problema intermitente apareça novamente antes de realmente diagnosticar o problema.

Certamente poderíamos tentar isso em um ambiente de teste ou teste, e o fizemos, mas ele não está sucumbindo aos mesmos problemas que a produção está enfrentando. E, na verdade, é uma configuração totalmente diferente da produção.

Nossa única opção neste momento é interromper a produção novamente. Diga a sua equipe para aguentar firme enquanto aumentamos a produção, não para tentar consertá-lo, mas apenas para reproduzir o problema para que nossas ferramentas possam capturar o que está acontecendo.

5. Você realmente deveria nos pagar mais por este nível de estresse

Não estamos dormindo. Mal comendo. Nossas famílias não nos vêem há dias. Passamos todo o nosso tempo na frente de um computador, exceto em pequenos momentos na frente da geladeira, no banheiro ou no canto em posição fetal.

Esses níveis de estresse justificam o pagamento em dobro, pelo menos. Mas percebemos que agora não é hora de negociar um novo contrato. Estamos todos no modo de sobrevivência e, aparentemente, a saúde da produção é mais importante do que a nossa.

E é por isso que você deve nos pagar (muito) mais durante uma interrupção de emergência.

Pensamentos Finais

Essas são verdades que os engenheiros realmente não podem comunicar aos seus clientes durante a crise de uma interrupção da produção. Se você já pensou algumas dessas coisas, muitos de nós já pensamos nelas. Se você concorda com esses sentimentos, muitos de nós nos sentimos assim. Interrupções de produção causam imensa pressão e estresse.

Se você está se perguntando sobre as circunstâncias reais da interrupção do meu aniversário, o problema foi uma resposta intermitentemente inesperada de um serviço de e-mail de terceiros. Isso causou um erro de aplicativo, mas esse erro não foi detectado. Em vez disso, a solicitação foi tentada novamente. E de novo. E então mais algumas centenas (milhares?) De vezes até colocar o servidor de joelhos. Reiniciaríamos o servidor e dentro de uma hora ele estava desligado novamente.

Levou dias para rastrear a causa real, pois nossas ferramentas de monitoramento e depuração não foram aprimoradas. Observamos um aumento no uso de CPU e RAM, mas nenhum vínculo claro com processos invasores. Não conseguimos reproduzir o problema em qualquer ambiente, exceto na produção. E o código ofensivo era abstrato e utilizava bibliotecas com as quais não estávamos familiarizados.

Da próxima vez, estaremos mais preparados. Instalamos ferramentas para nos dar capacidade de criação de perfil e rastreamento de pilha para solicitações em produção. Seremos mais cautelosos ao implementar ferramentas de terceiros e garantir que nosso aplicativo possa lidar com suas falhas de maneira adequada. Eu, pessoalmente, planejo negociar uma taxa mais alta (provavelmente 1,5 ou 2 vezes a minha taxa normal) para interrupções que me façam abandonar todas as minhas outras responsabilidades.

Nossa preparação também deve incluir o compromisso de permanecer calmo e silenciar as dúvidas. O pânico nos faz perseguir os sintomas em vez de nos concentrarmos na fonte. A dúvida tenta nos convencer de que não podemos resolver o problema e nunca seremos capazes.

Operar em um lugar de tranquilidade e confiança trará a garantia necessária aos nossos clientes e nos ajudará a controlar com eficácia as interrupções de produção. E divirta-se mais em nossos aniversários.

[ad_2]

Fonte