Skip to main content

Carol Billing

Esta documentação possui o objetivo de apresentar o processo de billing da Carol dando destaque aos recursos que compõem o billing e o custo associado.

Detalhamento dos Recursos do Billing

O billing apresenta o custo das tenants pertencentes ao Billing Account classificando o uso e custo por recursos. Desta forma, os gestores financeiros das tenants podem entender como os projetos e tenants estão consumindo os recursos na plataforma Carol e orientar os times em ações de eficiência de custos.

Este é um exemplo como o custo de uma Billing Account é classificado através dos recursos:

Billing - Recursos

Esses são os possíveis recursos disponíveis na plataforma Carol:

  • Basic Fee: Taxa de custo básico para tenants na plataforma Carol. Ele é utilizado para tenants com um custo abaixo do mínimo necessário para cobertura dos custos de infraestrutura básica da plataforma Carol. Ação geradora do custo: Ter um projeto ativo na Carol / GCP.

  • Cloud Storage: Custo associado aos recursos de armazenamento no Carol Data Storage. Este custo considera os SKUs Class A, Class B e Storage do Google Cloud Storage. Este recurso é medido em quantidade de GB (referente ao SKU de storage). Custo compreende o serviço Google Cloud Storage com todos os SKUs. Região padrão GCP: us-central1. Ação geradora do custo: Dados na staging area (dados de backup). Custo GCP: LINK

  • Compute Engine Network: Custo associado à saída/entrada de rede na nuvem da Google. Este recurso é medido em quantidade de GB. Ação geradora do custo: custo de network pela comunicação com instâncias GCP.

  • BigQuery: Custo associado ao armazenamento no BigQuery. Dados não alterados após 90 dias são automaticamente classificados para cobrança 50% mais barata, conforme a tabela de preços da Google. O valor inclui todos os SKUs do serviço Bigquery, incluindo a ingestão de dados em tempo real. Ação geradora do custo: armazenamento de dados Staging Area e Data Models. Custo GCP: LINK

  • Realtime Storage: Custo associado ao armazenamento no Storage Type Realtime (Elasticsearch). Este recurso é medido em quantidade de GB. Ação geradora do custo: Armazenamento de dados em Data Models na camada de armazenamento Realtime. Recomendações: Ao invés do uso do storage type Realtime estamos recomendando o uso do banco de dados Postgres para consultas de baixa latência e banco para transações (CRUD: Create, Read, Update, Delete). Utilizando a Carol para processamento de dados e data warehouse. O uso de banco de dados Postgres pode ocorrer através de um TOTVS Apps, e os dados da Carol podem ser replicados para o banco de dados Postgres através do recurso Data Subscription. A solução ficará mais robusta e com melhor escala de custos de infraestrutura.

  • Compute Time: Este custo está associado à execução de Carol App em modo Batch e Online. O custo é classificado de acordo com o tamanho da instância alocada para executar o Carol App. Os tipos de instâncias possíveis são: c1.nano, c1.micro, c1.small, c1.medium, c1.large, c1.xlarge, c1.2xlarge, g1.v100.large, g1.v100.xlarge. Detalhes sobre os tipos de instâncias podem ser obtidos neste link: https://docs.carol.ai/docs/carol-app/carol-app-instance-type. Este recurso é medido em quantidade de horas.Ação geradora do custo: Execução de Carol app de acordo com a instância do POD.

  • Slots: Custo associado aos Slots do BigQuery. Os slots são unidades computacionais usadas para processar queries no BigQuery. A alocação deste recurso é feita por Slot/Hora. Este recurso é utilizado para o processamento de dados e o treinamento de modelos de machine learning utilizando o recurso BQ ML. O custo do Slot é gerenciado pela plataforma Carol para compartilhamento entre projetos, valores GCP apenas para referência. Ação geradora do custo: Consulta de dados na plataforma Carol e processamento de dados SQL Processing. Custo GCP: LINK

  • Google Maps: Este recurso é específico para Carol Apps integrando com o recurso Google Maps. A quantidade deste recurso é definida pela quantidade de requisições. Ação geradora do custo: Carol app integrado com Google Maps.

  • Sentry: Este recurso é específico para o produto Clock-In e é direcionado apenas para tenants com o Clock-In instalado. O valor total do Sentry é rateado entre todas as tenants que utilizam o produto Clock-In. Solução para monitoramento e debug do produto Clock-In. Ação geradora do custo: Apenas para projetos Clock-In.

  • Cloud Dataflow Batch: Este recurso define a quantidade de horas utilizadas para o processamento de dados, podendo ser a consolidação de dados no Carol Data Storage ou o processamento de dados através do SQL Processing. A quantidade é medida em horas de uso do recurso. Ação geradora do custo: horas utilizadas para popular um datamodel ou consolidar dados (CDS) Custo GCP: LINK

  • Cloud Dataflow Streaming: Este recurso define a quantidade de uso do Dataflow Streaming na ingestão de dados para a tenant. O custo é definido pelo rateio do recurso entre as tenants na plataforma Carol. Ação geradora do custo: Ingestão de dados na plataforma Carol.

  • Carol Insights Studio: Este recurso está associado ao recurso Carol Insights Studio (Metabase). O custo é definido por usuário. Ação geradora do custo: usuários ativos no módulo Carol Insights Studio. É possível acompanhar os usuários ativos pelo Carol Billing.

  • BigQuery BI Engine: Este recurso é utilizado por tenants explorando o cache in-memory do BigQuery para otimização de queries. A quantidade é definida pela quantidade de GB alocados. A ativação do recurso deve ocorrer através de issue no Jira. Considere limitações do BI Engine descritas neste site. Ação geradora do custo: Tenants que solicitaram a habilitação do recurso estão sujeitas ao custo conforme memória alocada ao projeto. Custo GCP: LINK

  • E-Mail: Este recurso define a quantidade de e-mails enviados pela tenant, a definição de quantidade é determinada pelo número de e-mails enviados. Ação geradora do custo: envio de e-mails pela tenant e Carol Apps instalado na tenant (exemplo: Clock-In).

  • SMS: Este recurso define quantos SMS a tenant enviou, a definição da quantidade é determinada pelo número de SMS enviados. Ação geradora do custo: envio de SMS pela tenant e Carol Apps instalado na tenant (exemplo: Clock-In).

Como exportar os dados de billing e trabalhar em planilhas eletrônicas

O processo de billing permite exportar os dados para gerar visualizações customizadas. Isso é possível através do botão Download Invoice:

Billing - Exportando dados

Com o arquivo, é possível enviar para o Google Drive e abrir no Google Sheets:

Billing - Dados exportados no Google Sheets

Uma vez que os dados foram carregados no Google Sheets, é possível aplicar visualizações em uma pivot table, conforme imagem abaixo:

Billing - Criando uma Pivot Table

Pontos de destaque:

  • As colunas A-M estão selecionadas.
  • Vá no menu Insert e depois em Pivot table

Com a Pivot Table criada, você pode configurar a visualização desejada, na visualização abaixo está sendo plotado os recursos por mês.

Billing - Configurando uma Pivot Table

Detalhes da configuração:

  • Rows: selecionado o que será as linhas da pivot table, no caso resource.
  • Columns: selecionado o que será as colunas, neste caso selecionado year_month
  • Values: o que será o valor no cruzamento dos dados de rows e columns, neste caso o total_cost de cada recurso em cada ano/mês.
Nota

É possível exportar os dados de diversos meses e colocar todos dentro do mesmo Google Sheet para compor visualizações comparativas entre meses.

Boas Práticas e recomendações

Recomendações:

  • Realtime: ao invés do uso do realtime recomendamos o uso de TOTVS Apps com banco de dados de baixa latência (dados podem ser integrados com Data Subscription, consulte a documentação correspondente).

O que pode elevar o custo de um projeto:

  • Volume de dados: alta Ingestão de dados na plataforma (exemplo, full-load diário dos dados)
  • Processamento de dados: processamento de dados gerando volume de dados acima do normal (custos de storage e ingestão de dados processados)
  • Pipelines Ineficientes: Execução das pipelines frequentemente e sem eficiência do SQL processing (vide documentação).

O que pode ser feito para reduzir custos:

  • Verificar se o dado utilizado já existe na plataforma: O recurso de compartilhamento de dados “Share Data” não gera uma cópia de dados, quando ele é compartilhado é feita uma leitura (view) da origem do dado, economizando ingestão e storage.
  • Trazer somente os dados necessários: Quando subir dados para a plataforma trazer somente as linhas e colunas necessárias para o projeto.
  • Periodicidade de carga de dados: Avaliar a necessidade de carga de dados e atualizações. (A carga em batch (em lotes e executadas em escalas) pode ser mais eficiente que a carga online).
  • Política de retenção de dados: Analisar quanto dado realmente é necessário eu ter armazenado para os indicadores.
  • Pipelines e consultas otimizadas: Ter boas práticas na construção de pipelines e na construção de consultas no BigQuery, processando dados ou construindo insights sempre utilizando a partição da tabela e / ou os atributos definidos no cluster da tabela.

Informação de billing de produtos que utilizam a plataforma de dados Carol

  • Clock-in: O billing de clock-in ocorre para o segmento, o valor informado é o valor de custo, não sendo o valor pago pelo cliente que utiliza o produto.
  • Tenant que possuem aplicativos que com partnumber cadastrados no CRM é possível trazer a informação de recorrente mensal (MRR) dos clientes, como exemplo a imagem abaixo, para exibi-lo, é necessário clicar em "See MRR over costs". O valor recorrente mensal é representado pela linha, com os valores projetados no eixo Z (lado direito), enquanto os custos são representados pelas barras, projetados no eixo X (lado esquerdo).

MRR