Renderizar usando o Azure

A renderização é o processo de obter modelos 3D e convertê-los em imagens 2D. Os arquivos de cenas 3D são criados em aplicativos como Autodesk 3ds Max, Autodesk Maya e Blender. Aplicativos de renderização como Autodesk Maya, Autodesk Arnold, Chaos Group V-Ray e Blender Cycles produzem imagens 2D. Às vezes, imagens individuais são criadas a partir dos arquivos de cena. No entanto, é comum modelar e renderizar várias imagens e, em seguida, combiná-las em uma animação.

A carga de trabalho de renderização é muito usada para efeitos especiais (VFX) na indústria de Mídia e Entretenimento. A renderização também é usada em muitos outros setores como publicidade, varejo, petróleo e gás e manufatura.

O processo de renderização é computacionalmente intensivo, isso significa que pode haver muitos quadros/imagens a serem produzidos e cada imagem poderá demorar muitas horas para ser renderizada. A renderização é, portanto, uma carga de trabalho de processamento em lote perfeita, que pode aproveitar o Azure para executar muitas renderizações em paralelo e utilizar uma ampla variedade de hardwares, incluindo GPUs.

Por que usar o Azure para renderização?

Por vários motivos, a renderização é uma carga de trabalho perfeitamente adequada para Azure:

  • As tarefas de renderização podem ser divididas em várias partes que podem ser executadas em paralelo usando várias VMs:
    • As animações consistem em muitos quadros e cada quadro pode ser renderizado em paralelo. Quanto mais VMs estiverem disponíveis para processar cada quadro, mais rapidamente todos os quadros e a animação poderão ser produzidos.
    • Alguns softwares de renderização permitem que quadros únicos sejam divididos em várias partes, como blocos ou fatias. Cada parte poderá ser renderizada separadamente e, em seguida, combinada na imagem final quando todas as partes tiverem sido concluídas. Quanto mais VMs estiverem disponíveis, mais rápido um quadro poderá ser renderizado.
  • Projetos de renderização podem exigir grande escala:
    • Quadros individuais podem ser complexos e exigem muitas horas para serem renderizados, mesmo em hardwares de alta tecnologia, pois animações podem consistir em centenas de milhares de quadros. Uma quantidade enorme de computação é necessária para renderizar animações de alta qualidade em um período de tempo razoável. Em alguns casos, mais de 100.000 núcleos são usados para renderizar milhares de quadros em paralelo.
  • Os projetos de renderização são baseados em projetos e exigem quantidades variáveis de computação:
    • Aloque a capacidade de armazenamento computação e quando necessário, escale-a ou reduza verticalmente de acordo com a carga durante um projeto e remova-a quando o projeto for concluído.
    • Pague pela capacidade quando alocada, mas não pague quando não houver carga, como, por exemplo, entre projetos.
    • Atenda a intermitências devido a alterações inesperadas, isto é, escala maior se houver alterações inesperadas no final de um projeto e essas alterações precisarem ser processadas em um cronograma rigoroso.
  • Escolha entre uma ampla seleção de hardware de acordo com aplicativo, carga de trabalho e período de tempo:
    • Há uma ampla seleção de hardware disponível no Azure que pode ser alocado e gerenciado com o Lote.
    • Dependendo do projeto, o requisito pode ser o melhor preço/desempenho ou o melhor desempenho geral. Cenas e/ou aplicativos de renderização diferentes terão requisitos de memória diferentes. Alguns aplicativos de renderização podem usar GPUs para obter o melhor desempenho ou determinados recursos.
  • As VMs Spot do Azure ou de baixa prioridade reduzem o custo:
    • VM spots e de baixa prioridade estão disponíveis para um grande desconto em comparação com as VMs padrão e são adequadas para alguns tipos de trabalho.

Ambiente de renderização local existente

O caso mais comum é que haja uma render farm local existente, gerenciada por um aplicativo de gerenciamento de renderização como o PipelineFX Qube, o Royal Render, o Thinkbox Deadline ou um aplicativo personalizado. O requisito é estender a capacidade do farm de renderização local usando VMs do Azure.

A infraestrutura e os serviços do Azure são usados para criar um ambiente híbrido em que o Azure é usado para complementar a capacidade local. Por exemplo:

  • Use uma Rede Virtual para colocar os recursos do Azure na mesma rede que o farm de renderização local.
  • Use o Avere vFXT para Azure ou o Azure HPC Cache para armazenar arquivos de origem em cache no Azure para reduzir o uso e a latência da largura de banda, maximizando o desempenho.
  • Certifique-se de que o servidor de licença existente esteja na rede virtual e compre mais licenças na medida do necessário para atender à capacidade extra baseada no Azure.

Nenhum farm de renderização existente

As estações de trabalho do cliente podem estar executando renderizações, mas a carga de renderização está aumentando e demorando muito para usar exclusivamente a capacidade da estação de trabalho.

Existem duas principais opções disponíveis:

  • Implante um gerenciador de renderização local, como Royal Render, e configure um ambiente híbrido para usar o Azure quando mais capacidade ou desempenho for necessário. Um gerenciador de renderização é adaptado especificamente para renderizar cargas de trabalho e inclui plugins dos aplicativos clientes mais populares, permitindo um fácil envio dos trabalhos de renderização.

  • Uma solução personalizada usando o Lote do Azure para alocar e gerenciar a capacidade de computação e fornecer o agendamento de trabalhos para executar os trabalhos de renderização.

Próximas etapas

Saiba mais sobre os recursos de renderização de Lote do Azure.