1 pontos por GN⁺ 4 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • Um serviço de CI iniciado com teste gratuito enviou uma fatura de US$ 1.000 após o limite ser excedido, em vez de interromper o serviço, deixando o usuário com um custo inesperado
  • A Blacksmith é uma startup da YC que substitui o GitHub Actions, promovida como um drop-in replacement mais rápido e barato
  • Na modalidade teste gratuito, sem necessidade de cartão de crédito, ao ultrapassar o limite os jobs não param; em vez disso, o uso continua se acumulando pela tarifa publicada e depois é cobrado
  • Como a maioria dos usuários espera que o limite gratuito funcione como um hard cap até informar os dados de pagamento, essa política é um método incomum que menos de 5% das pessoas provavelmente preveriam
  • Deixar usuários sem cartão ultrapassarem o limite e depois enviar uma fatura vencida é uma má prática que favorece usuários oportunistas e prejudica a confiança

Contexto — tentativa de substituir o GitHub Actions

  • Com o aumento do volume de PRs, ficou cada vez mais claro que o CI estava lento e caro, acumulando insatisfação com o GitHub Actions
  • Após uma recomendação, houve a tentativa de adotar a Blacksmith
    • A Blacksmith é uma startup da YC que se apresenta como drop-in replacement do GitHub Actions, enfatizando ser mais rápida e barata
  • Depois de importar e aplicar as configurações do GitHub, de fato ficou mais rápido, embora o custo ainda não estivesse claro por estar no teste gratuito

Como a cobrança aconteceu

  • Primeiro e-mail de alerta: 80% dos minutos gratuitos do mês para aquela organização já haviam sido consumidos, com pedido para cadastrar um cartão de crédito para evitar interrupções
    • Nesse momento, o uso deveria ter sido revisado, mas o trabalho continuou sem parar de programar
  • Duas semanas depois, chegou a mensagem "Você gastou US$ 500,60 na Blacksmith neste mês"
    • Como ainda era período de teste gratuito, isso não pareceu real; não havia cartão de crédito cadastrado, e o aviso parecia só mais um entre vários alertas de uso sem impacto em usuários de produção
  • Mais duas semanas depois, em curto intervalo, vieram em sequência uma mensagem pedindo cadastro de cartão para evitar interrupção → uma fatura de US$ 1.081 → dois dias depois um aviso de atraso
    • Valor total do aviso de atraso: US$ 1.081,45
    • Pelos termos contratuais, a condição de pagamento exigia quitação imediatamente após a emissão da fatura

Esclarecimento sobre a expressão "interrupção"

  • Em geral, quando se usa um serviço gratuito sem cartão e se atinge o limite, a expectativa comum é de corte do serviço (= interrupção), mas neste caso isso levou a uma cobrança de US$ 1.000 já tratada como vencida
  • Explicação da equipe de suporte da Blacksmith
    • A palavra "disruption" não significava parada do serviço, e sim sinalização da conta para análise, como em casos de atividade suspeita
    • Não havia texto dizendo que jobs em execução seriam interrompidos automaticamente; ao exceder o limite gratuito, os workflows continuam e o uso passa a se acumular pela tarifa publicada
  • Na prática, nunca havia sido dito explicitamente que o trabalho pararia ao atingir o limite, nem que "gratuito, sem cartão" significava ausência de custos de milhares de dólares; tudo isso era uma suposição baseada na prática comum

Quatro pontos em discussão

  • 1. Eles podem cobrar dessa forma?

    • Em 8 de junho, os termos da Blacksmith sugeriam que o direito de cobrança pressupunha o fornecimento de informações de pagamento
    • Ainda assim, um SaaS pode prever nos termos a obrigação de pagar pelos excessos durante o teste gratuito
    • Como agentes executaram muitos jobs de CI, era previsível atingir o limite gratuito, e houve valor real entregue pelo serviço; portanto, mais do que algo desonesto, trata-se de um método surpreendente — conclusão: podem sim
  • 2. Os usuários vão se surpreender?

    • Estima-se que a parcela de usuários que esperaria receber uma fatura por exceder um serviço gratuito sem cartão seja de menos de 5%
    • Ao perguntar a chatbots, mesmo sem mencionar o e-mail alertando sobre cadastro de cartão, a resposta é fortemente "o serviço seria cortado" — um indício de como essa política é incomum
    • A maioria dos usuários espera que o limite gratuito seja um hard cap até informar os dados de pagamento
  • 3. O serviço deveria agir assim?

    • Permitir o uso excedente e depois enviar uma fatura vencida pode aumentar métricas de receita no curto prazo, mas a taxa real de recuperação é incerta e contas a receber e inadimplência tenderiam a disparar
    • Em conclusão, é uma má prática
      • Deixar usuários sem cartão acumularem excesso gera transtorno para provedor e cliente e, principalmente, dá mais margem gratuita para usuários oportunistas sem intenção de pagar
      • Mesmo que infle a receita de curto prazo, é difícil acreditar que o custo em confiança e abuso seja menor que a receita adicional
    • Alternativa: um alerta prévio do tipo "o CI será interrompido em 72 horas se nenhum cartão for cadastrado"
    • Só é possível especular por que optaram pela cobrança posterior — growth hacking agressivo, gerente intermediário mirando meta trimestral de receita, dívida técnica entre sistemas de pagamento e provisionamento, ou talvez uma moda entre startups da YC
      • Dado o crescimento explosivo durante a confusão da primavera no GitHub, a aposta do autor é em simples falha de supervisão (oversight)
    • A equipe de suporte respondeu que vai avaliar formas de reduzir esse tipo de confusão no futuro
  • 4. Mesmo assim, usaria a Blacksmith?

    • Houve tentativa de voltar para o GitHub Actions, mas continuou sendo desconfortável
    • A Blacksmith cresceu de forma explosiva por acelerar gargalos no ciclo de desenvolvimento
    • No fim, prevaleceu o pragmatismo — a preferência por maior velocidade de desenvolvimento superou a insatisfação com a política de cobrança
      • Depois que o pagamento foi aceito, o atendimento do suporte também ficou mais cordial, e a chance de migração de volta é alta

Dois conselhos para os leitores

  • Se você cria um SaaS, lembre-se de que a maioria dos usuários espera que contas gratuitas sejam pausadas antes de acumular excedentes, então enviar faturas será visto de forma negativa por muita gente
  • Se for testar a Blacksmith, pelo menos por enquanto é mais seguro reduzir o uso antes de atingir o limite do teste

1 comentários

 
GN⁺ 4 시간 전
Comentários no Hacker News
  • Alguns anos atrás, quando comprei meu primeiro celular com internet, a operadora anunciava 300 minutos grátis durante o período de teste, então achei ótimo
    No primeiro mês usei 297 minutos do serviço de internet, mas descobri que esses “minutos” valiam só para chamadas, e acabei recebendo uma cobrança em atraso de cerca de US$ 12.000 pelo uso de internet móvel. Era um preço absurdo, algo como US$ 360 por MB
    No fim, a operadora perdeu uma grande ação coletiva, não por causa da propaganda dos “minutos”, mas porque não informava adequadamente a ninguém o custo dos dados. Acho que no final paguei algo em torno de US$ 300, e depois que mandaram um acordo de US$ 600 para cobrança, fechei com a empresa de cobrança por 50%

    • Por isso simpatizo bastante com a ideia de ter um limite de uso rígido por padrão
    • Há muito tempo, minha namorada da época viajou de férias com a mãe e adicionou um Roaming Bundle ao celular
      Durante a viagem, a operadora ligou dizendo que ela já tinha acumulado £1.700 em tarifas de roaming, e a atendente disse para “não se preocupar”, que por precaução ia bloquear o débito automático daquele mês e que, quando a fatura fosse gerada, ligasse de novo
      Algumas semanas depois, confirmaram que o valor final era de cerca de £2.000, e quando perguntei por que ela não tinha recebido os alertas por SMS que supostamente seriam enviados quando metade e quase todo o pacote fossem usados, admitiram que já tinham ouvido a gravação da ligação e que ela realmente tinha sido informada disso
      Aí disseram que, na verdade, deveriam ter oferecido outro pacote de £150, que o uso real tinha sido cerca de 75% daquele volume de dados e, considerando também os £25 do pacote original, poderiam fechar em £75. Por isso continuo cliente dessa operadora até hoje
    • Então naquela época os dados também eram cobrados por minuto? Eu só me lembro de tarifas por kB e MB
  • Uau, eu nunca teria imaginado que receberia uma fatura sem nem sequer ter cadastrado um cartão
    Isso também parece mais um caso de que “cobrança e medição são difíceis e podem ser um trabalho de engenharia maior do que o próprio serviço”
    Eu estava olhando esse serviço hoje porque nosso GitHub Actions está lento demais; até parece bom, mas desse jeito eu teria que monitorar com mais cuidado do que a maioria dos períodos de teste, então acabaria gastando mais tempo
    Normalmente, nesses serviços, quando o período de teste acaba o serviço para, e aí você escolhe entre “tem valor, então eu assino” ou “não tem valor, então eu desfaço tudo”

    • Há bastante empresa que simplesmente paga a fatura se ela parecer plausível e houver uma justificativa de negócio
      Existem golpes baseados nisso, e alguns fornecedores também podem se aproveitar desse comportamento. Se 30% dos clientes simplesmente começarem a pagar a fatura, pode valer a pena lidar com as dúvidas dos demais. Pelo menos até começar o dano reputacional
      Um exemplo simples, familiar para quem tem domínio, é que, quando a data de expiração se aproxima, várias empresas enviam “faturas” que parecem custos de renovação do domínio. Se você ler as letras miúdas, está escrito “oferta comercial”, mas por fora parece exatamente uma fatura, e alguns simplesmente pagam
    • Sou o fundador da Depot. Pode testar sem medo
      Temos um teste gratuito real com base em tempo e não fazemos esse tipo de coisa estranha. Também dá para configurar limites de uso para evitar estouros inesperados de custo
      [0] https://depot.dev
    • Aqui a explicação de que “cobrança é difícil” se mistura com a questão da confiança do usuário
    • A OpenAI também já cobrou dessa forma no passado
    • Startups precisam inovar para sobreviver, e a YC aparentemente não desestimula esse tipo de “inovação” quando se trata de startups com potencial de dar muito dinheiro
  • Isso me lembra as práticas comerciais da Austrian NIC
    Normalmente, um domínio expira se você não renová-lo, mas na Áustria ele é renovado automaticamente para o ano seguinte a menos que você o cancele explicitamente por fax, e se você não pagar, o caso vai para cobrança[1]
    Pelo menos para domínios de topo de código de país (ccTLD), não existe regra de que “se não renovar, o domínio deve expirar”. Isso é só uma convenção, e convenções criam suposições, e essas suposições podem ser usadas para enganar as pessoas
    Em geral, nos negócios existem modelos pré-pagos, como o McDonalds, e pós-pagos, como restaurantes onde você se senta para comer. Aplicar preços pós-pagos a um serviço que, por convenção, é pré-pago vira um golpe perfeito
    [1] https://www.reddit.com/r/sysadmin/comments/1bnjus/the_austri...

    • Para um prestador de serviço alemão, isso não surpreende. Mas melhorou muito nos últimos 10 anos
    • De fato, a forma como um país administra seu próprio ccTLD não tem absolutamente nada a ver com as regras impostas pelos EUA para domínios genéricos de topo (gTLD)
    • Eles ainda fazem isso hoje, ou foi algo do passado? O post linkado é de 10 anos atrás
  • Os termos dizem que, para usar o serviço da Blacksmith Software Inc, é preciso criar uma conta, conectar uma conta do GitHub durante a configuração, instalar a integração da Blacksmith com o GitHub na organização e adicionar um método de pagamento válido, como cartão de crédito processado pelo Stripe
    Também dizem que só é possível solicitar pagamento por fatura em contratos grandes e que, ao fornecer informações de pagamento, você autoriza a cobrança das taxas de uso no cartão de crédito ou, no caso de um contrato com faturamento, concorda em pagar no prazo conforme as condições de cobrança
    Se essa pessoa não fechou um contrato grande e não pediu faturamento por fatura, então está violando os termos, então dá para simplesmente mandar cair fora

  • US$ 1.000 por mês? O que diabos estão fazendo no CI?
    Nós usamos Warp build e ele sai cerca de 50% mais barato que o GitHub; mesmo com 6 pessoas rodando bastante em vários repositórios, dá por volta de US$ 150 por mês. Isso incluindo builds de Rust, que costumam ser um caso bem pior em termos de tempo de build
    Não sei se a Blacksmith oferece runners maiores, mas se você está usando runners maiores, precisa verificar se isso realmente vale a pena. Um runner 2x maior não deixa o build 2x mais rápido. Eu defini uma meta e dimensionei o CI em função dela
    Cache também é necessário. TypeScript dá para resolver com Nx se o código estiver dividido em pacotes
    No meu emprego anterior, tínhamos um job que media o tempo depois da execução, e como o GitHub Markdown suporta Mermaid, isso era mostrado em um gráfico de Gantt. Não lembro se a API do GitHub consegue pegar o tempo do workflow atual, então talvez fosse um segundo workflow
    O primeiro passo exige um pouco de trabalho manual, e o restante um agente provavelmente faz em menos de 5 minutos

  • No longo prazo, isso não parece a forma certa de tocar um negócio.
    Mesmo que alguém acabe pagando a “fatura” por sorte, a empresa perde muita boa vontade e ainda sinaliza para toda a indústria de tecnologia um comportamento suspeito.

    • Em qualquer lugar que exija cartão de crédito para teste grátis, eu sempre uso um cartão virtual e cancelo. É até divertido ver reclamarem porque não conseguiram cobrar de verdade.
  • Como cliente que já usou Blacksmith, Depot e Ubicloud com satisfação em algum momento, concordo que os três oferecem executores de GitHub Actions mais baratos que o próprio GitHub, mas essa cobrança desta vez foi estranha.
    Dito isso, também vale apontar que, para sair uma fatura de US$ 1.000, é preciso usar realmente muito tempo de CI. Já passou faz tempo do nível hobby, e no GitHub tradicional o mesmo uso teria custado o dobro. Isso soa mais como pedir que uma empresa com demanda real de computação pague dinheiro de verdade.

    • Em termos de custo, fico me perguntando se não teria sido melhor usar algo como um servidor dedicado.
  • Isso me lembrou do que aconteceu comigo no Gusto.
    Em maio do ano passado, assinei o serviço de compensação em folha do crédito tributário de P&D, em que a taxa é calculada como uma porcentagem do benefício que recebemos. Como a declaração federal foi enviada em setembro, naturalmente não houve compensação em folha antes de outubro.
    Mesmo assim, me cobraram por um serviço que não foi prestado, e desde o primeiro dia isso aumentou a saída de caixa em vez de cumprir o propósito da ferramenta. Eles alegaram que, nas letras miúdas, estava escrito “cobrança na inscrição” quando marquei a caixa, mas isso me pareceu bastante absurdo, e ainda acho isso.

    • Posso perguntar quanto cobraram e por quanto tempo?
  • A Blacksmith deveria entrar nesta thread e se explicar diretamente.
    E o autor também poderia dizer quanto esse uso teria custado no GitHub Actions?

  • A pergunta “você continuaria usando a Blacksmith mesmo depois da surpresa desagradável e do atendimento ríspido do suporte?” é interessante, e dá para entender a avaliação prática.
    Ainda assim, a Blacksmith pode acabar levando um golpe por causa disso. Se isso fizer a empresa mudar de comportamento, ótimo, mas, como muitas startups, ela também pode simplesmente fracassar.
    Então, até ficar mais claro se ela vai dar certo ou não, o melhor parece ser continuar usando o serviço sem ficar dependente dele. Só depois valeria pensar em aproveitar recursos da plataforma.
    Mesmo assim, não sei o quanto dá para confiar na Blacksmith, nem se ela vai querer dificultar uma saída no futuro.
    Sobre o GitHub Actions, a Microsoft é muito boa em criar produtos e recursos que são apenas bons o bastante para usar, mas não o suficiente para motivar uma migração para alternativas melhores depois que ela domina a plataforma. GitHub Actions é um exemplo claro, Teams também, e a lista é longa. Para mim, isso parece uma versão moderna do comportamento anticompetitivo dos anos 1990: criam barreiras altas o bastante para impedir a entrada de concorrentes e matam a inovação. Não gosto disso.