How RD Station grew a Rails app from Heroku to a multi-cloud platform
RD Station, founded as Resultados Digitais in Florianópolis, makes marketing automation, CRM and customer service software and has been part of TOTVS since 2021. It started as a Ruby on Rails app on Heroku and today runs Rails and Python services on Kubernetes across Google Cloud and AWS.
At TDC 2014, RD engineers showed how the stack had grown. In early 2013 it was just Postgres, Rails, Heroku and Delayed::Job. By March 2014 it had added Elasticsearch, Redis, MongoDB, memcached, Resque, GitHub and CircleCI.
The lessons on the slides point the same way: separate apps, decouple the front end from the back end and automate deploys.
By 2015 RD Station was sending more than 70 million emails a month, running over 4 million jobs a day and holding a billion documents in MongoDB, with five dev teams deploying about ten times a day.
To keep up they leaned on autoscalers and microservices, trying Ruby first, then Node.js, then Go. New Relic profiled the app, Rollbar tracked errors and Hubot handled deploys.
TOTVS bought RD Station in 2021 for R$ 1.86 billion. Rails is still at the core: a current billing role asks for Ruby on Rails with PostgreSQL, Sidekiq for async jobs, Docker and Kubernetes, with Datadog and Rollbar in production.
The cloud team runs a shared foundation across Google Cloud, AWS and Oracle Cloud, with Kubernetes on GKE and EKS and Terraform for infrastructure as code. RD also open-sourced a Kubernetes operator that autoscales Google Cloud Bigtable nodes based on CPU.
AI work happens in a cross-product group called the AI Alliance, which builds RD Station's AI agent builder. Its backend is in Python with React and TypeScript on the front, Kafka or Pub/Sub for events, PostgreSQL and MongoDB for data and Datadog for observability.
Engineers are expected to use AI tools like Cursor to move faster while staying responsible for quality and security.