HerokuGaren TorikianProblem & solution
Building and Scaling a Global Chatbot using Heroku + Terraform
Summary
Live Agent, Salesforce’s embeddable chatbot, must handle customer interactions and requests at global scale while remaining highly available across regions. Its eight-person team chose Heroku to avoid managing bare metal, cloud virtual machines, databases, and other third-party services, while relying on managed Java support and regional infrastructure. The platform runs ten apps with Heroku Postgres, Redis, and Apache Kafka dependencies, and deploys them inside Heroku Private Spaces to isolate network boundaries and data. Terraform defines and replicates apps, add-ons, custom domains, logging, and profiling configuration across regions, allowing changes to propagate through a pull request. The result described is a simpler operational model in which Heroku handles maintenance and the team can scale the same architecture into new geographic locations.
Context
Live Agent serves Salesforce customers worldwide and must support substantial request volumes with high availability across multiple regions. Its eight-person team wanted to avoid the operational burden of managing bare metal, cloud VMs, databases, and third-party services while also owning development and on-call responsibilities.
Approach / What changed
The team runs ten Live Agent apps on Heroku, using managed Heroku Postgres, Redis, and Apache Kafka services within regional Heroku Private Spaces. Terraform programmatically defines the apps, add-ons, custom domains, logging, and profiling configuration, then replicates that architecture across regions and applies updates through pull requests.
Takeaways
Live Agent’s platform consists of ten separate apps and uses Heroku Postgres, Redis, and Apache Kafka dependencies across regions.
Heroku Private Spaces isolate the apps’ runtime and keep data within a network that is inaccessible from outside services.
Terraform lets the team replicate regional infrastructure and update app, add-on, domain, logging, and profiling configuration from code.
Source and freshness
- Source
- heroku.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.