Architecture
Overview
The Hiya AI Voice Detection Service is deployed as a single container image. When run, the container exposes a gRPC endpoint through which the AI Voice Detection Service can be consumed.
This service is stateless — no relevant transaction information is stored in the container or by the container in a separate volume or logical location.
You can customize the deployment based on your requirements and preferences. Various Container Runtime Interfaces (CRI) and Container Orchestrators are supported. See Installation Requirements for details.
Deployment diagrams
Online Self Hosted
In the online mode, the containers connect outbound to the Hiya Platform for billing and license management. Voice data remains entirely within the private cloud.
Offline Self Hosted
In the offline (air-gapped) mode, there are no external connections. The containers operate entirely within the private cloud.
Deployment objects
These are the general objects that need to be deployed inside the cluster for the solution to work, assuming a typical Kubernetes or OpenShift deployment.
Container Image
This object file is used to start the Voice Verification containers. It must be available to the container runtime interface in its container repository. Specific steps and configuration may vary slightly depending on the software being used.
Deployment
This object instructs the cluster to run a given number of AI Voice Detection Container instances. Example for Kubernetes/OpenShift:
apiVersion: apps/v1
kind: Deployment
metadata:
name: hiya-voice-verification
spec:
replicas: 1
selector:
matchLabels:
app: hiya-voice-verification
template:
metadata:
labels:
app: hiya-voice-verification
spec:
containers:
- name: hiya-voice-verification
image: hiya/hiya-voice-verification:v1.0.0
ports:
- containerPort: 8080
Service
This object allows other containers or clients outside the cluster to connect with the AI Voice Detection containers, load balancing requests between them. Configuration may vary based on the networking schema required. Example for Kubernetes/OpenShift, which exposes the service at hiya-voice-verification.default.svc.cluster.local:8080:
apiVersion: v1
kind: Service
metadata:
name: hiya-voice-verification
spec:
selector:
app: hiya-voice-verification
ports:
- protocol: TCP
port: 8080
targetPort: 8080