30. The Infrastructure Behind Salesforce's Chatbots

Code[ish] - A podcast by Salesforce Engineering

Categories:

As part of its product suite to automate a business' needs, Salesforce offers a Live Agent product, whose central component is a chatbot that can respond to a user's inquiries on the web or other messaging platforms, such as Facebook or SMS. A key design requirement of the chatbot is to be able to simulate human interaction by responding quickly. For an engineering team of eight, that means being able to offload as much operational responsibility as possible to Heroku's platform. Salesforce's customers exist around the world, from Europe to Asia to the Americas. Heroku provide multiregional offerings for its dynos and databases that don't require too much administration or configuration. The benefits of not needing to define roles or specifications further simplifies the chatbot team's own architectural decision to design it as a collection of microservices. Furthermore, the chatbot team uses Terraform to define the infrastructure requirements of their application. By predefining the necessary add-ons, data services, and private spaces for every application, they are able to quickly spin up new external services whenever necessary. Links from this episode Salesforce's Live Chat is powered by chatbots to reply to users' issues in real-time. Heroku buildpacks are open source packages which turn an application's source code into an executable slug. The Salesforce chatbot team built their own customized buildpacks to support their unique needs. Terraform offers a provider that integrates with Heroku