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).
Tópicos
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 finalunsubscribe-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çãoBatchMeterUsage
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/
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.
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 mesmaUsageAllocation
. -
A soma de
AllocatedUsageQuantity
deUsageAllocation
deve ser igual aUsageQuantity
, 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 cincoUsageRecords
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).
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).