Required external software
The following external software components are required and must be supplied & supported by the client (including monitoring, backups, etc). The first four components have been selected by LumenVox as the required solutions for complete functioning of our software in the containerized architecture. They are available as open-source, or as cloud-managed by major public cloud providers. Each of these are optimal and best-in-class. Partners or clients are required to implement these as a pre-requisite.
In a production environment, a distributed cluster of each of these components is recommended, as opposed to a singular instance, to ensure high availability, scalability, and disaster recovery.
RabbitMQ – Message Queuing
This message queuing component, to be implemented independently by the client/partner, is used by LumenVox software for all internal messaging between the microservices, which means the queuing of all transaction, audit, and management information. Once a service processes the data requests, they are removed from the queue.
Version: 3.9.16 (recommended)
Redis – In-Memory Cache
This in-memory data structure store acts as a database Cache. It holds the session IDs, audio IDs and Interaction IDs for the audio processing transaction. It is used for caching of session & transaction information throughout the architecture for the duration of its processing by the various internal services. It is this component that receives and processes the audio for speech processing.
Version: 7.0.13 (minimum)
MongoDB – Database
A Key-Value based database is used as a repository for session binary data. This document-oriented database is used by LumenVox software to store the audio, grammars, and SSML files in a binary format. It is important to store this information for audit/troubleshooting purposes. It is used to determine and refine the performance of the product, using the Analysis portal described later. The storing of audio files is configurable. Clients have the ability to customize the MongoDB database name (excluding KubeAdm deployments).
Version: 5.0.16 (minimum)
Storage requirements
TTS: 2.5kb MongoDB storage per minute
ASR and Transcription: 500kb MongoDB storage per minute
PostgreSQL – Database
A repository for persistent metadata, licensing, and reporting data. This SQL compliant relational database is used by LumenVox software to store all the transactional data. The system makes use of a single PostgreSQL database and the name can be customized by the client (excluding KubeAdm deployments).
Version: 13 (recommended)
Storage requirements
TTS:2.5kb Postgres storage per minute
ASR and Transcription: 25kb Postgres storage per minute
Persistent Storage
In addition to the required pre-requisite components specified above, clients should also provide persistent storage (100GB SSD recommended - but will be dependent on client sizing), from a provider of their choosing. This is required for storing ASR & TTS models as well as grammar files. This will increase as different language models for ASR, TTS and Voice Biometrics are added. The grammar cache also resides within this volume so will increase as and when different grammar files are used. The size of the grammar files used will also have an impact on usage.