Conclusão da migração da Netflix para a nuvem

Na Netflix, a nossa transição para a nuvem começou em agosto de 2008, quando a nossa base de dados foi massivamente corrompida e durante três dias não nos foi possível enviar discos DVD para os nossos membros. Foi nesta altura que concluímos que teríamos de deixar de usar os pontos individuais de falha escaláveis verticalmente, que eram as bases de dados relacionais no nosso centro de dados, para passar a usar sistemas distribuídos, escaláveis horizontalmente e altamente fiáveis, disponíveis na nuvem. Escolhemos a AWS (Amazon Web Services) como nosso fornecedor na nuvem porque nos ofereceram o melhor, maior e mais amplo conjunto de serviços e funcionalidades. A maioria dos nossos sistemas, incluindo todos os serviços disponíveis para os nossos clientes, foram migrados para a nuvem antes de 2015. Contudo, queríamos garantir o tempo necessário para encontrar uma solução na nuvem, segura e durável, tanto para a nossa estrutura de faturação como para outras vertentes da gestão de dados de clientes e funcionários. Estamos felizes por anunciar que no início de janeiro de 2016, após sete anos de esforço e dedicação, finalmente concluímos a nossa migração para a nuvem e encerrámos o último centro de dados utilizado pelo nosso serviço de streaming!

A transição para a nuvem trouxe à Netflix vários benefícios. Aumentámos oito vezes o número de membros do serviço de streaming em relação a 2008, e estes são membros muito mais envolvidos com uma média de utilização do serviço de uma ordem de grandeza três vezes superior em oito anos:

O produto Netflix em si continuou a evoluir rapidamente, incorporando novas funcionalidades exigentes em termos de recursos e dependentes de grandes volumes de dados. Suportar um crescimento tão rápido teria sido extremamente difícil apenas com os nossos centros de dados. Teria simplesmente sido impossível implementar servidores de forma suficientemente rápida. A elasticidade da nuvem permite-nos adicionar milhares de servidores virtuais e petabytes de armazenamento em minutos, tornando possível uma expansão desta dimensão. A 6 de janeiro de 2016, a Netflix expandiu o seu serviço a mais de 130 novos países, tornando-se verdadeiramente uma rede de serviço de televisão pela internet verdadeiramente mundial. As múltiplas regiões AWS na nuvem espalhadas por todo o mundo permitem-nos deslocar e expandir a capacidade da nossa infraestrutura mundial, criando uma melhor e mais agradável experiência de streaming para os membros da Netflix, onde quer que estejam.

Contamos com a nuvem para satisfazer todos os nossos requisitos de crescimento a nível computacional e de armazenamento — a nossa lógica de negócio, bases de dados distribuídas, processamento e análise de dados de grande dimensão, recomendações, transcodificação e centenas de outras funcionalidades que constituem a aplicação Netflix. Os conteúdos vídeo são distribuídos através do sistema Netflix Open Connect, a nossa rede de distribuição de conteúdos que faz chegar, de forma eficiente, os nossos bits aos dispositivos de cada um dos nossos membros.

A nuvem também nos permitiu aumentar significativamente a disponibilidade do nosso serviço. Os nossos centros de dados falhavam por vezes e, embora tivéssemos de enfrentar alguns inevitáveis períodos difíceis na nuvem, especialmente nos primeiros tempos da migração, assistimos ao aumento regular da disponibilidade geral, que nos aproximava do nosso objetivo de ter um funcionamento de serviço quase perfeito. As falhas são inevitáveis em qualquer sistema distribuído em larga escala, mesmo que baseado na nuvem. Contudo, a nuvem permite-nos construir serviços altamente fiáveis a partir de componentes fundamentalmente pouco fiáveis mas redundantes . A incorporação dos princípios da redundância e graciosa degradação na arquitetura do nosso sistema e alguma disciplina na implementação de testes de produção usando a ferramenta Simian Army permitem-nos sobreviver a falhas na infraestrutura da nuvem e nos nossos sistemas, sem impacto na experiência dos membros.

A redução de custos não foi a principal razão que nos levou a mudar para a nuvem. Contudo, os nossos custos por streaming na nuvem acabaram por ser apenas uma fração dos custos no centro de dados -- um benefício colateral bem-vindo. Isto é possível devido à elasticidade da nuvem que nos permite otimizar continuamente a combinação de tipos de ocorrências de forma a crescer e a simultaneamente reduzir a nossa pegada quase instantaneamente, sem necessidade de manter memórias temporárias de grande capacidade. Podemos ainda beneficiar das economias de escala que são apenas possíveis num grande ecossistema na nuvem.

Dadas as óbvias vantagens da nuvem, por que razão demorámos sete longos anos a completar a migração? A verdade é que a migração para a nuvem foi um trabalho duro, e tivemos de fazer várias escolhas difíceis pelo caminho. Indiscutivelmente, a forma mais fácil de fazer esta migração para a nuvem teria sido pegar em todos os sistemas do centro de dados, sem alterações, e transferi-los para a AWS. Mas ao fazer isso, acabaríamos por transferir também todos os problemas e limitações do centro de dados. Em vez disso, decidimos fazer uma abordagem nativa da nuvem, reconstruindo virtualmente toda a nossa tecnologia e fundamentalmente alterando a nossa forma de operar a empresa. A arquitetura do sistema migrou de uma aplicação monolítica para centenas de micro-serviços, e alterámos o nosso modelo de dados, usando bases de dados não SQL. Várias aprovações de orçamentos, coordenação central e ciclos de aprovisionamento de hardware que ocorreram ao longo de várias semanas proporcionaram uma disponibilidade contínua, com as equipas de equipas de engenharia a tomarem decisões de forma independente, usando ferramentas self-service num ambiente DevOps, o que contribuiu para acelerar a inovação. Muitos dos novos sistemas tiveram de ser construídos de raiz e novos conhecimentos aprendidos. Levou tempo e esforço para transformar a Netflix numa empresa nativa da nuvem, mas isso deixa-nos numa ótima posição para continuar a crescer e nos tornarmos numa rede mundial de televisão.

A tecnologia de streaming da Netflix percorreu um longo caminho nos últimos anos, e é uma ótima sensação já não estarmos constrangidos pelas limitações que tínhamos anteriormente. Como a nuvem é ainda algo de novo para muitos de nós na indústria, há ainda muitas questões e problemas por resolver. Através de iniciativas como a Netflix Open Source, esperamos continuar a colaborar com os grandes cérebros da tecnologia neste mercado e juntos encontrar respostas para todos estes desafios.

-Yury Izrailevsky, Stevan Vlaovic e Ruslan Meshenberg

Mais de Blogue da empresa

Índice de Velocidade de ISP para a Netflix - Dados a Janeiro de 2016

São aqui apresentados alguns destaques dos dados relativos a janeiro para o Índice de Velocidade de ISP para a Netflix, no âmbito da nossa atualização mensal sobre os ISPs (Internet Service Providers) que proporcionam a melhor experiência de streaming da Netflix no horário nobre. Ler mais

Abordagem Global às Recomendações

Quando a Netflix lançou o serviço em mais 130 países em janeiro, o objetivo era que o serviço funcionasse bem em qualquer parte do mundo. Ora, isso significava resolver vários problemas técnicos complexos recorrendo a uma abordagem global. Ler mais

Início