Skip to content

Déploiement On Premise

Puisque l'infrastructure Prisme.ai fonctionne elle même via Kubernetes, la solution la plus simple afin de la déployer on premise est de passer par Docker ou Kubernetes, pour lesquels nous pouvons donc fournir la liste des manifests et fichiers de configuration nécessaires.

Liaisons DNS & HTTPS

Dans le cas d'un cluster Kubernetes et afin que chaque service publique de l'infrastructure Prisme.ai soit facilement joignable par une liaison HTTPS, il est préférable aussi d'avoir à disposition un load balancer pouvant se comporter comme un Ingress Controller Kubernetes, pour lequel nous fournissons la configuration. Ce type de load balancer est nativement fourni par les différents cloud providers supportant Kubernetes (Google Cloud, Amazon Web Services, Azure notamment).

Dans le cas d'une installation Docker uniquement, il revient au client de déployer les services nécessaires pour mettre en place les redirections HTTPS vers les bons services (i.e reverse proxies comme traefik ou nginx).

Bases de données

Nos différents services ont aussi besoin de bases de données, pour le déploiement desquelles nous n'offrons aucun support.

Pour la configuration la plus simple dans laquelle différents services peuvent stocker leurs données au sein de la même instance de base de donnée, voici les différents services à prévoir :

  • MongoDB (comptes Prisme.ai, messages utilisateurs, workflows, données dataflow)
  • Elasticsearch (logs et métriques de monitoring, messages usagers permettant le calcul de statistiques, documents indexés par le crawler)
  • Volume disque (stockage des modèles NLU)
  • Redis (données volatiles nécessaires à la notification des usagers en temps réel comme pour la réception de nouveaux messages, données internes et persistantes du crawler)
  • Bucket objet S3-like (photos d'assistants et autres médias stockés par ses workflows)
  • Postgres (données internes au livechat, messages utilisateurs transitant par le livechat. Inutile si pas de livechat)

Afin de garantir l'étanchéité des données ainsi qu'une capacité à scaler l'infrastructure, nous recommandons cependant la division des services suivants :

  • 1 MongoDB stockant les comptes Prisme.ai, messages utilisateurs, workflows et autres données du dashboard
  • 1 MongoDB stockant les données de dataflow
  • 1 Redis contenant les données volatiles nécessaires au temps réel
  • 1 Redis contenant les données internes du crawler (metadata de pages comme urls, le titres des sections ou l'image de présentation mais pas le contenu lui même)