Skip to main content

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