O blog da AWS

Atribuindo custos em SaaS: Como alinhar a tecnologia com os negócios

Por Roi Ravhon, cofundador e CEO — Finout
Por Oren Reuveni, arquiteto líder de soluções — AWS SaaS Factory

 

 

Um dos principais desafios enfrentados pelos fornecedores de software as a service (SaaS) é entender o perfil de custo de seu ambiente SaaS e dos clientes dentro dele.

Medir o custo de cada tenant no sistema, entender a relação custo-benefício dos recursos do produto e medir com precisão a margem são exemplos de habilidades essenciais para o sucesso de uma solução SaaS.

Essas são medidas centrais para refinar o modelo de preços, a arquitetura da solução (em termos de custo) e influenciar a estratégia de uma organização.

O ponto mais importante aqui, talvez, é que esses recursos permitem que os provedores de SaaS discutam o custo de maneira clara e orientada por dados.

Em nossa experiência, ganhar visibilidade da atividade do tenant e do uso de recursos nesses ambientes permite que os provedores de SaaS tomem decisões comerciais e técnicas informadas, evoluam seus produtos e priorizem seu roadmap. Para permitir uma visibilidade aprofundada, os provedores de SaaS precisam atribuir o uso de recursos de infraestrutura a tenant individuais (parcial ou totalmente) e gerar insights a partir desses dados.

Neste post, analisaremos os desafios para obter visibilidade detalhada relacionada ao custo em um produto SaaS multi-tenant, discutiremos possíveis métodos para resolvê-los e explicar o valor dessa visibilidade em ambientes SaaS.

Alocação de custos em ambientes SaaS

Compreender a atribuição de custo de uma solução SaaS multi-tenant pode ser um desafio. A arquitetura da solução e os diferentes recursos do produto geralmente são baseados em vários serviços e recursos que atendem a vários tenants, cada um dos quais pode ter seu próprio modelo de preços.

Um exemplo típico em um ambiente da Amazon Web Services (AWS) é uma solução SaaS que armazena dados de tenants no Amazon Simple Storage Service (Amazon S3) e usa o Amazon DynamoDB para gerenciar o perfil de usuário. junto com um cluster de containers como a solução de computação que gera relatórios para os usuários.

O fato de as soluções SaaS multi-tenant usarem ambientes compartilhados (pool) para atender a vários tenants adiciona um desafio único à implementação desse recurso.

 

Figura 1 — Arquitetura típica das soluções SaaS.

 

O nível de visibilidade é fundamental para otimizar e gerenciar os custos ideais. Quanto menos granular e menos preciso um provedor de SaaS tiver consumo individual de tenant, menos valor ele obterá de suas métricas de custo.

Visibilidade que não é granular o suficiente (por exemplo, não ser capaz de rastrear a interação de tenants individuais como a quantidade de dados de cada tenant no S3) pode causar lacunas significativas. As decisões podem ser tomadas com base em estimativas e não em dados, e a medição do uso do produto é baseada na aproximação.

O modelo de precificação do cliente pode ser baseado em estimativas, já que a visibilidade atual, no entanto, essa situação afeta a eficácia de um provedor SaaS em termos de operação e impede uma análise detalhada dos custos e capacidades de otimização. O resultado é a capacidade limitada de determinar itens de custo com precisão.

Ganhar visibilidade sobre os padrões de consumo de tenants

Ao operar uma solução multi-tenant, os provedores de SaaS desejam medir a quantidade de consumo de recursos e o padrão de uso de cada tenant (e às vezes até mesmo usuários individuais dentro de um tenant). Isso ajuda a calcular o custo por tenant, identificar tendências e despesas gerais no sistema (para tenants e Níveis/Planos, por exemplo) e criar o modelo de precificação ideal para sua solução.

De acordo com o AWS Well-Architected SaaS Lens, a prática mais básica para medir o consumo de tenants é aproximar o consumo de tenants com a atividade que ele representa na solução. Embora este seja um bom ponto de partida e permita que os provedores de SaaS entendam e otimizem o custo da solução e do modelo de preços apenas com precisão limitada. Mas para criar um perfil de consumo de tenants mais preciso, os provedores de SaaS precisam investir na criação de uma estratégia mais granular.

O próximo passo é criar uma visão avançada do consumo de tenants, o que ajuda os fornecedores de SaaS a medir o uso de componentes e atribuí-lo a cada tenant no ambiente. Isso cria uma estimativa detalhada do consumo de recursos do tenant. Ele também fornece informações sobre o padrão de uso de cada um e o uso e utilização reais de cada recurso do produto, o que pode afetar diretamente as decisões relacionadas a custos e modelos de preços.

Conforme discutido na postagem do blog O que é uma métrica unitária? , calcular o custo unitário é a maneira de entender quanto um fornecedor de SaaS paga por cada “unidade de produção”. Uma unidade de produção pode ser o preço de cada unidade de produto que uma empresa está fabricando, como um diário, evento, transação, fluxo ou relatório.

Usando esse método, os provedores de SaaS podem obter informações importantes sobre os padrões de uso em sua solução, medi-los em relação a esse preço e garantir que possam entender melhor seus custos, mantendo uma margem bruta saudável e estável.

Dito isso, em cenários da vida real, ao usar vários serviços — dentro e fora da AWS — o preço unitário pode ser impreciso.

Embora um provedor de SaaS possa pensar que o preço do recurso para um determinado mês é constante, pode haver um declínio no uso do banco de dados, por exemplo, que é um pouco maior do que um aumento na quantidade de transmissão de dados. No entanto, o custo da transmissão está aumentando a uma taxa não proporcional ao preço unitário. Pode levar meses para eles descobrirem os “custos ocultos”.

Para resolver isso, os provedores de SaaS precisam criar melhor granularidade e distinguir entre cada recurso, como banco de dados e custos de fluxo unitário separados.

 

Figura 2 — Defina KPIs e unidades de medida.

Atribuindo custos de tenant

Para criar a conexão entre o consumo de tenants e o uso de recursos, os provedores de SaaS precisam de um mecanismo que correlacione o consumo de tenants com os custos. Aqui estão alguns exemplos de como conseguir isso:

  • Construindo esse mecanismo por conta própria. Os provedores de SaaS podem criar o mecanismo que correlaciona dados e, em seguida, aproveitar ferramentas de inteligência de negócios (BI) como o Tableau para analisá-los e gerar insights.
  • Aproveite o AWS Application Cost Profiler para facilitar esse processo. Essa ferramenta coleta metadados do tenant e relata a divisão por hora do custo por tenant diariamente e mensalmente.
  • Use uma solução de parceiros da AWS, como:
    • Finout: Uma solução SaaS que se integra à AWS, data warehouses e plataformas de observabilidade. A Finout combina métricas de negócios com seu custo, dividindo clientes, recursos e métricas unitárias.
    • Cloudzero: Uma solução SaaS que oferece detecção de anomalias de custo em tempo real e detecção de perdas para otimizar os custos da nuvem e evitar gastos acidentais.

Quando a visibilidade granular está disponível, ela permite que os provedores de SaaS usem insights de consumo de tenants para moldar a economia operacional e arquitetônica. Medir cada unidade e serviço em um ambiente multi-tenant com a correspondência com um indicador-chave de desempenho (KPI) ao qual é atribuído ajuda a obter uma visibilidade mais clara de como o custo do provedor é distribuído.

Entender como cada tenant está se comportando no sistema e, em seguida, conectando esse comportamento aos custos de infraestrutura, nos aproxima da verdadeira responsabilidade pelos custos da nuvem.

Para provedores de SaaS, no entanto, isso nem sempre é suficiente. As soluções SaaS precisam ser capazes de responder a perguntas mais avançadas, como:

  • Esse recurso é lucrativo?
  • Quais segmentos de clientes são os melhores para nós?
  • Qual é a produtividade da minha equipe de engenharia para esse recurso da solução?
  • Quem são os usuários mais ativos/inativos ou com maior demanda de recursos dentro de um tenant?

Esse problema ocorre porque as empresas de ritmo acelerado têm três eixos relacionados a custos que estão mudando constantemente com o risco de não serem descobertos em tempo hábil:

Eixo 1 – Desenvolvedores

Todo desenvolvedor ou engenheiro de plataforma (infraestrutura) pode, com um commit de código ou alterando uma configuração no Console de Gerenciamento da AWS, quebrar a margem alvo da empresa, mesmo sem saber.

Exemplos de tais alterações incluem alterar a configuração de uma tarefa agendada para execução três vezes por dia em vez de duas vezes; alterar “Infrequent Access” em um bucket do Amazon S3; ou adicionar cinco milissegundos de validações a cada solicitação.

A equipe de P&D tem responsabilidade significativa pela sustentabilidade dos negócios e não apenas por alta disponibilidade e novos recursos.

Eixo 2 — Clientes

Nem todos os clientes foram criados iguais e nem todos os clientes mantêm seus padrões de uso. Uma solução SaaS pode hospedar clientes com uma margem de 99% e clientes com uma margem de 20%. Isso pode ser bom, mas é importante estar atento e agir de acordo com os dados.

Embora essas diferenças de margem não estejam diretamente relacionadas à medição do custo da infraestrutura, elas afetam diretamente as considerações de custo. Por exemplo, como resultado desses insights, o provedor de SaaS pode querer segmentar seusx`x` clientes, fazer alterações arquitetônicas para melhorar essas métricas ou desativar um recurso que está sendo usado por 2% dos clientes, mas atribui 20% do custo.

Os provedores de SaaS precisam monitorar constantemente os padrões de atividade do cliente. Os clientes podem (e irão) alterar seu comportamento e usar recursos para que possam fazer com que passem de margens de 90% para 20% em um curto período de tempo.

Eixo 3 — AWS

Um ambiente baseado em nuvem oferece vários serviços e habilidades. Ele permite que os provedores de SaaS usem recursos diferentes para diferentes necessidades.

Por exemplo, embora o ambiente de nível gratuito possa usar recursos que fornecem desempenho básico, os níveis premium podem usufruir de recursos de maior desempenho. Os preços podem mudar, as instâncias reservadas podem ser encerradas e novos serviços podem ser lançados para ajudar a otimizar constantemente a solução SaaS.

Os provedores de SaaS devem monitorar o “chão de fábrica de SaaS” para garantir que ele seja o mais eficiente possível. Usar os serviços e as habilidades corretos da AWS pode fazer a diferença entre uma meta de margem boa e uma má.

 

Figura 3 — Alocação de custos.

Benefícios e impacto organizacional

Até agora, discutimos considerações e práticas relevantes sobre a atribuição de custos. Vamos aprofundar como isso pode influenciar as decisões de negócios e por que as equipes técnicas e de negócios precisam cuidar desses dados.

Obter uma análise precisa dos custos é fundamental para entender como os clientes de uma solução SaaS consomem recursos em seu ambiente. Cada recurso deve ter um KPI associado a ele e, sempre que houver discrepâncias, a discussão sobre eles pode ser tão focada quanto uma seta e dados orientados. Por exemplo, “O custo do S3 do bucket X na região Y é 20% maior do que você deveria ser para o número de KPIs produzidos, a partir de segunda-feira às 11h.”

Assim que o provedor de SaaS tiver visibilidade suficiente, ele poderá começar a usá-lo dentro da organização para criar uma solução SaaS mais econômica. Um diálogo mais claro agora é possível, e alcançar a equipe da plataforma com dados de KPI é acionável e menos frustrante.

Essa também é uma boa maneira de reduzir o atrito entre as equipes de finanças e P&D. Por exemplo, a equipe financeira pode dizer que, com base em suas projeções, o projeto de lei da AWS no próximo trimestre deve aumentar em 15%.

Ao ter esse diálogo dentro da organização, os fornecedores de SaaS podem determinar com precisão o melhor modelo de preços para a solução, entender como o uso dos recursos do produto afeta o consumo de recursos e o custo da solução e planejar movimentos comerciais e técnicos de maneira consciente dos custos.

Outro benefício de ter esses insights em mãos é poder discutir orçamentos e coordenar entre as unidades de negócios da organização.

Por exemplo, se a equipe de marketing tiver a meta de obter 50% mais leads no nível gratuito do aplicativo, isso pode resultar em P&D tendo que gastar mais dinheiro apoiando tenants adicionais de nível gratuito. Essa ação pode ir além do seu orçamento e interferir em seus próprios objetivos — uma implicação que precisa ser examinada.

Como o provedor de SaaS agora tem melhor visibilidade dos elementos SaaS, como tenants e níveis individuais, definir orçamentos e prever receitas e custos com base no preço econômico unitário pode ajudar a equipe financeira a recuperar o controle dos gastos, formar melhor alinhamento organizacional e planejamento de orçamento e as equipes da plataforma se sentem mais confortáveis construindo um produto melhor e mais estável.

Um exemplo prático para isso pode ser refletir o valor de cada nível no sistema. Como a equipe da plataforma pode se comprometer com “$1,23 por GB que estamos armazenando na infraestrutura de nível gratuito” ou “$4,2 por 1 milhão de eventos nos níveis gratuito e premium”, a equipe financeira pode medir rapidamente o ROI para cada componente, recurso e tenant no sistema.

Observe que, uma vez que o provedor SaaS tenha acesso a insights de custo por tenant, ele poderá ser usado para fazer perguntas mais amplas sobre como esse custo se relaciona com outras tendências de atividade, como dados de uso de recursos e visibilidade de como ele é usado.

Conclusão

As empresas de SaaS precisam entender sua estrutura de custos para entender seus negócios.

Para muitos, o custo da nuvem é a maior parte de seu Cost of Goods Sold (COGS), e deixá-lo como uma “caixa preta” significa que os provedores de SaaS estão cegos para tomar decisões orientadas por dados sobre aspectos críticos de negócios.

Divide os custos para diferentes métricas unitárias, clientes, recursos, segmentos e unidades de negócios é um requisito para qualquer negócio SaaS moderno.

Sobre a Finout

A Finout é um parceiro da AWS e uma plataforma de observação de custos de nuvem, código zero que combina métricas de negócios com custos de infraestrutura, dividindo-as em clientes, recursos e métricas unitárias.

A plataforma Finout integra-se à AWS, data warehouses e plataformas de observabilidade para correlacionar e analisar dados de custo em um só lugar e garantir que cada dólar seja contabilizado.

Sobre o AWS SaaS Factory

O AWS SaaS Factory ajuda as organizações em qualquer estágio do processo de SaaS. Se você deseja criar novos produtos, migrar aplicativos existentes ou otimizar soluções SaaS na AWS, podemos ajudar. Visite o AWS SaaS Factory Insights Hub para descobrir mais conteúdo técnico, comercial e melhores práticas.

 

Este artigo foi traduzido do Blog da AWS em Espanhol.

 


Sobre os autores

Oren Reuveni é Principal Solutions Architect e membro da equipe SaaS Factory. Ajuda a orientar os parceiros da AWS para que criem seus produtos SaaS na AWS. O Oren tem mais de 15 anos de experiência em TI e computação nuvem. Ele é apaixonado por moldar a dinâmica certa entre tecnologia e negócios.

 

 

 

 

Sobre os tradutores

Robert Garcia é Arquiteto de Soluções para Parceiros de Negócios (PSA).   Nos últimos 10 anos, ele apoiou equipes de vendas para projetar, implementar e operar soluções para superar seus desafios técnicos e de negócios. Atualmente, ela se dedica a oferecer suporte a ISVs para desenvolver novas soluções ou migrá-las para a AWS.

 

 

 

 

 

Armando Barrales é Arquiteto de Soluções na AWS, com mais de 15 anos de experiência em desenvolvimento, bancos de dados e infraestrutura, atualmente dando suporte a ISVs para modernizar, desenvolver novas soluções ou migrá-las para a AWS.