O que é o Azure Batch?
Poucas organizações têm os recursos para suportar implantações permanentes de plataformas de computação extremamente poderosas que só ocasionalmente podem ser utilizadas à capacidade máxima. Normalmente, você precisa de uma solução de computação flexível e escalável, como o Azure Batch, para fornecer o poder computacional.
Como parte do processo de execução de OCR nas imagens carregadas de medidores de purificação de água usando o Azure Batch, você precisa ter uma compreensão dos principais componentes de um fluxo de trabalho do Azure Batch.
Aqui, você verá para que o Lote do Azure foi projetado e como os componentes do Lote são usados em um fluxo de trabalho típico.
Tarefas de computação intensiva e cargas de trabalho paralelas
Algumas cargas de trabalho exigem enorme poder computacional. Os exemplos incluem modelagem de risco financeiro, renderização de imagens 3D, transcodificação de mídia e análise de sequência genética. Em alguns casos, essas cargas de trabalho podem ser divididas em subtarefas separadas e podem ser executadas em paralelo para que as tarefas sejam executadas em muito menos tempo. Três máquinas virtuais (VMs) podem fazer o trabalho de uma em um terço do tempo.
Como parte do projeto OCR para organizações sem fins lucrativos, você pode usar o Lote do Azure para particionar o trabalho de execução do OCR para que o processamento seja feito em paralelo e leve muito menos tempo para ser concluído.
Os componentes do Azure Batch
Você pode usar o Lote do Azure para essas tarefas paralelas de grande escala e computacionalmente intensivas no Azure. Em um alto nível, o Azure Batch envolve muitos componentes trabalhando juntos. Tudo precisa ocorrer no contexto de uma conta do Azure Batch, que atua como um container para todos os recursos do Batch.
Para alguns casos de uso, talvez você queira associar essa conta a uma conta de Armazenamento do Azure para baixar arquivos de entrada e aplicativos para uso durante a execução e o armazenamento de seus resultados. Na sua conta do Azure Batch, pode criar pools de nós de computação virtual, executando Windows ou Linux, do número e tamanho de CPU e memória que especificar, que são geridos e agendados pelo serviço de lote do Azure para si. Uma conta Batch pode conter muitos pools Batch.
Depois de criar um ou mais pools, você cria trabalhos individuais, que agem como contêineres lógicos para todas as tarefas agendadas e podem compartilhar propriedades comuns. Mais uma vez, é perfeitamente possível ter muitos empregos.
E, finalmente, você cria tarefas, que descrevem como o trabalho realmente é feito. Você pode usar tarefas para invocar diretamente a linha de comando ou as tarefas podem executar aplicativos que você carrega no Armazenamento do Azure. Veremos todos os principais componentes do Azure Batch trabalhando juntos no próximo exercício.
Fluxo de trabalho típico do Azure Batch
Então, como é um fluxo de trabalho típico do Azure Batch? Conforme mostrado no gráfico a seguir, um cenário típico do Azure Batch do mundo real requer dados e arquivos de aplicativo. O fluxo de trabalho em lote começa carregando esses dados e arquivos de aplicativo em uma conta de armazenamento do Azure. Em seguida, crie um pool de lotes com quantos nós de computação virtual Windows ou Linux forem necessários. Você também pode dimensioná-los automaticamente de acordo, caso as demandas de suas cargas de trabalho variem ao longo do tempo.
Em seguida, o serviço Batch trata de colocar os nós online e agendar tarefas para execução nos nós. Antes de as tarefas começarem a ser executadas, eles podem baixar todos os dados e arquivos de aplicativos do armazenamento de que precisam para processamento. Enquanto as tarefas estão em execução, é possível consultar o status dos nós e o progresso das tarefas. Depois que os nodos concluírem suas tarefas, a saída da tarefa poderá ser examinada ou carregada para o armazenamento Azure.