Arquitetura real · Pleno
Netflix: 7 anos para sair do data center (2008–2016)
Arquitetura real em produção. Pontos centrais: migração de dados online.
Resposta curta
Arquitetura real em produção. Pontos centrais: migração de dados online. A jornada da Netflix para a nuvem começou em agosto de 2008, quando uma grave corrupção de banco de dados deixou a empresa três dias sem conseguir enviar DVDs aos membros.
01 · CONTEXTO
O que levou a Netflix a sair do data center
A jornada da Netflix para a nuvem começou em agosto de 2008, quando uma grave corrupção de banco de dados deixou a empresa três dias sem conseguir enviar DVDs aos membros.
A conclusão foi que era preciso abandonar pontos únicos de falha escalados na vertical, como os bancos relacionais do data center, e caminhar para sistemas distribuídos, muito confiáveis e escaláveis na horizontal, na nuvem.
No desenho de antes, o dispositivo do membro fala com uma aplicação monolítica, e o banco relacional fica no data center.
Em agosto de 2008, uma grave corrupção de banco de dados deixou a empresa três dias sem enviar DVDs aos membros.
O banco, escalado na vertical e único, é o ponto único de falha que a empresa decidiu deixar para trás.
02 · A ESCOLHA
Levar tudo como está ou reconstruir
O caminho mais fácil seria o forklift: tirar todos os sistemas do data center, sem alterá-los, e colocá-los na AWS. O preço, nas palavras da própria empresa, é levar junto todos os problemas e limitações do data center.
A AWS foi escolhida por oferecer a maior escala e o conjunto mais amplo de serviços e recursos.
Em vez do forklift, a Netflix adotou a abordagem cloud-native: reconstruiu virtualmente toda a sua tecnologia e mudou de forma fundamental o jeito de operar a empresa.
| Aspecto | No data center | Na nuvem (cloud-native) |
|---|---|---|
| Aplicação | Aplicação monolítica | Centenas de microsserviços |
| Dados | Bancos relacionais escalados na vertical, pontos únicos de falha | Modelo de dados desnormalizado, em bancos NoSQL |
| Hardware e orçamento | Aprovações de orçamento e ciclos de provisionamento de hardware de várias semanas | Entrega contínua |
| Releases e decisões | Coordenação central de releases | Equipes que decidem de forma independente, com ferramentas self-service, em ambiente DevOps pouco acoplado |
03 · ARQUITETURA
O desenho depois da migração
A nuvem passou a sustentar lógica de negócio, bancos de dados distribuídos, processamento de big data e análise, recomendações, transcodificação e centenas de outras funções. O vídeo, por sua vez, é entregue pela Netflix Open Connect, a CDN da própria empresa, distribuída globalmente. Sobre a divisão em microsserviços, veja o tópico correspondente.
As chamadas do dispositivo entram na nuvem por um proxy de borda, papel que um levantamento de terceiros atribui ao Zuul.
O proxy encaminha cada chamada ao microsserviço dono daquela função, como recomendações ou cobrança.
Os serviços usam bancos NoSQL distribuídos, e o mesmo levantamento cita EVCache e Dynomite para usar Memcached e Redis em escala.
O vídeo é entregue pela Open Connect, a CDN própria da Netflix, distribuída globalmente.
Sobre falhas, a empresa afirma que a nuvem permite construir serviços muito confiáveis a partir de componentes fundamentalmente pouco confiáveis, porém redundantes. Os princípios citados são redundância e degradação graciosa, somados a exercícios regulares em produção com o Simian Army, para sobreviver a falhas na infraestrutura de nuvem e nos próprios sistemas sem afetar a experiência dos membros. Veja o tópico de padrões de disponibilidade.
O mesmo levantamento de terceiros lista, entre as ferramentas abertas da Netflix, o Eureka para descoberta de serviços e o Hystrix para isolar latência e tolerância a falhas em tempo de execução.
04 · MIGRAÇÃO INCREMENTAL
Sete anos, por partes
A migração avançou por partes. A maioria dos sistemas, incluindo todos os serviços voltados ao cliente, já estava na nuvem antes de 2015. Depois disso, a empresa dedicou tempo a achar um caminho seguro e durável para a infraestrutura de cobrança e para todos os aspectos da gestão de dados de clientes e de funcionários.
Antes de 2015, os serviços voltados ao cliente já estavam na nuvem.
Cobrança e dados de clientes e de funcionários ficaram para depois: a empresa precisava de um caminho seguro e durável para eles.
No início de janeiro de 2016, a empresa deu a migração por concluída e desligou os últimos pedaços de data center usados pelo streaming.
A conclusão veio no início de janeiro de 2016, após sete anos, com o desligamento dos últimos pedaços de data center usados pelo serviço de streaming.
05 · RESULTADOS E CUSTO
O que a nuvem entregou
A empresa relata ter oito vezes mais membros de streaming do que em 2008, com o consumo total crescendo em três ordens de grandeza em oito anos. A elasticidade da nuvem permite adicionar milhares de servidores virtuais e petabytes de armazenamento em minutos.
Em 6 de janeiro de 2016, o serviço foi expandido para mais de 130 novos países. Várias regiões da AWS espalhadas pelo mundo permitem deslocar e expandir a capacidade de infraestrutura de forma dinâmica.
Quanto à disponibilidade, a empresa relata aumento constante, chegando perto da meta de quatro noves de uptime, apesar de períodos difíceis no início da migração.
Reduzir custo não era o principal motivo da mudança; ainda assim, o custo na nuvem por início de streaming acabou sendo uma fração do custo no data center. A empresa liga isso à elasticidade, que permite otimizar continuamente o mix de instâncias e crescer ou encolher a infraestrutura quase instantaneamente, sem grandes folgas de capacidade. Veja otimização de custo em escala.
Perguntas frequentes
O que é Netflix: 7 anos para sair do data center (2008–2016)?
Arquitetura real em produção. Pontos centrais: migração de dados online.
O que o design de Netflix: 7 anos para sair do data center (2008–2016) cobre?
Ele está organizado nestas seções: O que levou a Netflix a sair do data center, Levar tudo como está ou reconstruir, O desenho depois da migração, Sete anos, por partes e O que a nuvem entregou.
Quanto tempo leva Netflix: 7 anos para sair do data center (2008–2016) e qual é o nível?
Leva cerca de 15 minutos para ler e tem nível Pleno.
Agora projete você mesmo
Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.