View a markdown version of this page

GAMECOST01-BP01 Implemente a atribuição de custo por jogador, recurso do jogo e ambiente - Lentes da indústria de jogos

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

GAMECOST01-BP01 Implemente a atribuição de custo por jogador, recurso do jogo e ambiente

A atribuição de custos para servidores de jogos geralmente é mais simples de executar do que serviços de back-end de jogos, porque um servidor de jogos geralmente é otimizado para hospedar um número específico de jogadores simultâneos por instância, que pode ser amortizado pelo custo de execução da instância. 

Nível de risco exposto se esta prática recomendada não for estabelecida: Alto

Orientação para implementação

Para serviços de back-end de jogos, é recomendável separar os componentes do jogo em recursos distintos que podem ser gerenciados como recursos lógicos ou físicos separados para facilitar a análise de custos.

Por exemplo, embora possa parecer simples implementar um único aplicativo monolítico para hospedar serviços de back-end de jogos, esse padrão dificulta a obtenção do custo total por jogador e por recurso do jogo ao longo do tempo à medida que você adiciona mais recursos, pois os custos de computação, rede e armazenamento dos recursos são compartilhados entre os recursos. Considere adotar uma arquitetura sem servidor para seus serviços de back-end de jogos com serviços como Amazon API Gateway AWS Lambda e/ou AWS Fargate para computação, Amazon SQS e Amazon SNS para mensagens, Amazon S3 para armazenamento de objetos e Amazon DynamoDB para armazenamento de banco de dados. Esses serviços são apenas alguns exemplos de produtos que oferecem preços baseados no uso e orientados principalmente pelo volume de solicitações, para que os custos possam ser visualizados com granularidade. Recursos individuais, como funções do Lambda, serviços do Fargate, tabelas do DynamoDB e buckets do S3, podem ser associados a tags de alocação de custos para que você possa atribuir os custos desses serviços a nomes de recursos do jogo que facilitam a compreensão dos custos de cada um dos seus serviços.

Também é recomendável gerenciar separadamente cada um dos seus ambientes de desenvolvimento de jogos para que você possa atribuir custos aos diferentes ambientes. Normalmente, os desenvolvedores de jogos gerenciam ambientes separados para ambientes de desenvolvimento, teste, preparação e produção, conforme descrito no pilar de operações dessa lente da indústria de jogos. Cada ambiente geralmente tem requisitos diferentes de escalabilidade, desempenho e uso e pode ser gerenciado por equipes separadas. Para controlar os custos, organize esses ambientes para que você possa monitorar e atribuir adequadamente os custos de cada ambiente.

Para obter mais informações, consulte a documentação a seguir:

Etapas de implementação

  • De-couple serviços de back-end de jogos em recursos distintos usando arquiteturas sem servidor ou em contêineres AWS Lambda, como o Amazon API Gateway, e AWS Fargate para permitir a atribuição granular de custos por recurso.

  • Aplique tags de alocação de custos a recursos individuais (por exemplo, funções do Lambda, tabelas do DynamoDB e buckets do S3) para associar custos a recursos específicos do jogo para uma melhor análise de custos.

  • Gerencie ambientes separados para desenvolvimento, teste, preparação e produção, organizando e monitorando seus custos de forma independente para se alinhar aos requisitos de escalabilidade e uso.