Quem é esse macaco do caos e por que ele travou meu servidor?

28

Eu tinha um servidor perfeito, era tão bonito e sólido como uma rocha, então chamei de Petra. Era perfeito em todos os aspectos, tudo estava configurado e ajustado da maneira certa, tinha um registro de serviço 100% perfeito e 753 dias de atividade. Gastei muito tempo e esforço para garantir que funcionasse tão bem. Nenhum outro servidor da empresa tinha sido tão bom. Mas ontem à noite esse monstro maligno travou meu servidor sem motivo.

Macaco do Caos

É claro que fui notificado às 2 da manhã e demorei até a manhã para colocá-lo em funcionamento e tudo configurado e ajustado, mas receio que não seja tão bom quanto antes. Pode levar semanas para voltar à sua antiga glória. Agora que meu tempo de atividade acabou, eu não tenho nem três e nove e quem sabe o que isso fará com a minha reputação. Quem é esse macaco do caos e por que ele fez isso no meu servidor e por que ele está tentando me arruinar?

Jiri Klouda
fonte
12
É preciso haver um crachá para a pergunta mais engraçado :)
Richard Slater
Servidor único? O que é isso? Por que você basearia seus negócios em uma obra de arte única em vez de uma mercadoria que é facilmente dimensionada e substituída quando inevitavelmente falha ou sai do contrato?
Sem reembolsos Sem devoluções
Realmente consideramos essa uma boa pergunta para pré-propagar o site? Esperamos que os engenheiros instalem, configurem e executem o Chaos Monkey e depois esqueçam o que é, mas descubram que ele está sendo executado em sua rede e perguntem no Stack Exchange em vez de visitar o site oficial? Existem tantas etapas que são implausíveis.
Xiong Chiamiov
2
Obviamente, não é uma pergunta real. Era uma piada retratar o topo do campo, antigo administrador, que simplesmente foi superado pela indústria. Mas suas críticas pressupõem que há uma única pessoa ou até uma única equipe cuidando da infraestrutura. Muitas vezes, em grandes empresas, a infraestrutura e as equipes existentes são mantidas no local mesmo enquanto estão sendo substituídas. É bastante plausível que uma nova equipe tenha começado com a nova infraestrutura e instalação do Chaos Monkey e o velho peido simplesmente tenha sido atingido em um momento em que ocorreu após o sucesso inicial implantado em toda a empresa.
Jiri Klouda 02/04
A pergunta óbvia é se você tinha um servidor assim, por que você configurou o Chaos Monkey?
precisa saber é o seguinte

Respostas:

32

TL; DR : Chaos Monkey foi desenvolvido em 2010 na Netflix e lançado em 2012. Faz parte do Exército Simian , popular entre os seguidores dedicados . Construído sobre os princípios da engenharia do caos , o exército aumenta a resiliência ao fracasso ao injetar um fracasso constante no sistema.

Conceito

O Chaos Monkey foi desenvolvido especificamente para a AWS, onde matará aleatoriamente instâncias em um Grupo de Auto Scaling. Ele deve funcionar durante o horário comercial, quando os engenheiros estão alertas e podem reagir rapidamente às falhas descobertas.

Exército Simian

Membros do exército semeariam o caos por outros meios:

  • O Latency Monkey apresentará atrasos aleatórios nos serviços.

  • O Chaos Gorilla (Kong) simulará a interrupção de toda a zona de disponibilidade.

Outros macacos são úteis e removem os membros fracos do rebanho:

  • O Conformity Monkey encerra instâncias que não seguem as práticas recomendadas.

  • O Security Monkey procura vulnerabilidades de segurança conhecidas na configuração e nos serviços.

  • Doctor Monkey encerra instâncias prejudiciais que não estão em conformidade com determinadas métricas.

  • O zelador Macaco procura recursos não utilizados para recuperar.

Falha é inevitável

Falha no sistema é inevitável, algo sempre dará errado . Talvez você não consiga escolher o quê, mas tente escolher quando. Ao introduzir pequenos erros ao longo do dia, você garante a presença de seus engenheiros. Ao eliminar rapidamente os serviços não conformes, você garante que as falhas ocorram frequentemente antes da implantação. Ao tornar o ambiente mais adversário, você garante que serão os desenvolvedores que terão problemas muito antes de qualquer serviço entrar na produção. As falhas serão rapidamente aparentes na fase de integração de novos serviços com os antigos, mas tudo bem, porque os serviços de produção antigos já são resilientes.

Gado não Animais

Todos dirão ultimamente: Não trate seus servidores como animais de estimação . Há um poder em números e qualquer ponto único de falha derrubará o sistema. Não importa o quão bem você possa ajustar e otimizar seu servidor, não importa quão robusto seja o hardware que você possa obter, o quanto ele possa suportar, nunca será uma correspondência para o rebanho de pequenas instâncias escalonáveis. O Caos Monkey encoraja você a pensar em remover todos os pontos de falha, porque mais cedo ou mais tarde, o Macaco virá! Todo mundo falha e até o Amazon S3 teve uma interrupção imprevisível .

Anti-frágil

Então, qual é a teoria e por que funciona? Nassim Nicholas Taleb, em seu livro Antifragile, descreve um conceito em que os sistemas autoconscientes se beneficiam de um pequeno nível de aleatoriedade e se tornam melhores diante das adversidades. Isso é semelhante ao recozimento.

Ele também descreve um caminho evolutivo, no qual a fragilidade das partes de um sistema está se transferindo para a antifragilidade do todo . A transferência ocorre em dois níveis:

  1. Por pequenas variações aleatórias - desenvolvedores fazendo alterações - os mais adequados para o ambiente sobreviverão e se propagarão - passarão nos testes e serão implantados . Ciclo de vida de desenvolvimento padrão .

  2. Por falhas de partes que não são capazes de suportar um nível maior de aleatoriedade no ambiente, as partes restantes que foram capazes de suportar compõem um sistema que, como um todo, é mais capaz de lidar com a mudança de ambiente do que antes. Este é essencialmente o macaco do caos .

Níveis maiores de aleatoriedade podem ser resistidos usando a segunda abordagem.

Jiri Klouda
fonte
"O fracasso é inevitável" - grande mantra!
wogsland
Votado porque você mencionou Nassim Taleb. Super esperto, e suas idéias podem ser aplicadas a basicamente qualquer coisa.
precisa saber é o seguinte
8

Algumas adições à sua própria resposta a esta pergunta ...

Macacos adicionais

O artigo sobre " Como o caos aumenta o desempenho " descreve mais alguns desses macacos, ou seja:

  • 10-18 Monkey : localiza problemas de configuração e tempo de execução em instâncias que atendem a clientes em várias regiões.
  • Chaos Kong : simula uma interrupção de uma região amazônica.

Observação: O mesmo artigo também menciona "Chaos Gorilla: simula uma interrupção de uma zona de disponibilidade da Amazônia", embora seja bem possível que isso tenha sido renomeado agora para "Chaos Kong: simula uma interrupção de uma região amazônica" ... Caos ! Não consegui encontrar nenhuma confirmação / documento sobre isso até agora, pelo menos não parece haver um problema na fila de problemas . Uma mudança não documentada pode ter chegado à produção no github ... Gggggggrrrrrreat!

Configure e use seus próprios macacos.

Vá ao github para entrar em contato com o Exército Simian (mesmo link que o primeiro link em sua própria resposta). Aqui está uma citação do que você encontrará lá:

O Exército Simian consiste em serviços (Monkeys) na nuvem para gerar vários tipos de falhas, detectar condições anormais e testar nossa capacidade de sobreviver a elas. O objetivo é manter nossa nuvem segura, protegida e altamente disponível. Mais detalhes podem ser encontrados neste blog .

Atualmente, os símios incluem Chaos Monkey , Janitor Monkey e Conformity Monkey .

Consulte o Guia de início rápido para começar a configurar e usar os Macacos.

Você pode até configurar os monkyes, para que eles atendam às suas necessidades de negócios.

Se você se aprofundar o suficiente nesses links do Github (por exemplo, no link Suporte ), também encontrará um link para ingressar no SimianArmy Google Group .

Pierre.Vriens
fonte
Chaos Kong foi renomeado para Chaos Gorilla, eu acho ou o contrário.
Jiri Klouda
@JiriKlouda, você parece confirmar o que eu estava começando a pensar. É por isso que eu adicionei minha observação na minha resposta agora também.
Pierre.Vriens
2

Um servidor para governar todos eles, um servidor para encontrá-los,
um servidor para trazê-los todos e na interrupção vinculá-los

Você, Sauron, forjou este Servidor Único, na escuridão da Montanha da Perdição, seu Datacenter, com o desejo de governar Todos os aplicativos.
Espero que a Irmandade dos Devops tenha se unido para lhe dizer:

Gandalf - Você deve PAAS

Após uma longa luta, o Frodo the Chaos Monkey conseguiu derreter o seu One Server e trazer liberdade para todos os aplicativos, levando você ao caminho de servidores reproduzíveis ao mesmo tempo.

Créditos:

Tensibai
fonte