Configurar a medição para uso com assinaturas SaaS - AWS Marketplace

Configurar a medição para uso com assinaturas SaaS

Para assinaturas de software como serviço (SaaS), você mede todo o uso, e os clientes são cobrados pela AWS com base nos registros de medição fornecidos por você. Para os contratos de SaaS, você só mede o uso além das autorizações de contrato do cliente. As seções a seguir fornecem informações sobre como configurar a medição para uso com produtos SaaS.

Quando o aplicativo mede o uso para um cliente, o aplicativo está fornecendo à AWS uma quantidade de uso acumulada. Seu aplicativo mede as dimensões de definição de preço definidas quando você criou o produto, como os gigabytes transferidos ou os hosts verificados em uma hora específica. Por exemplo, se você cobra com base na quantidade de dados enviados em seu aplicativo, pode medir a quantidade de dados e enviar um registro de medição correspondente a cada hora. A AWS calcula a fatura do cliente usando os dados de medição com os preços que você forneceu quando criou o produto.

nota

Se desejar, você pode dividir o uso entre as propriedades rastreadas. Essas propriedades são expostas ao comprador como tags. Essas tags permitem que o comprador visualize os custos divididos em uso por valores de tag. Por exemplo, se você cobrar pelo usuário e os usuários tiverem uma propriedade Department, será possível criar alocações de uso com tags que tenham uma chave de Department e uma alocação por valor. Isso não altera o preço, as dimensões ou o uso total que você relata, mas permite que seu cliente visualize os custos por categorias apropriadas ao seu produto. Para ter mais informações, consulte Marcação medida pelo fornecedor (opcional).

Medidor por hora

Recomendamos usar o relatório para a AWS por hora para todos os seus clientes, em lotes de até 25 por vez. Isso dá aos clientes a maior visibilidade granular possível de seu uso e custos. Se você agregar o uso em períodos maiores que uma hora (por exemplo, um dia), observe as seguintes considerações.

  • A AWS só pode cobrar os clientes pelo uso do produto depende do recebimento dos registros de medição de você. Você é responsável por garantir que os registros de medição do produto sejam transmitidos e recebidos com êxito. Você pode usar o AWS CloudTrail para verificar a precisão do registro ou dos registros enviados. Você também pode usar as informações para realizar auditorias ao longo do tempo. Para ter mais informações, consulte Registro em log de chamadas de API de medição do AWS Marketplace com AWS CloudTrail.

  • Se for um SaaS com o modelo de preços “Assinatura” (não os modelos de preços “Contrato” ou “Contrato com Consumo”), o comprador poderá cancelar a assinatura a qualquer momento. Quando o comprador iniciar essa ação de cancelamento de assinatura, o vendedor receberá uma unsubscribe-pending notificação e terá 1 hora para enviar todo o uso não declarado antes da notificação final unsubscribe-success. Qualquer coisa após a segunda notificação não será honrada. Os outros dois modelos de preços têm uma duração definida com base no momento da assinatura e o comprador não pode cancelar a assinatura durante a assinatura. Eles só podem desativar a renovação automática. A mesma notificação é enviada no final desse período, se não for renovada automaticamente.

  • Se você não enviar registros de medição de hora em hora e houver uma interrupção no aplicativo ou na rede, seus registros ficarão ainda mais atrasados. Isso pode resultar em uso não declarado se a interrupção do aplicativo ou da rede for restaurada após a expiração da assinatura.

  • Mesmo que não haja uso para relatar, você pode continuar enviando registros de medição a cada hora e registrar uma quantidade de 0 se não houver uso para relatar nessa hora. Observe que depois de relatar o uso de uma dimensão 0 ou mais pelo comprador, você não pode alterar o registro. Portanto, é uma prática recomendada relatar o uso da hora anterior. O uso relatado é visível no console do Gerenciamento de Faturamento e Custos da AWS do comprador durante todo o ciclo de faturamento. O console mostra cada dimensão do seu produto em um item de linha separado com o número total de unidades consumidas e o custo total desse item de linha consumido nesse ciclo de cobrança ou até agora, mesmo que o preço da dimensão seja 0 USD por unidade. Se habilitado, o Relatório de Custos e Uso da AWS (CUR) mostra esse detalhe, incluindo a taxa por unidade. Esses relatórios não são atualizados em tempo real.

  • Durante a publicação, a equipe de operações AWS Marketplace testará se o aplicativo SaaS envia o registro de medição com sucesso antes de permitir que o produto seja publicado. Normalmente, a equipe realiza uma inscrição simulada do SaaS e confirma que um registro de medição foi recebido.

nota

Se o produto de SaaS estiver integrado a outro serviço gerenciado pela AWS que gerencia a medição de uma maneira diferente (como Amazon SageMaker Ground Truth ou AWS WAF), você não precisará se integrar ao serviço de medição do AWS Marketplace. A medição do seu produto só deve acontecer em um sistema para evitar a cobrança dupla do cliente. O AWS Marketplace não está publicando novos produtos do AWS WAF no momento.

Configurar o produto para medir o uso

Você usa a operação BatchMeterUsage no Serviço de medição do AWS Marketplace para fornecer os registros de medição à AWS. Lembre-se do seguinte:

  • É necessário que os vendedores usem o agrupamento em lotes usando a operação BatchMeterUsage.

  • Eliminamos a duplicação de solicitações de medição a cada hora.

    • As solicitações duplicadas são eliminadas por produto/cliente/hora/dimensão.

    • É sempre possível repetir qualquer solicitação, mas, se você medir uma quantidade diferente, a quantidade original será cobrada.

    • Se você enviar várias solicitações para o mesmo cliente/dimensão/hora, os registros não serão agregados.

  • Os vendedores podem enviar registros de medição com um registro de data e hora de até 6 horas no passado, se o cliente tiver assinado seu produto. Se o cliente cancelar a assinatura, os vendedores deverão enviar os registros de medição em até 1 hora após o cancelamento da assinatura do cliente.

  • As cargas BatchMeterUsage não devem exceder 1 MB. Escolha o número de registros de uso a serem enviados em uma solicitação BatchMeterUsage para que você não exceda o tamanho da carga.

  • O Serviço de medição do AWS Marketplace está disponível nas Regiões da AWS listadas em Endpoints e cotas do AWS Marketplace na Referência geral da AWS. Por padrão, a região Leste dos EUA (Norte da Virgínia) está habilitada para produtos de medição de SaaS quando você solicita o produto. Se você pretende usar outras regiões, entre em contato com a equipe de Operações do vendedor do AWS Marketplace. Para obter mais informações, consulte BatchMeterUsage.

Para obter exemplos de código, consulte Exemplos de código para integração de produtos de SaaS.

Exemplo: Verificação de host

O produto analisa o hardware computacional em busca de vulnerabilidades de segurança conhecidas. Os clientes iniciam manualmente ou programam essas verificações das instâncias do Amazon Elastic Compute Cloud (Amazon EC2). À medida que o produto executa essas verificações, ele registra o número de hosts exclusivos verificados a cada hora. Neste exemplo, o produto usa a categoria Hosts. Você pode declarar várias dimensões para os tipos de hosts verificados. Por exemplo, você pode cobrar preços diferentes para hosts pequenos, médios e grandes.

Exemplo: Análise de log

Seu produto de SaaS digere logs gerados por produtos do cliente, relatando tendências e anomalias. À medida que os clientes fazem upload dos logs para o produto, meça a quantidade de dados recebidos em megabytes, gigabytes ou terabytes. No décimo minuto de cada hora, um trabalho cron lê esse uso de cada cliente para a hora anterior. O trabalho cria um relatório de lote e usa a operação BatchMeterUsage para enviá-lo para a AWS. Nesse exemplo, o produto usa a categoria Dados. O produto também pode medir a quantidade de dados de log armazenados para qualquer hora. Nesse caso, o produto pode medir duas dimensões em conjunto: os dados recebidos na hora e o total de dados armazenados na hora. Você pode continuar a medir os dados armazenados até que o cliente exclua esses dados ou até que eles expirem.

Marcação medida pelo fornecedor (opcional)

A marcação medida pelo fornecedor ajuda os provedores de software independentes (ISVs) a fornecer ao comprador uma visão mais granular sobre o uso do software e pode ajudar você a realizar a alocação de custos.

Existem diversas maneiras de marcar o uso do software do comprador. Uma maneira é primeiro perguntar aos compradores o que eles querem ver na alocação de custos. Em seguida, você pode dividir o uso entre as propriedades rastreadas para a conta do comprador. Exemplos de propriedades incluem Account ID, Business Unit, Cost Centers e outros metadados relevantes para seu produto. Essas propriedades são expostas ao comprador como tags. Usando tags, os compradores podem ver os custos divididos em uso pelos valores das tags no console de faturamento da AWS (https://console.aws.amazon.com/billing/). A marcação medida pelo fornecedor não altera o preço, as dimensões ou o uso total que você relata. Ela permite que o cliente visualize os custos por categorias apropriadas ao seu produto.

Em um caso de uso comum, um comprador assina seu produto com uma Conta da AWS. O comprador também tem vários usuários associados à mesma assinatura do produto. Você pode criar alocações de uso com tags que tenham uma chave de Account ID e, em seguida, alocar o uso para cada usuário. Nesse caso, os compradores podem ativar a tag Account ID no console do Billing and Cost Management e analisar o uso individual do usuário.

Experiência do vendedor

Os vendedores podem agregar os registros de medição dos recursos com o mesmo conjunto de tags em vez de agregar o uso de todos os recursos. Por exemplo, os vendedores podem criar o registro de medição que inclui diferentes buckets de UsageAllocations. Cada bucket representa UsageQuantity para um conjunto de tags, como AccountId e BusinessUnit.

No diagrama a seguir, o Recurso 1 tem um conjunto exclusivo de tags AccountId e BusinessUnit e aparece no Registro de medição como uma única entrada.

O Recurso 2 e o Recurso 3 têm a mesma tag AccountId, 2222, e a mesma tag BusinessUnit, Operations. Como resultado, eles são combinados em uma única entrada UsageAllocations no Registro de medição.

Metering record showing resource usage allocation from three resources to two accounts.

Os vendedores também podem combinar recursos sem tags em uma única UsageAllocation e enviá-los como uma das entradas em UsageAllocations.

Os limites incluem:

  • Número de tags: 5

  • Quantidade de UsageAllocations (cardinalidade): 2.500

  • Tamanho máximo da solicitação: 1 MB

As validações incluem:

  • Caracteres permitidos para a chave e o valor da tag – a-zA-Z0-9+ -=._:\/@

  • Máximo de tags na lista UsageAllocation: 5

  • Duas UsageAllocations não podem ter as mesmas tags (ou seja, a mesma combinação de chaves e valores de tag). Se for esse o caso, elas devem usar a mesma UsageAllocation.

  • A soma de AllocatedUsageQuantity de UsageAllocation deve ser igual a UsageQuantity, que é o uso agregado.

  • O tamanho máximo da carga não pode ser superior a 1 MB. Isso inclui chaves de atributos de entrada (por exemplo, UsageRecords, AllocatedUsageQuantity, tags).

    nota

    Para garantir que você não esteja ultrapassando o limite de carga, crie um objeto de solicitação de amostra com um tamanho máximo com base nos requisitos comerciais, converta o objeto em uma string JSON e obtenha o tamanho em bytes. Certifique-se de que uma única chamada de API não ultrapasse o limite de 1 MB. Por exemplo, se uma solicitação com um UsageRecord tiver um tamanho máximo de 200 KB, não envie mais de cinco UsageRecords como parte da solicitação (200 KB * 5 = 1 MB).

Experiência do comprador

A tabela a seguir mostra um exemplo da experiência do comprador depois que ele ativa as tags de fornecedor AccountId e BusinessUnit.

Neste exemplo, o comprador pode ver o uso alocado no Relatório de uso de custos. As tags medidas pelo fornecedor usam o prefixo “aws:marketplace:isv”. Os compradores podem ativá-las no Billing and Cost Management, em Tags de alocação de custos, Tags de alocação de custos geradas pela AWS.

A primeira e a última linha do Relatório de uso de custos são relevantes para o que o vendedor envia ao Serviço de medição (conforme mostrado no exemplo Experiência do vendedor).

Relatório de uso de custos (simplificado)
ProductCode Comprador UsageDimension UsageQuantity aws:marketplace:isv:AccountId aws:marketplace:isv:BusinessUnit
xyz 111122223333 Rede: por (GB) inspecionado 70 2222 Operações
xyz 111122223333 Rede: por (GB) inspecionado 30 3333 Financeiro
xyz 111122223333 Rede: por (GB) inspecionado 20 4444 IT
xyz 111122223333 Rede: por (GB) inspecionado 20 5555 Marketing
xyz 111122223333 Rede: por (GB) inspecionado 30 1111 Marketing

Para ver um exemplo de código, consulte Exemplo de código BatchMeterUsage com marcação de alocação de uso (opcional).