- Print
- PDF
Knovvu applications run as containers orchestrated by Kubernetes. These applications rely on a set of shared components, used for common functionality such as logging, monitoring and queuing. This structure forms a layered platform architecture.
Components of each layer are described below. Note that this is a logical view of the platform. Actual deployment topology on servers can change based on customer requirements. For some of the components, customers are flexible to provide their own implementations, rather than using the components deployed by Sestek. More information on deployment topologies can be found at Deployment Approaches.
Infrastructure Layer
Knovvu products can be deployed on either bare metal or virtualized servers (VMs).
Kubernetes Layer
Knovvu products can be deployed on different Kubernetes distributions including,
- Vanilla Kubernetes
- Managed Kubernetes distributions (OpenShift, Rancher, GCP Anthos)
- Managed Cloud Offerings (EKS, AKS, GKE)
Kubernetes Platform Applications
This layer is composed of applications that are coupled to Kubernetes. Based on the Kubernetes distribution, implementation of these components may change.
Component | Function |
---|---|
Prometheus Stack | Prometheus Stack is a set of tools that are used together to create a solution for monitoring and observability. Main components of this stack are Prometheus and Grafana. Prometheus collects custom metrics from Knovvu applications as well as standard metrics from Kubernetes. Grafana helps in visualizing these metrics using custom dashboards. |
Ingress Controller | Ingress Controller is a component in Kubernetes that acts as a reverse proxy to manage external access to services within the cluster. |
NFS Provisioner | NFS (Network File System) Provisioner is a component that mounts the NFS share to the underlying nodes of the Kubernetes cluster. Depending on the Kubernetes distribution, built-in or third-party solutions are used as NFS Provisioner. |
Knovvu Platform Applications
Component | Function |
---|---|
Nexus | Sonatype Nexus is used as a repository manager (not as a container registry) for storing and managing deployment artifacts, such as AI/ML models, helm charts and Jenkins plugins. |
Vault | HashiCorp Vault provides a secure and centralized way to manage secrets and protect sensitive data. It manages access to tokens, passwords, certificates, encryption keys, and other sensitive information used by Knovvu applications. |
Jenkins | Jenkins is an automation server that facilitates building, testing, and deploying code to production. It is the main tool that automates the tasks for provisioning of Knovvu applications. |
Git http | Git http is used as a version control system for supporting GitOps. It is used for storing artifacts like scripts and packages required for deployment. |
Elastic Stack | Elastic Stack is a collection of tools designed for searching, analyzing, and visualizing log data in real-time. As central parts of the stack, Elasticsearch acts as the analytics engine that stores and indexes data, Elastic APM (Application Performance Monitoring) monitors the performance of applications and services, and Kibana provides a web-based user interface for visualization and exploration capabilities. |
Stateful Applications
Component | Function |
---|---|
MinIO | MinIO is an open-source object storage system. Knovvu applications use MinIO to store objects depending on their business role, such as voice recordings. |
Redis | Redis is an open-source, in-memory data store that is used as a cache for Knovvu applications. It stores frequently accessed data, such as session data, to reduce response times. |
RabbitMQ | RabbitMQ is an open-source message broker software that facilitates the communication and transfer of data between different applications or components. Knovvu applications use RabbitMQ queues to act as buffers that hold messages until they are consumed by the intended recipients. |
Knovvu Applications
Knovvu applications are the containerized applications that run on the Knovvu platform. They handle core business functionality. For more information, refer to Knovvu Applications.
Next topic: Deployment Approaches