Estudo de caso · Stack

Como a RD Station levou um app Rails do Heroku a uma plataforma multinuvem

A RD Station, fundada como Resultados Digitais em Florianópolis, faz software de automação de marketing, CRM e atendimento e faz parte da TOTVS desde 2021. Começou como um app Ruby on Rails no Heroku e hoje roda serviços em Rails e Python no Kubernetes, entre Google Cloud e AWS.
Copiar stackrdstation.com Automação de marketing e CRM para pequenas e médias empresas · Brasil · fundada em 2011

A stack da RD Station

Abrir no montador

Linguagem

Biblioteca de interface

Hospedagem

Banco de dados

  • PostgreSQLjob-boards.greenhouse.io

    Banco relacional principal.

  • MongoDBpt.slideshare.net

    Banco de documentos, que já guardava um bilhão de documentos em 2015.

  • Google Cloud Bigtablegithub.com

    Banco de alto volume que a RD escala com um operador de Kubernetes próprio e open source.

Busca de dados

Framework de servidor

Erros

Como montaram

Um app Rails no Heroku

No TDC 2014, engenheiros da RD mostraram como a stack tinha crescido. No começo de 2013 eram só Postgres, Rails, Heroku e Delayed::Job. Em março de 2014 já tinha Elasticsearch, Redis, MongoDB, memcached, Resque, GitHub e CircleCI.

As lições dos slides vão na mesma linha: separar apps, desacoplar o front do back e automatizar o deploy.

Fontes:speakerdeck.com

Escalando em 2015

Em 2015 a RD Station já mandava mais de 70 milhões de emails por mês, rodava mais de 4 milhões de jobs por dia e guardava um bilhão de documentos no MongoDB, com cinco times de desenvolvimento fazendo uns dez deploys por dia.

Para dar conta, apostaram em autoscalers e microsserviços, testando primeiro Ruby, depois Node.js e depois Go. O New Relic media o desempenho, o Rollbar rastreava erros e o Hubot cuidava do deploy.

Fontes:pt.slideshare.net

Rails hoje, em várias nuvens

A TOTVS comprou a RD Station em 2021 por R$ 1,86 bilhão. O Rails segue no centro: uma vaga atual do time de cobrança pede Ruby on Rails com PostgreSQL, Sidekiq para tarefas assíncronas, Docker e Kubernetes, com Datadog e Rollbar em produção.

O time de nuvem cuida de uma base comum entre Google Cloud, AWS e Oracle Cloud, com Kubernetes no GKE e no EKS e Terraform para a infraestrutura como código. A RD também abriu o código de um operador de Kubernetes que ajusta os nós do Google Cloud Bigtable pela CPU.

Fontes:olhardigital.com.br job-boards.greenhouse.io job-boards.greenhouse.io github.com

Um time de IA em Python

O trabalho com IA fica num grupo que atende vários produtos, a Aliança de IA, que constrói o Criador de Agentes de IA da RD Station. O backend é em Python, com React e TypeScript no front, Kafka ou Pub/Sub para eventos, PostgreSQL e MongoDB para dados e Datadog para observabilidade.

A expectativa é usar ferramentas de IA como o Cursor para ir mais rápido, sem largar a responsabilidade por qualidade e segurança.

Fontes:job-boards.greenhouse.io job-boards.greenhouse.io

Também detectado no site

Achado na página inicial com as regras abertas do Wappalyzer (HTML, scripts e cabeçalhos). Mostra o que roda no navegador, não o backend inteiro.

  • Cloudflare
  • Cloudflare Browser Insights