Creating a Scalable Rasa Cluster Without Kubernetes or Docker

Hello Everyone

I’ve got an interesting challenge that I need to overcome. We are preparing to launch RASA into a production environment, however, we are restricted from using Kubernetes and Docker. This means that we’ll need to spin up multiple instances of RASA and have them managed by our custom load balancing solution. The problem that I’m trying to overcome is that of sharing state across all of our rasa instances.

At the moment, I’m sending the data that gets saved in the tracker store, to all other rasa instances every time any of the instances take part in a conversation. The idea behind this is that all rasa instances would have the same tracker store. However, I’m also aware that the lock store is important for managing race conditions and so forth. Right now, there is zero information sharing between the different lock stores.

What impact would it have on the system if I were to share the lock store data in a similar way to how I’m sharing the content store data? Additionally, is it even viable to share the content store the way I’m sharing it now, it seems like the JSON that gets sent across stores the entire conversation history, so I assume that it will become very large as a conversation progresses?

Any feedback would be greatly appreciated!