O provedor de streaming Netflix armazena seus vídeos para uma entrega ótima em diferentes velocidades de internet e dispositivos de reprodução em diferentes Resoluções, níveis de qualidade e formatos. Desenvolvida foi a plataforma de codificação "Reloaded" por cerca de sete anos. Entretanto, entretanto, a carga da Netflix cresceu dez vezes graças a uma expansão para mais mercados e significativamente mais conteúdo. De acordo com o blog de engenharia da Netflix, isto tem causado problemas. Os desenvolvedores responsáveis desenvolveram, portanto, uma nova plataforma de codificação chamada "Cosmos" criado.
Como explica Frank San Miguel em nome da equipe do Cosmos, a antiga arquitetura da Reloaded foi projetada exclusivamente para escalar o conteúdo de áudio e vídeo da melhor forma possível. Entretanto, a arquitetura monolítica tornou muito mais difícil a introdução de novas características. Além disso, a equipe responsável pela codificação cresceu significativamente nos últimos anos, o que significou que os novos membros, em particular, praticamente não tinham uma visão geral da arquitetura obsoleta do Reloaded. O responsável por isso foi sobretudo o da lógica de aplicação com o código de infra-estrutura.
Arquiteturas Microservices como um modelo a ser seguido
Devido aos grandes problemas, a equipe decidiu por um desenvolvimento completamente novo ao invés de uma revisão da arquitetura existente. A arquitetura moderna dos microserviços foi escolhida como modelo. Além das tarefas reais de codificação, isto permite a adição modular de outros serviços, incluindo uma ferramenta de monitoramento e ferramentas para o canal de entrega contínua. Isto deve permitir que um novo código seja desenvolvido diretamente no ambiente de produção.Contribuições pode ser importado sem intervenções adicionais.
Apesar das semelhanças, os serviços Cosmos não são microserviços. Os dados de aplicação e suas dependências também são separados de outros sistemas na ferramenta de codificação Netflix, como nos microserviços, mas os serviços utilizam APIs claramente definidas para o intercâmbio de dados.
O trabalho altamente intensivo de computação que ocorre ao lado da codificação de cargas, suas dependências como contêineres Docker. Dependendo do tamanho da tarefa, estes são vários milhares de recipientes diferentes na Netflix, que são armazenados em um computação em nuvem ambiente. De acordo com os desenvolvedores, uma execução leva freqüentemente vários dias para arquivos particularmente grandes.
O desenvolvimento do Cosmos começou em 2018, com testes iniciais no ambiente do produto a partir de 2019. A implantação real do sistema, que então substituirá completamente a plataforma de codificação Reloaded, ocorrerá no ano corrente de 2021.