Skip to content

Instantly share code, notes, and snippets.

@gustavo-freitas
Created February 17, 2016 04:07
Show Gist options
  • Save gustavo-freitas/16f9ab11d1bccdb4821f to your computer and use it in GitHub Desktop.
Save gustavo-freitas/16f9ab11d1bccdb4821f to your computer and use it in GitHub Desktop.
Post Netflix

Post "The Netflix Simian Army"

  • A "nuvem" fornece redundância e tolerância a falhas
  • Necessidade de um sistema onde o link mais fraco pode falhar e outras partes do sistema continuam funcionando
  • No Netflix, as seguintes técnicas são utilizadas:
  • Testar esse sistema é muito importante para garantir interoperabilidade
    • Metáfora do pneu furado
    • Existe um step? Está cheio?
    • As ferramentas para trocar o pneu estão disponíveis?
    • Existe alguém que saiba trocar o pneu?
    • Furar pneu todo domingo pela tarde e trocar pneu

Ferramentas criadas para "reabastecer o avião em pleno vôo"

  • Chaos Monkey - ferramenta que desabilita instâncias de produção para garantir que infraestrutura siga funcionando sem impacto para os usuários. Máquinas são escolhidas e monitoradas de perto por especialistas. Execução acontece em um dia normal da semana. Mais informações em:

  • Latency Monkey - Simular degração de um serviço. Latência alta em um determinado serviço. Como essa verificação acontece? Qual é o threshold?

  • [Conformity Monkey] (https://github.com/Netflix/SimianArmy/wiki/Conformity-Home) - Examina instâncias que não aderem as melhores práticas e desabilita essas instâncias. Que instâncias são essas? Recursos das máquinas? Performance das aplicações? Quais são essas melhores práticas? Mais informações em:

  • Doctor Monkey - Identifica instâncias que não são saúdaveis. Exemplo CPU load alto. Recursos escassos. Remove essas instâncias da infra, responsáveis devem corrigir problemas.

  • Janitor Monkey - Remove "clutter" e "waste" nos ambientes. O que é considerado "clutter" e "waste" em um ambiente de nuvem? Mais informações em:

  • Security Monkey - Encontra brechas e problemas de segurança no ambiente. AWS Security Groups estão bem configurados e certificados (SSL e DRM) estão validos e não expirando.

  • 10-18 Monkey - Detecta problemas de internacionalização/localização. Executa instâncias em múltiplas regiões, utilizando diferentes línguas e conjuntos de caracteres. Como isso acontece exatamente? Dependência forte com aplicação das instâncias?

  • Chaos Gorilla - Simula a indisponibilidade uma "availability zone" da Amazon. Serviços devem continuar funcionando, utilizando outras "availability zones" sem impacto para o usuário ou intervenção manual.

Leituras interessantes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment