re:Invent Netflix Session: Engineering Global Operations in the Cloud

Sem dúvidas o Netflix é um dos clientes mais estratégicos para a AWS. Boa parte da agenda de apresentações técnicas foi reservada para esse gigante do entretenimento. Foram 8 sessions bastante concorridas pelo público, eu mesmo perdi uma delas por lotação esgotada, onde assuntos como operações, alta disponibilidade, big data, real-time analytics, segurança, cultura, gestão de custos e escalabilidade foram tratados em alto nível técnico e participação ativa do público presente.

Nesta apresentação, Josh Evans que é diretor de operações mostrou os desafios em conciliar inovação na busca pela melhoria da experiência de uso do produto com a excelência operacional que considera a melhoria contínua no gerenciamento, design e operação dos ambientes para alcançar qualidade, velocidade e vantagem competitiva em relação aos concorrentes.

Netflix está presente em 60 países com planos para chegar a 200 países até o final de 2016. Iniciaram recentemente a distribuir o serviço no Japão indo para outros 4 países asiáticos até 2016. Nos horários de pico são responsáveis por 37% do tráfego de internet consumido dentro dos Estados Unidos. Josh considera o Netflix um organismo vivo composto por microserviços, componentes críticos, fluxos e falhas. A infraestrutura possui componentes independentes com baixo acoplamento entre eles, com milhares de eventos diários de mudança de código em produção. A estratégia de inovação envolve o uso massivo de testes A/B para qualquer funcionalidade do produto. Foram 1.400 experimentos, sendo 25 rodando em paralelo em um mesmo dia, no último ano. O que pode parecer confuso é o fato do Netflix usar infraestrutura da AWS que compete no mercado de video streaming com o Amazon Prime Instant Video. A infraestrutura do Netflix está em execução em 3 diferentes regiões da AWS exceto o seu “core” que é o Open Connect, um sistema de CDN hospedado em diversos ISPs pelo mundo responsável por manter o cache e distribuir os vídeos para os usuários. Sua cultura operacional esta apoiada na sentença “Você construiu isso, você executa isso”, começando pelo design, desenvolvimento, testes e deployment em produção. Esse processo é possível com as ferramentas desenvolvidas internamente como Spinnaker, Hytrix, Atlas, Vector e outras disponíveis opensource no seu repositório do Github. Essas ferramentas executam funções como detecção automática de anomalias usando janelas de time series, correção de indisponibilidades usando machine learning e técnicas de clustering, distribuição e análise de novas versões de código para uma pequena porcentagem do tráfego. Existe uma equipe chamada “Core Team” responsável pelo gerenciamento de crises, melhores práticas de recuperação de serviços, relacionamento com AWS e educação operacional a novos funcionários. Os principais goals dessa equipe são: proteger a experiência do usuário, manter as falhas únicas identificando sua causa principal para que não se repita e manter uma constante evolução passando pelo esforço individual, revisão de incidentes e feedback aberto e honesto dentro da equipe.

Tem muito mais conteúdo interessante na apresentação em vídeo: https://www.youtube.com/watch?v=IkPb15FfuQU