Pular para o conteúdo principal

Um guia abrangente para usar instâncias Spot do Azure para redução de custos

Explore como as Máquinas Virtuais Spot do Azure funcionam, como elas podem reduzir significativamente seus custos de nuvem e descubra estratégias para sua implementação prática.
Actualizado 29 de jul. de 2024  · 10 min de leitura

A computação em nuvem é útil para aplicativos de ciência de dados e IA. Há muitos provedores de nuvem, e a escolha do provedor certo é crucial para nosso aplicativo. No entanto, um grande desafio na computação em nuvem é o gerenciamento de custos. Quando implantamos aplicativos e cargas de trabalho na nuvem, precisamos estar cientes dos custos, pois as máquinas que operam na nuvem podem ser muito caras. 

Neste artigo, exploraremos as máquinas virtuais (VMs) do Azure Spot, também chamadas de instâncias do Azure Spot. Essas máquinas nos permitem economizar custos ao implementar o Microsoft Azure. Se você é novo no Microsoft Azure e precisa de uma introdução, consulte nosso curso Introdução ao Azure. Para usuários mais avançados, nosso curso de Arquitetura e Serviços do Azure seria útil. Por fim, se você estiver procurando uma referência rápida, nossa planilha simples comparando os diferentes provedores de nuvem pode ser encontrada aqui: Comparação de serviços AWS, Azure e GCP para ciência de dados e IA.  

Vamos nos aprofundar nas VMs do Azure Spot.

O que são VMs do Azure Spot?

As VMs do Azure Spot são máquinas virtuais sobressalentes nos data centers do Azure em um determinado momento. Como essas máquinas não estão sendo usadas atualmente, o Azure as oferece a preços significativamente reduzidos, às vezes com um desconto de até 90% em comparação com o preço padrão das VMs do Azure. 

Essa redução de custos, no entanto, vem acompanhada de incertezas. Se houver um aumento na demanda por VMs de outros usuários, o Azure poderá recuperar essas VMs Spot a qualquer momento, sem aviso prévio. Isso torna as VMs Spot muito imprevisíveis. Como resultado, devemos usar as VMs Spot somente para tarefas que não exijam disponibilidade constante e que possam ser interrompidas. Algumas dessas tarefas incluem:

Trabalhos em lote

Os trabalhos em lote são tarefas que podem ser executadas em um computador sem intervenção manual. Essas tarefas geralmente são processadas em grandes grupos ou "lotes", sequencialmente ou em paralelo. Esses trabalhos geralmente têm horários flexíveis de início e término e, portanto, podem ser pausados e retomados sem interrupções significativas. 

Por exemplo, considere uma instituição financeira que precisa processar transações no final de cada dia útil. Eles podem configurar um trabalho em lote para carregar automaticamente todas as milhares ou milhões de transações de várias fontes, validá-las e, em seguida, atualizar os saldos das contas de acordo. 

Ambientes de teste e desenvolvimento

Os ambientes de teste e desenvolvimento são ambientes em que os desenvolvedores de software podem criar e testar aplicativos sem afetar o ambiente de produção ao vivo. A configuração desses ambientes pode ser cara, e é nesse ponto que as VMs Spot podem ser usadas. 

Por exemplo, imagine uma equipe trabalhando em um site de comércio eletrônico. Eles querem experimentar um novo recurso no site que recomenda produtos com base no histórico de navegação do usuário. Eles podem desenvolver esse recurso em seu ambiente de desenvolvimento e, em seguida, transferi-lo para um ambiente de teste, para testar rigorosamente os bugs, os problemas de desempenho e a experiência do usuário. Isso pode ser feito em VMs Spot para diferentes configurações. Após um teste bem-sucedido, eles podem implementar o recurso no ambiente de produção, disponibilizando-o para os clientes.

Aplicativos tolerantes a falhas

Os aplicativos tolerantes a falhas são aqueles que podem continuar operando sem interrupção, mesmo quando determinados componentes falham. Isso pode ser obtido com mecanismos integrados de redundância e failover. Esses aplicativos são adequados para VMs Spot. Um exemplo desse tipo de aplicativo pode ter vários servidores que lidam com solicitações de usuários. Se um servidor falhar, o sistema redirecionará automaticamente as solicitações para outro servidor. Como essas operações são tolerantes a falhas, elas podem ser usadas em VMs Spot para economizar custos.

Benefícios das VMs Spot do Azure

O principal benefício de usar VMs do Azure Spot é a economia substancial de custos. Como mencionamos, isso pode representar até 90% de desconto em comparação com os preços de VMs sob demanda. Como resultado desse desconto, podemos aumentar ou diminuir as cargas de trabalho com base na capacidade disponível, o que nos permite executar operações de grande escala que, de outra forma, seriam muito caras com VMs sob demanda. Além disso, com as VMs Spot, podemos definir o preço máximo que estamos dispostos a pagar pela VM. Isso nos dá controle sobre nossos gastos. 

Quando a VM for recuperada pelo Azure, também poderemos selecionar uma política de despejo para especificar o que acontecerá em seguida - podemos desalocar ou excluir nossa VM. Se selecionarmos desalocar a VM, ela será interrompida, mas não será excluída. Dessa forma, podemos reiniciar a VM quando ela estiver disponível novamente. Nesse meio tempo, pagaremos apenas os custos de armazenamento. Se optarmos por excluir nossa VM, todos os nossos dados e cargas de trabalho serão excluídos. 

Como implantar uma VM Spot

Nesta seção, explicamos como implantar uma VM Spot e selecionar as opções associadas a ela, como preço e política de despejo. Você pode implantar uma única VM Spot ou um grupo de VMs Spot, conhecido como Spot VM Scale Set.

VMs de ponto único 

A maneira mais fácil é criar uma VM no portal do Azure. 

  1. Selecione Máquinas virtuais em Serviços no portal e, em seguida, selecione Criar
  2. Na página Criar uma máquina virtual, preencha todos os detalhes e marque a caixa de seleção Executar com o desconto do Azure Spot
  3. Em seguida, você precisa selecionar o tipo de evicção e a política de evicção.  
  4. Para o tipo de Evicção, você pode selecionar Somente capacidade ou Preço ou capacidade. Ao selecionar Capacity, você só despeja nossa VM quando as VMs do Azure estão em alta demanda. Essa opção define o preço máximo que estamos dispostos a pagar pela VM Spot. Para reduzir o preço máximo, podemos selecionar Preço ou Capacidade. Em seguida, precisamos preencher o preço máximo que estamos dispostos a pagar. Para essa opção, o Azure despeja a VM quando a VM do Azure está em alta demanda ou quando o custo de uma VM Spot excede o preço máximo especificado.
  5. Também precisamos selecionar uma política de despejo - isso é o que aconteceria se o Azure despejasse nossa máquina. Você pode selecionar Deallocate (desalocar) ou Delete(excluir). Ao selecionar Desalocar, você interrompe a VM, mas não exclui os dados ou aplicativos da VM. Não seremos cobrados pela VM enquanto ela estiver parada, mas seremos cobrados por qualquer armazenamento associado. Essa opção é adequada se você quiser reiniciar a VM quando a capacidade estiver disponível novamente. Se, em vez disso, selecionarmos Excluir, a VM e qualquer armazenamento temporário associado serão excluídos quando o Azure recuperar a instância. 

uma máquina virtual no Microsoft AzureCriando Criando uma máquina virtual. Fonte: Imagem do autor

Você também pode usar a CLI do Azure e o Azure PowerShell, entre outros métodos, para iniciar uma VM Spot. Para obter mais detalhes, consulte a documentação do Azure sobre VMs Spot

Conjuntos de dimensionamento de máquinas virtuais (VMSS) pontuais 

Também podemos criar grupos de VMs Spot conhecidos como Spot Virtual Machine Scale Sets. Para fazer isso, procure por conjuntos de dimensionamento de máquinas virtuais no portal do Azure e crie um. O VMSS nos permite automatizar a implantação e o gerenciamento de várias VMs Spot, facilitando a ampliação e a redução conforme necessário. Podemos definir critérios para dimensionamento, como uso da CPU ou tráfego de rede, e definir uma capacidade desejada com base em nossos requisitos de preço máximo e disponibilidade.

Práticas recomendadas para VMs do Azure Spot

Recomendamos essas práticas recomendadas ao usar VMs Spot para garantir que nossas cargas de trabalho permaneçam resilientes e econômicas.

Verifique a capacidade

Antes de implantar VMs Spot, verifico a capacidade disponível na região desejada e para os tamanhos de VM que pretendo usar. A capacidade do Azure flutua com base na demanda de outros clientes, portanto, verificar a disponibilidade pode nos ajudar a tomar decisões informadas sobre a implantação de nossas cargas de trabalho.

Definir preço máximo

Eu defino o preço máximo que estou disposto a pagar por hora por uma VM. Isso ajuda a controlar os custos.

Projeto para interrupções

Como as VMs Spot podem ser antecipadas a curto prazo, recomendo que você projete cargas de trabalho para serem resilientes a interrupções. Use estratégias como pontos de verificação para salvar periodicamente o trabalho, permitindo assim que você retome o trabalho a partir do último ponto de verificação em vez de começar tudo de novo. No caso de cargas de trabalho de processamento distribuído, garanta que as tarefas possam ser redistribuídas entre as instâncias restantes para manter o rendimento do processamento, mesmo que algumas instâncias sejam preteridas.

Configurar o monitoramento

O monitoramento eficaz é outra estratégia crucial para gerenciar as VMs Spot com eficiência. O Azure fornece ferramentas para que você acompanhe o uso, os custos e os eventos de despejo das VMs Spot. Ao monitorar essas métricas, podemos obter insights sobre o desempenho de nossas VMs Spot, o que nos permitirá ajustar nossa estratégia conforme necessário. 

VMs do Azure Spot versus VMs do Azure Spot. Instâncias reservadas

Às vezes, usar uma VM reservada pode ser mais razoável do que usar uma VM local, dependendo do aplicativo. As VMs reservadas são outro tipo de VM que também nos permite otimizar nossos custos de nuvem. Esta seção explica as diferenças entre essas duas instâncias.

VMs pontuais

Como já vimos, as VMs Spot proporcionam uma economia significativa de custos, às vezes, até 90% em comparação com os preços sob demanda. No entanto, essas instâncias podem ser recuperadas pelo Azure com pouco aviso prévio, dependendo da demanda por capacidade. Como resultado, devemos usar instâncias pontuais para cargas de trabalho que sejam flexíveis em termos de tempo e que possam lidar com interrupções. Isso inclui trabalhos de processamento em lote, ambientes de desenvolvimento e teste e aplicativos sem estado que podem ser facilmente distribuídos em várias instâncias. 

Instâncias reservadas

As instâncias reservadas, por outro lado, são adquiridas por um período de um ou três anos. Podemos selecionar um tipo específico de VM com um desconto significativo em relação ao preço sob demanda em troca do compromisso de usá-lo por um ano ou três anos. A principal vantagem de usar as Instâncias Reservadas é que você não corre o risco de ser expulso do Azure. Se a carga de trabalho tiver padrões de uso previsíveis e exigir disponibilidade constante, as instâncias reservadas provavelmente serão a melhor opção.

Em resumo, a escolha entre VMs Spot do Azure e Instâncias Reservadas se resume às necessidades específicas relacionadas a custo, flexibilidade e confiabilidade.

Conclusão

As VMs do Azure Spot são uma ótima solução para você obter uma computação em nuvem econômica. Eles podem nos oferecer descontos substanciais, às vezes de até 90% em comparação com os preços sob demanda. 

As VMs do Azure Spot são particularmente úteis para cargas de trabalho que são flexíveis e podem tolerar interrupções. Isso inclui trabalhos de processamento em lote, ambientes de desenvolvimento e teste ou qualquer aplicativo que não exija tempo de atividade constante. Para essas cargas de trabalho, as VMs Spot podem nos ajudar a reduzir significativamente os custos.

Para saber mais sobre as VMs do Azure Spot, confira estes recursos:

  • Documentação do Azure: A documentação oficial do Azure é um excelente ponto de partida, oferecendo guias detalhados, práticas recomendadas e referências técnicas sobre o uso de VMs Spot.
  • Fóruns e suporte da comunidade: Os fóruns da comunidade do Azure e os canais de suporte são recursos valiosos para obter respostas a perguntas específicas e aprender com as experiências de outros usuários do Azure.

Se você gostou deste artigo, confira estas outras publicações: Perguntas da entrevista sobre o Azure DevOps e uso do GPT no Azure.

Temas

Aprenda com a DataCamp

Certificação disponível

curso

Entendendo a computação em nuvem

2 hr
81.7K
Uma introdução não codificada à computação em nuvem, abrangendo os principais conceitos, a terminologia e as ferramentas.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

Os prós e contras de usar LLMs na nuvem versus executar LLMs localmente

Principais considerações para selecionar a estratégia de implementação ideal para LLMs.
Abid Ali Awan's photo

Abid Ali Awan

8 min

blog

O que é o Microsoft Fabric?

Descubra como o Microsoft Fabric revoluciona a análise de dados e saiba como seus principais recursos capacitam as empresas a tomar decisões orientadas por dados.
Kurtis Pykes 's photo

Kurtis Pykes

10 min

blog

5 maneiras exclusivas de usar a IA na análise de dados

A análise de dados com IA está em alta entre os profissionais de dados. Aprenda cinco maneiras exclusivas de aproveitar o poder da IA para a análise de dados neste guia.
Austin Chia's photo

Austin Chia

blog

As 5 melhores certificações de nuvem para dar o pontapé inicial em sua carreira em 2024

Explore as melhores certificações de nuvem para 2024 em nosso guia abrangente. Descubra como certificações como AWS, Azure e CompTIA Cloud+ podem impulsionar sua carreira.
Matt Crabtree's photo

Matt Crabtree

9 min

tutorial

O guia completo para machine learning na AWS com o Amazon SageMaker

Este tutorial abrangente ensina você a usar o AWS SageMaker para criar, treinar e implantar modelos de machine learning. Nós guiamos você por todo o fluxo de trabalho, desde a configuração do seu ambiente AWS e a criação de uma instância de notebook do SageMaker até a preparação de dados, modelos de treinamento e sua implementação como endpoints.
Bex Tuychiev's photo

Bex Tuychiev

25 min

tutorial

Um guia completo para armazenamento de dados no AWS com o Redshift

Este guia do AWS Redshift abrange a configuração e o gerenciamento de um data warehouse na nuvem, o carregamento de dados, a execução de consultas complexas, a otimização do desempenho, a integração com ferramentas de BI e fornece práticas recomendadas e dicas de solução de problemas para que você tenha sucesso.
Zoumana Keita 's photo

Zoumana Keita

20 min

Ver maisVer mais