Reduza os custos de hospedagem de jogos com frotas Spot - Amazon GameLift Servers

Reduza os custos de hospedagem de jogos com frotas Spot

Ao hospedar servidores de jogos multijogador usando hospedagem gerenciada pelo Amazon GameLift Servers, as instâncias spot podem fornecer uma alternativa econômica às instâncias sob demanda. O modelo de preços spot oferece o mesmo hardware e desempenho do On-Demand, mas com economias de custo potencialmente significativas (até 70-90%). No entanto, eles vêm com uma limitação: quando o AWS precisa recuperar a capacidade, ele pode recuperar essas instâncias com uma notificação de interrupção de dois minutos.

O Amazon GameLift Servers reduz o risco de interrupções na hospedagem do servidor de jogos. O Amazon GameLift Servers prevê a probabilidade de interrupções nos tipos de instância Spot e evita colocar sessões de jogo em qualquer instância em risco. Se ocorrer uma interrupção rara, a notificação permite que você encerre normalmente uma sessão de jogo para os jogadores.

Como o Amazon GameLift Servers funciona com frotas Spot

Quando você configura frotas Spot para hospedagem de jogos, o Amazon GameLift Servers avalia continuamente os tipos e locais de instância da sua frota Spot para verificar a viabilidade da hospedagem de jogos.

  • O algoritmo de viabilidade Spot analisa os padrões recentes de disponibilidade e as taxas históricas de interrupção dos tipos de instância Spot por local.

  • Com base nessa análise, o Amazon GameLift Servers identifica os tipos de instância Spot e os locais em que há um potencial inaceitável de interrupção da sessão de jogo. Ele realiza as seguintes ações:

    • Isso marca a combinação do tipo e da localização da instância como temporariamente inviável.

    • Ele remove qualquer localização inviável da frota Spot da consideração ao realizar novas sessões de jogo. Como resultado, as sessões de jogo são colocadas apenas em locais da frota Spot que têm uma alta probabilidade de hospedagem ininterrupta de servidores de jogos.

    • Ele esgota a localização da frota Spot das instâncias existentes, mesmo que a AWS não as recupere, então você não está pagando por instâncias que não podem ser usadas para hospedagem de jogos. Se a proteção da sessão de jogo estiver ativada, as instâncias serão encerradas somente após a conclusão das sessões ativas do jogo.

  • O Amazon GameLift Servers reavalia continuamente os tipos e locais de instância da sua frota Spot para verificar a viabilidade da hospedagem de jogos. Quando um tipo de instância anteriormente inviável se torna viável novamente com base em dados históricos atualizados, você pode aumentar a escala verticalmente da frota Spot novamente e o Amazon GameLift Servers retomará a realização de sessões de jogo com ela.

Considerações sobre design

Ao projetar sua solução para usar frotas Spot, considere os seguintes problemas:

  • Avalie a duração da sessão de jogo – A duração média de suas sessões de jogo pode afetar o desempenho do Spot em seu jogo. Com sessões de jogo mais curtas, a resposta mais rápida mantém as sessões de jogo em execução em tipos de instância viáveis com base nos dados históricos mais recentes. Sessões de jogo mais longas continuam sendo executadas em tipos de instância sem avaliar dados recentes de viabilidade, correndo um risco maior de interrupção ao longo do tempo.

  • Avalie a disponibilidade do tipo de instância — Nem todo local da frota oferece todos os tipos de instância como spot. Ao escolher um tipo de instância para sua frota spot, use a ferramenta de criação de frota do console do Amazon GameLift Servers para ajudá-lo a encontrar os tipos de instância spot nos locais de que você precisa. Com essa ferramenta, você pode selecionar os locais da sua frota e, em seguida, visualizar a disponibilidade do tipo de instância nesses locais.

  • Crie frotas Spot em vários locais — Você pode criar frotas Spot com vários locais. Uma única frota spot com vários locais implanta instâncias com o mesmo tipo de instância em várias Regiões da AWS ou Zonas Locais. O algoritmo de viabilidade do Spot avalia a viabilidade com base no tipo e na localização da instância. Se a localização de uma frota Spot for avaliada como inviável, ela não afetará outras localizações na frota, que ainda podem ser usadas para sediar sessões de jogo.

  • Crie filas com a diversidade de frotas Spot — Se você estiver usando frotas Spot para hospedagem de jogos, precisará configurar uma fila de posicionamento da sessão de jogo. Para cada nova solicitação de sessão de jogo, a fila procura os recursos de hospedagem de jogos disponíveis e seleciona a melhor opção possível. Com as frotas spot, você quer uma fila que possa pesquisar em várias frotas que variam em locais e tipos de instância, e você quer incluir pelo menos uma frota sob demanda como capacidade de backup. Uma fila de várias frotas bem projetada que oferece diversas opções de posicionamento é altamente resistente a interrupções, lentidões e interrupções. Para obter orientação adicional sobre como criar uma fila para o Spot, consulte Construir uma fila para instâncias Spot.

  • Lide com as interrupções com elegância — Configure seu servidor de jogo para minimizar o impacto do jogador no caso de uma interrupção no Spot. Quando a AWS recupera uma instância spot, o Amazon GameLift Servers passa a notificação de encerramento para todos os processos afetados do servidor usando a função onProcessTerminate() de retorno de chamada do SDK do servidor. Seu jogo precisa implementar esse retorno de chamada para encerrar a sessão de jogo normalmente. Para obter mais informações, consulte Responder a uma notificação de desligamento do processo do servidor.

    nota

    A AWS faz todos os esforços para fornecer a notificação antes que ela recupere uma instância, mas é possível que a AWS recupere a Instância spot antes que o aviso chegue. Você também deve preparar o servidor de jogos para lidar com interrupções inesperadas.

  • Configure o ajuste de escala automático para suas frotas de backup para manter o serviço durante uma interrupção Spot. O ajuste de escala automático de rastreamento de metas mantém um buffer de capacidade e escala automaticamente de acordo com a demanda. Com o ajuste de escala automático, as frotas de backup (spot ou sob demanda) começarão a aumentar a capacidade sempre que começarem a receber mais solicitações de sessão de jogo.

    Para substituir rapidamente a capacidade perdida quando uma frota spot se torna inviável, um mecanismo de escala personalizado pode usar as métricas de fila e frota disponíveis para iniciar um aumento horizontal de escala das frotas de backup. Detecte quando as frotas Spot se tornam inviáveis com métricas como FirstChoiceOutOfCapacity, e. FirstChoiceNotViable PercentAvailableGameSessions Estime as necessidades de capacidade de reposição analisando dados métricos de PlacementsStarted recentes. Depois de escalar as frotas de backup para lidar com a demanda imediata, o ajuste de escala automático normal pode assumir o controle.

  • Integração com FlexMatch — Se sua solução usa um combinador FlexMatch, não há requisitos especiais para frotas Spot. Você pode configurar um combinador para usar uma fila com frotas Spot. O Amazon GameLift Servers prioriza automaticamente as colocações de partidas em frotas Spot e sob demanda, inclusive ao organizar novas sessões de jogo e ao preencher vagas vazias de jogadores em sessões de jogo existentes.