BT
x Por favor preencha a pesquisa do InfoQ !

Chaos Monkey: mais um projeto open source da Netflix

por Richard Seroter , traduzido por Thomas Sant'Anna em 21 Ago 2012 |

A Netflix abriu o código do seu"Chaos Monkey", um software que intencionalmente derruba servidores como forma de testar a tolerância a falhas de um ambiente em nuvem. O projeto open source, com nome "Simian Army", é mais uma ferramenta em uma longa série que a Netflix vem compartilhando gratuitamente com a comunidade técnica.

A empresa apresentou o Chaos Monkey em dezembro de 2010, explicando as lições aprendidas ao hospedar seu serviço de streaming de vídeo na nuvem da Amazon (AWS). Uma dessas lições diz que "falhar constantemente é a melhor maneira de evitar o fracasso", resumindo como a Netflix proativamente sabota seu ambiente para descobrir pontos de falhas.

O Chaos Monkey desativa aleatoriamente instâncias e serviços dentro de nossa arquitetura. Se não estivermos testando constantemente nossa habilidade de lidar bem com falhas, provavelmente não teremos sucesso quando precisarmos disso de verdade - no caso de uma indisponibilidade inesperada.

Em um artigo no blog da empresa, o time técnico da Netflix anunciou a abertura do código, apresentando o propósito do software e recomendações de uso. A Netflix afirma que o Chaos Monkey pode ser usado em outros ambientes de nuvem além do AWS, por empresas que querem detectar pontos de falhas em seus próprios ambientes. A empresa incluiu várias configurações para deixar tranquilas as empresas com receio de "soltar" o Chaos Monkey em seu centro de dados. Por exemplo, o software pode ser configurado para entrar em ação apenas quando as equipes de suporte estiverem de prontidão.

O serviço tem agendamento configurável, que por padrão executa em dias úteis entre as 9:00 e as 15:00 horas. Na maioria dos casos, projetamos as aplicações para continuarem operando mesmo quando uma instância fica indisponível; mas nas raras exceções em que não o fizermos, queremos ter certeza que as pessoas estão disponíveis para resolver qualquer problema. Por isso, o Chaos Monkey só opera dentro de um conjunto limitado de horas, para que engenheiros estejam alertas e aptos a agir.

O usuário também pode definir o nível de agressividade do Chaos Monkey em aplicações novas. Como padrão, a Netflix executa o Chaos Monkey em todas as suas aplicações, salvo naquelas em que o gestor explicitamente o recuse. Outras empresas podem usar uma abordagem menos agressiva, e permitir que o Chaos Monkey atue apenas contra algumas aplicações especificas, ou com baixa probabilidade de derrubar uma instância.

Nem toda aplicação consegue lidar facilmente com falhas de uma instância. Algumas vezes existe a necessidade de intervenção manual para recuperar as instâncias, talvez usando copias de segurança. Idealmente os engenheiros trabalham visando tornar o processo mais fácil, rápido e automático. Para essas aplicações, existe a opção de recusar o Chaos Monkey. Também existe um ajuste de "probabilidade", que é usado pelo Chaos Monkey para limitar a chance de se derrubar uma instância.

A disponibilização pública do Chaos Monkey vem pouco depois de outra liberação em código aberto da Netflix: o projeto Asgard. Como dito em outro artigo no blog do time da Netflix, o Asgard é uma interface para a implantação e gestão de ambientes baseados no AWS. Embora o console de gerência do AWS ofereça funcionalidades para provisionar servidores, o time da Netflix sentiu falta do conceito de "aplicação", criando o Asgard para preencher essa lacuna.

Quando há muitos objetos na nuvem em uma arquitetura orientada a serviços, como no caso da Netflix, é importante que o usuário consiga encontrar todos os objetos relevantes para uma aplicação específica. O Asgard mantém uma relação de aplicações no SimpleDB e adota um padrão de nomenclatura para associar vários recursos a uma mesma aplicação.

Além disso, o Asgard agrega grupos de autoscaling do AWS em objetos chamados "clusters" que são facilmente retornados ao seu estado anterior, em casos de falha no deploy. Aplicações, Clusters, e o suporte à automação do deployment são projetados para tornar a administração do AWS mais simples e menos suscetível a erros humanos.

Tanto o Chaos Monkey como o Asgard são parte de uma iniciativa mais ampla da Netflix, de abrir o código de software que ajude a comunidade em geral. Uma lista de todos os projetos de código aberto da Netflix pode ser vista no seu Github.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

Percebemos que você está utilizando um bloqueador de propagandas

Nós entendemos porquê utilizar um bloqueador de propagandas. No entanto, nós precisamos da sua ajuda para manter o InfoQ gratuito. O InfoQ não compartilhará seus dados com nenhum terceiro sem que você autorize. Procuramos trabalhar com anúncios de empresas e produtos que sejam relevantes para nossos leitores. Por favor, considere adicionar o InfoQ como uma exceção no seu bloqueador de propagandas.