---
type: Product
title: "Stack technique SPS"
description: "Stack technique, hébergement et principes d'architecture retenus pour la plateforme SPS."
resource: https://www.sps-solutions.fr
tags: [company, sps-solutions, hebergement, stack-technique]
entity: sps-solutions
canonical: false
---

## Architecture multi-tenant par conception

SPS dès sa conception a été conçue dans un objectif multi-tenant. En effet, SPS permet au sein de la même installation d’accéder aux données de plusieurs organisations, conformément aux autorisations données et en garantissant une séparation physique totale des données par organisation tout en mutualisant les ressources communes.

Le stockage des données se fait dans une base de données relationnelle open source : PostgreSQL.

## Back-End

L’application SPS s’appuie sur un ensemble de services lui permettant d’accéder aux données. Ces services sont accessibles via https.
Les services sont construits avec langage java et avec le framework de développement Spring.

Java est un langage de programmation très répandu et performant permettant de construire des logiciels à la fois complexes et maintenables. Spring permet quant à lui de construire des solutions légères et ne nécessitant pas l’utilisation de serveurs d’applications trop lourds.

## Front-End

La solution SPS est une application de type SPA (single page application) s’exécutant au sein d’un navigateur. Elle s’appuie sur le Framework Angular. Ce framework, basé sur le langage Typescript et compatible avec les principaux navigateurs du marché, permet d’offrir une expérience utilisateur optimale en permettant une exécution locale de l’IHM très performante. Une fois l’application chargée dans le navigateur, les appels au serveur se font seulement pour l’accès aux données demandées.

## Hébergement

Le déploiement de la solution SPS repose sur une architecture Cloud souveraine et hautement segmentée, exploitant la puissance du Cloud OpenStack de [BeYS](https://www.be-ys.cloud). Cette fondation technique est conçue pour garantir la résilience, l'isolation et la conformité, gérée en étroite collaboration avec les équipes d'opérations dédiées.

Déployée via Terraform, l'architecture est structurée autour d'un principe de séparation stricte des préoccupations (SoC), essentiel pour les cycles de vie du logiciel et la gestion des risques :
- **Segmentation Logique par Projet OpenStack** : Chaque jalon du cycle de déploiement (Recette Interne, Recette Externe, Pré-production, et Production) est hébergé dans un Projet OpenStack distinct. Cette méthodologie assure une isolation réseau native et une indépendance totale des ressources entre les environnements critiques.
- **Indépendance des Stacks de Télémétrie** : Pour garantir l'intégrité et la non-régression, chaque environnement dispose de sa propre stack d'agrégation de logs dédiée et isolée au niveau OpenStack. Cela permet une analyse précise et non contaminée des journaux d'événements spécifiques à chaque phase.
