Pular para o conteúdo

Arquitetura real · Pleno

Prime Video: de microsserviços serverless a monólito (custo 90% menor)

Arquitetura real em produção. Pontos centrais: Microsserviços vs Monólito, Arquitetura Serverless e Otimização de Custos em Escala.

15 min de leitura · Fonte: Prime Video · Conteúdo revisado em 23 de outubro de 2026

Resposta curta

Arquitetura real em produção. Pontos centrais: Microsserviços vs Monólito, Arquitetura Serverless e Otimização de Custos em Escala. O Prime Video oferece milhares de streams ao vivo e montou uma ferramenta para monitorar cada stream assistido pelos clientes. Ela identifica automaticamente problemas de qualidade perceptual, como corrupção de blocos ou falta de sincronia entre áudio e vídeo, e dispara um processo…

01 · CONTEXTO

Uma ferramenta que vigia cada stream

O Prime Video oferece milhares de streams ao vivo e montou uma ferramenta para monitorar cada stream assistido pelos clientes. Ela identifica automaticamente problemas de qualidade perceptual, como corrupção de blocos ou falta de sincronia entre áudio e vídeo, e dispara um processo de correção.

A equipe de análise de qualidade já tinha uma ferramenta de inspeção de áudio e vídeo, mas ela nunca foi desenhada para alta escala: a meta era monitorar milhares de streams simultâneos. Ao incluir mais streams, a equipe viu que rodar a infraestrutura em alta escala era muito caro e que havia gargalos que impediam chegar a esse número. O relato é de Marcin Kolny, publicado em 22 de março de 2023.

O serviço tem três peças: um conversor de mídia, os detectores de defeitos e a orquestração que controla o fluxo.

02 · A VERSÃO SERVERLESS

Rápida de construir, cara de escalar

A primeira versão foi um sistema distribuído com componentes serverless, orquestrados pelo AWS Step Functions e com detectores em AWS Lambda. Segundo a equipe, foi uma boa escolha para construir o serviço rapidamente. Na prática, o modo como alguns componentes foram usados levou a um limite rígido de escala em cerca de 5% da carga esperada.

  1. O conversor de mídia recebe o stream e o transforma em quadros ou buffers de áudio descriptografados que seguem para os detectores.

    Diagrama da arquitetura: Monitoramento com serverless distribuído
    CLStreams ao vivo
    CPOrquestração (Step Functions)
    CPConversor de mídiaconverte o stream
    DBArmazenamento de quadros
    CPDetectores (Lambda)
    NWNotificações de defeito
  2. O conversor envia as imagens, temporariamente, a um armazenamento de objetos.

    Diagrama da arquitetura: Monitoramento com serverless distribuído
    CLStreams ao vivo
    CPOrquestração (Step Functions)
    CPConversor de mídia
    DBArmazenamento de quadrosimagens temporárias
    CPDetectores (Lambda)
    NWNotificações de defeito
  3. Cada detector é um microsserviço separado: baixa as imagens e as processa em paralelo com Lambda. O grande número de chamadas ao armazenamento era caro.

    Diagrama da arquitetura: Monitoramento com serverless distribuído
    CLStreams ao vivo
    CPOrquestração (Step Functions)
    CPConversor de mídia
    DBArmazenamento de quadroschamadas caras
    CPDetectores (Lambda)processa em paralelo
    NWNotificações de defeito
  4. A orquestração fazia várias transições de estado a cada segundo de stream, por isso atingiu limites da conta, e o Step Functions cobra por transição.

    Diagrama da arquitetura: Monitoramento com serverless distribuído
    CLStreams ao vivo
    CPOrquestração (Step Functions)limite e custo por transição
    CPConversor de mídia
    DBArmazenamento de quadros
    CPDetectores (Lambda)
    NWNotificações de defeito
  5. Quando um detector acha um defeito, envia uma notificação em tempo real.

    Diagrama da arquitetura: Monitoramento com serverless distribuído
    CLStreams ao vivo
    CPOrquestração (Step Functions)
    CPConversor de mídia
    DBArmazenamento de quadros
    CPDetectores (Lambda)
    NWNotificações de defeitoaviso de defeito

Os dois pontos de dor eram a orquestração e a passagem de dados entre componentes.

Ao ler um diagrama de caixas e setas, vale perguntar o que cada seta custa.

03 · O MONÓLITO

Tudo em um único processo

A equipe primeiro considerou corrigir os problemas separadamente, fez experimentos e decidiu reestruturar a infraestrutura. Percebeu que a abordagem distribuída não trazia muitos benefícios neste caso e juntou todos os componentes em um único processo. A transferência de dados passou a ser em memória, o que eliminou o armazenamento de objetos como intermediário e simplificou a orquestração.

  1. Conversor, detectores e orquestração passam a rodar dentro do mesmo processo.

    Diagrama da arquitetura: Monitoramento como monólito
    CLStreams ao vivo
    CPOrquestração no processomesmo processo
    CPConversor de mídiamesmo processo
    CPDetectoresmesmo processo
    NWNotificações de defeito
  2. Os quadros vão do conversor aos detectores pela memória do processo, sem armazenamento intermediário de objetos.

    Diagrama da arquitetura: Monitoramento como monólito
    CLStreams ao vivo
    CPOrquestração no processo
    CPConversor de mídia
    CPDetectoresrecebe em memória
    NWNotificações de defeito
  3. A orquestração passa a controlar os componentes dentro de uma só instância, com lógica mais simples.

    Diagrama da arquitetura: Monitoramento como monólito
    CLStreams ao vivo
    CPOrquestração no processoorquestração simplificada
    CPConversor de mídia
    CPDetectores
    NWNotificações de defeito
  4. Os componentes são os mesmos do desenho anterior, e por isso a equipe reaproveitou muito código e migrou rápido.

    Diagrama da arquitetura: Monitoramento como monólito
    CLStreams ao vivo
    CPOrquestração no processo
    CPConversor de mídiamesmo componente
    CPDetectoresmesmo componente
    NWNotificações de defeito
  5. Os detectores continuam enviando notificações quando acham defeitos.

    Diagrama da arquitetura: Monitoramento como monólito
    CLStreams ao vivo
    CPOrquestração no processo
    CPConversor de mídia
    CPDetectores
    NWNotificações de defeitoaviso de defeito
Serverless distribuídoMonólito em um processo
OrquestraçãoStep Functions, com várias transições de estado por segundo de stream.Orquestração dentro do mesmo processo, mais simples.
Dados entre componentesImagens temporárias em armazenamento de objetos.Transferência na memória do processo.
DetectoresCada detector é um microsserviço separado.Todos rodam na mesma instância.
InfraestruturaComponentes serverless como Lambda.Amazon EC2 e Amazon ECS.

04 · O PREÇO DA ESCOLHA

Escalar na vertical e clonar o serviço

O monólito trouxe uma limitação: como todos os detectores rodam na mesma instância, eles só escalam verticalmente. A equipe adiciona detectores com frequência e já excedeu a capacidade de uma única instância.

A saída foi clonar o serviço várias vezes, cada cópia com um subconjunto de detectores, e criar uma camada leve de orquestração para distribuir as requisições dos clientes.

  1. As requisições dos clientes chegam a uma camada leve de orquestração, que as distribui.

    Diagrama da arquitetura: Cópias do monólito com subconjuntos de detectores
    CLStreams ao vivo
    CPCamada leve de distribuiçãodistribui requisições
    CPCópia com um subconjunto de detectores
    CPCópia com outro subconjunto
    CPCópia com mais um subconjunto
    NWNotificações de defeito
  2. Cada cópia do serviço é parametrizada com um subconjunto diferente de detectores.

    Diagrama da arquitetura: Cópias do monólito com subconjuntos de detectores
    CLStreams ao vivo
    CPCamada leve de distribuição
    CPCópia com um subconjunto de detectoresparte dos detectores
    CPCópia com outro subconjuntooutra parte
    CPCópia com mais um subconjuntooutra parte
    NWNotificações de defeito
  3. Os detectores de uma mesma instância só escalam na vertical; a saída foi clonar o serviço.

    Diagrama da arquitetura: Cópias do monólito com subconjuntos de detectores
    CLStreams ao vivo
    CPCamada leve de distribuição
    CPCópia com um subconjunto de detectoresescala vertical
    CPCópia com outro subconjunto
    CPCópia com mais um subconjunto
    NWNotificações de defeito
  4. Os detectores de cada cópia enviam notificações ao achar defeitos.

    Diagrama da arquitetura: Cópias do monólito com subconjuntos de detectores
    CLStreams ao vivo
    CPCamada leve de distribuição
    CPCópia com um subconjunto de detectores
    CPCópia com outro subconjunto
    CPCópia com mais um subconjunto
    NWNotificações de defeitoaviso de defeito

Outra decisão que o post descreve como pouco óbvia: a equipe replicou o processo caro de conversão de mídia e o colocou perto dos detectores. Converter uma vez e guardar o resultado em cache poderia parecer mais barato, mas ela não o achou custo-efetivo.

05 · RESULTADOS E LIÇÕES

O que mudou e o que levar para a entrevista

Segundo o post, mover o serviço para um monólito reduziu o custo de infraestrutura em mais de 90% e aumentou a capacidade de escala. Hoje o serviço trata milhares de streams e ainda tem capacidade para crescer. Rodar em Amazon EC2 e Amazon ECS também permitiu usar os planos de economia de computação do EC2.

As mudanças permitem monitorar todos os streams vistos pelos clientes, e não só os de maior audiência.

Em entrevista, antes de dividir um sistema em serviços, pergunte onde estarão as setas entre os componentes e o que cada uma custa em preço, em limite e em dados movidos. Se o ponto de escala e de custo está justamente na comunicação entre as peças, juntar essas peças pode ser a resposta; se as peças têm cargas muito diferentes, a divisão continua fazendo sentido.

Perguntas frequentes

O que é Prime Video: de microsserviços serverless a monólito (custo 90% menor)?

Arquitetura real em produção. Pontos centrais: Microsserviços vs Monólito, Arquitetura Serverless e Otimização de Custos em Escala.

O que o design de Prime Video: de microsserviços serverless a monólito (custo 90% menor) cobre?

Ele está organizado nestas seções: Uma ferramenta que vigia cada stream, Rápida de construir, cara de escalar, Tudo em um único processo, Escalar na vertical e clonar o serviço e O que mudou e o que levar para a entrevista.

Quanto tempo leva Prime Video: de microsserviços serverless a monólito (custo 90% menor) 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.