Your Dasha AI conversational app is composed of two parts: SDK and Dasha Cloud.
Let's look at what each part does and how they communicate with each other.
And what about communication?
- You need to have DNS name and TLS Certificate if you want to transfer data securely.
- You need to send all conversation context in each request
- Your application complexity rises sharply, when you need to have more than one replica of your application
- It's hard to start a business logic of your application on your PC and try your application at once.
- It's hard to run your application in the test environment, like Gitlab CI/CD pipelines, or using Github actions.
- You can connect to Dasha from anywhere, from your PC, from the test environment, from another cloud.
- You do not need to have the public IP address, DNS name, TLS Certificate, because the connection is initiated from your side. Dasha has DNS names, TLS Certificates.
- It's easier to implement A/B testing and scaling of your application. You have conversation context during all conversation context in the application, that has started (really - accepted) the conversation.
- It's secure. You do not need to expose any HTTPS endpoints to the world.
- It's much harder to maintain and update the platform when you are using GRPC streams because at any time you have connected clients.
- It's harder to implement scaling because there is no simple way to throw connected clients from one instance of the server to another.