Platform Components
  • 25 Jan 2024
  • 2 Minutes to read
  • Contributors
  • PDF

Platform Components

  • PDF

Article summary

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.

DevOps_Customer_Doc_Platform_Overview.drawio.png

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.

ComponentFunction
Prometheus StackPrometheus 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 ControllerIngress Controller is a component in Kubernetes that acts as a reverse proxy to manage external access to services within the cluster.
NFS ProvisionerNFS (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

ComponentFunction
NexusSonatype 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.
VaultHashiCorp 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.
JenkinsJenkins 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 httpGit 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 StackElastic 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

ComponentFunction
MinIOMinIO is an open-source object storage system. Knovvu applications use MinIO to store objects depending on their business role, such as voice recordings.
RedisRedis 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.
RabbitMQRabbitMQ 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


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.