Arquitetura real · Pleno
Netflix: o que acontece ao apertar play (Open Connect)
Arquitetura real em produção. Pontos centrais: entrega de blobs e vídeo.
Resposta curta
Arquitetura real em produção. Pontos centrais: entrega de blobs e vídeo. A Open Connect é o nome da rede global responsável por entregar a Netflix. É uma CDN: uma rede que entrega conteúdo da internet por HTTP e HTTPS, de forma eficiente, levando o conteúdo para perto de onde as pessoas o assistem.
01 · CONTEXTO
Por que a Netflix criou a própria rede de entrega
A Open Connect é o nome da rede global responsável por entregar a Netflix. É uma CDN: uma rede que entrega conteúdo da internet por HTTP e HTTPS, de forma eficiente, levando o conteúdo para perto de onde as pessoas o assistem.
O programa começou em 2011, em resposta a uma escala cada vez maior, e por duas razões. A primeira: a Netflix passou a ser uma parcela significativa do tráfego nas redes dos provedores de acesso (ISPs), e era preciso trabalhar com eles de forma direta e colaborativa. A segunda: a solução proativa e dirigida de cache é muito mais eficiente que a CDN padrão.
Segundo a Netflix, essa solução reduz a demanda geral sobre a rede a montante, em comparação com a CDN por demanda, em várias ordens de grandeza.
02 · ONDE FICAM OS APPLIANCES
Dentro do provedor ou no ponto de troca
Os blocos de construção da infraestrutura são appliances feitos para esse fim: appliances de cache chamados Open Connect Appliances (OCAs). A responsabilidade deles é guardar os bits reproduzíveis e disponibilizar o conteúdo aos aparelhos.
A rede de OCAs é implantada de duas formas. Na primeira, a Netflix instala OCAs em pontos de troca de tráfego (IXPs) de mercados significativos, e eles se interconectam aos provedores presentes por peering sem liquidação financeira. Na segunda, fornece OCAs sem custo a provedores qualificados, e eles ficam diretamente dentro da rede do provedor, com as mesmas capacidades.
| Embutido no provedor | No ponto de troca (IXP) | |
|---|---|---|
| Onde fica | Diretamente dentro da rede do provedor | Dentro de pontos de troca de tráfego em mercados significativos |
| Conexão | Peering para resiliência e para o preenchimento noturno eficiente | Peering público ou privado sem liquidação financeira com os provedores presentes |
| Quem fornece | A Netflix dá o hardware; o provedor dá energia, espaço e conectividade | A Netflix instala os OCAs |
| Capacidades | As mesmas dos OCAs em IXPs | As mesmas dos OCAs embutidos |
O appliance embutido fica na rede do provedor, e é o provedor quem controla quais clientes são roteados para ele.
No ponto de troca, o appliance se interconecta por peering com os provedores presentes.
Os dois tipos de appliance têm as mesmas capacidades e reportam saúde, rotas e arquivos em disco ao plano de controle.
Cada local de implantação é adaptado sob medida pela equipe do Open Connect, com base em características da rede local e em fatores de planejamento de capacidade. Nos OCAs dentro dos provedores, a Netflix fornece o hardware do servidor e o provedor fornece energia, espaço e conectividade.
03 · O CAMINHO DE UMA REPRODUÇÃO
Quem escolhe o appliance
O documento da Netflix diz que um OCA faz essencialmente duas coisas: reporta seu estado aos serviços do plano de controle, na AWS, e serve conteúdo por HTTP e HTTPS quando um aparelho pede. Ele não guarda dados do cliente, como histórico de visualização, informações de DRM ou dados de assinante.
O plano de controle usa o que os OCAs reportam (métricas de saúde, rotas BGP aprendidas e arquivos em disco) para direcionar clientes, por URL, aos OCAs mais adequados segundo disponibilidade de arquivos, saúde e proximidade de rede.
Os appliances reportam periodicamente saúde, rotas aprendidas e conteúdo aos serviços de controle de cache.
Um usuário pede a reprodução de um título.
Os serviços de reprodução verificam autorização e licenciamento e determinam quais arquivos atendem ao pedido.
O serviço de direcionamento usa as informações guardadas pelo controle de cache para escolher os appliances e gerar as URLs.
Os serviços de reprodução entregam as URLs ao aparelho e o appliance passa a servir os arquivos pedidos.
| Appliance (OCA) | Plano de controle (AWS) | |
|---|---|---|
| Função | Reporta seu estado e serve conteúdo por HTTP e HTTPS | Direciona clientes por URL, controla o comportamento de preenchimento e calcula o armazenamento e o hashing de arquivos |
| Dados | Não guarda dados do cliente | Guarda e interpreta telemetria relevante sobre a reprodução |
| Saúde, rotas e arquivos | Reporta métricas de saúde, rotas BGP e arquivos em disco | Usa o que foi reportado para direcionar clientes aos OCAs |
04 · PREENCHIMENTO FORA DO PICO
Encher os appliances quando a rede está livre
A Netflix descreve como um benefício um tanto único poder implantar a maior parte do conteúdo e das atualizações de software de forma proativa, em janelas de preenchimento fora do pico. Ela afirma prever com alta precisão o que os assinantes vão assistir e a que horas.
Como consegue prever isso, a Netflix usa banda fora do pico para baixar a maior parte das atualizações de conteúdo para os OCAs, em janelas de tempo configuráveis.
O plano de controle controla o comportamento de preenchimento dos appliances.
Na janela fora do pico, os appliances baixam o conteúdo novo.
Um appliance também pode baixar atualizações de outro, o que minimiza o uso de capacidade do backbone da internet no ciclo de atualização.
Na reprodução, o plano de controle direciona o aparelho a um appliance, segundo disponibilidade de arquivos, saúde e proximidade de rede.
Os OCAs também podem baixar atualizações uns dos outros, o que minimiza o uso de capacidade do backbone da internet no ciclo de atualização. Os provedores com OCAs embutidos também usam peering para viabilizar o preenchimento noturno e as atualizações com eficiência.
Segundo o texto do High Scalability, há OCAs grandes, que guardam o catálogo inteiro, e menores, que guardam só uma parte dele; os menores são preenchidos todos os dias, em horário fora do pico, por um processo que a Netflix nomeia.
O plano de controle usa algoritmos de popularidade e técnicas de armazenamento para que o conteúdo seja distribuído de modo a maximizar a eficiência de offload e a qualidade de experiência, minimizando o churn, na forma de atualizações do conteúdo.
Perguntas frequentes
O que é Netflix: o que acontece ao apertar play (Open Connect)?
Arquitetura real em produção. Pontos centrais: entrega de blobs e vídeo.
O que o design de Netflix: o que acontece ao apertar play (Open Connect) cobre?
Ele está organizado nestas seções: Por que a Netflix criou a própria rede de entrega, Dentro do provedor ou no ponto de troca, Quem escolhe o appliance e Encher os appliances quando a rede está livre.
Quanto tempo leva Netflix: o que acontece ao apertar play (Open Connect) 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.