Datasure

SecNumCloud et Haute-disponibilité

Contexte

expand-down

Datasure est le tiers de confiance spécialisé dans la preuve et la protection des données. C'est le spécialiste français de la certification et de la protection de processus, données, rapports, contrats, documents et fichiers stratégiques. Datasure a choisi de confier la conception et l’infogérance de la plateforme hébergeant son API d'horodatage à Codéin.

Objectifs

expand-down
  • Un hébergement SecNumCloud
  • Une haute disponibilité du service (SLA 99,9%)
  • Une plateforme capable de répondre aux exigences de croissance (scalabilité)

Résultats

expand-down
  • Une plateforme sur le cloud public d’Outscale dans la région SecNumCloud
  • Haute-disponibilité de l’architecture à tous les niveaux
  • Du scaling vertical et horizontal pour répondre aux exigences de croissance

Nos solutions

Scaling horizontal et vertical
Scaling horizontal et vertical
Déploiement continu
Déploiement continu
Outscale
Outscale SecNumcloud
99,9%
Haute disponibilité
(SLA)
99,9%
Haute disponibilité
(SLA)
Deploiement continu Datasure
Deploiement continu Datasure

SecNumCloud

  • SecNumCloud est une certification délivrée par l’ANSSI à des prestataires fournissant des offres cloud. Elle garantit un haut niveau d’exigence tant du point de vue technique, qu’opérationnel ou juridique.
  • La plateforme de Datasure nécessite un hébergement SecNumCloud imposé par certaines certifications et qualifications de l’application hébergée.
  • Nous nous appuyons sur la région certifiée SecNumCloud de notre partenaire Outscale, fournisseur français de cloud public souverain.

SecNumCloud

  • SecNumCloud est une certification délivrée par l’ANSSI à des prestataires fournissant des offres cloud. Elle garantit un haut niveau d’exigence tant du point de vue technique, qu’opérationnel ou juridique.
  • La plateforme de Datasure nécessite un hébergement SecNumCloud imposé par certaines certifications et qualifications de l’application hébergée.
  • Nous nous appuyons sur la région certifiée SecNumCloud de notre partenaire Outscale, fournisseur français de cloud public souverain.

Haute-disponibilité et scalabilité

La plateforme est architecturée de façon à bénéficier d’une haute disponibilité et de scalabilité verticale et horizontale à tous les niveaux :

  • 2 serveurs proxy (HAproxy) : ils font office de loadbalancers résilients pour les serveurs web de l’application et les différents clusters. Ils assurent la distribution du trafic et la disponibilité des clusters. Ils permettent, par des mécanismes d’auto-discovery DNS, le scaling horizontal et les livraisons sur le modèle blue/green. Le trafic leur est amené par un loadbalancer TCP (niveau 4) opéré par Outscale.
  • 2 serveurs web pour l’application (Apache, PHP-FPM) en mode nominal. Ils sont créés à partir d’une “golden image” ce qui permet d’augmenter ou réduire simplement leur nombre pour répondre aux fluctuations importantes du trafic.
  • 3 serveurs pour les clusters de base de données. MariaDB Galera (MySQL multi-master) pour la base de données de l’application. Redis pour stocker les sessions et le cache de l’application (1 primaire et 2 réplicats, gérés par Redis Sentinel). GlusterFS (1 primaire et 2 réplicats) pour le stockage à partager entre les différents serveurs web.
  • 3 serveurs pour les clusters ElasticSearch et Kibana, utilisés pour les besoins de l’application.
  • 1 bucket de stockage objet pour certaines données métier

Haute-disponibilité et scalabilité

La plateforme est architecturée de façon à bénéficier d’une haute disponibilité et de scalabilité verticale et horizontale à tous les niveaux :

  • 2 serveurs proxy (HAproxy) : ils font office de loadbalancers résilients pour les serveurs web de l’application et les différents clusters. Ils assurent la distribution du trafic et la disponibilité des clusters. Ils permettent, par des mécanismes d’auto-discovery DNS, le scaling horizontal et les livraisons sur le modèle blue/green. Le trafic leur est amené par un loadbalancer TCP (niveau 4) opéré par Outscale.
  • 2 serveurs web pour l’application (Apache, PHP-FPM) en mode nominal. Ils sont créés à partir d’une “golden image” ce qui permet d’augmenter ou réduire simplement leur nombre pour répondre aux fluctuations importantes du trafic.
  • 3 serveurs pour les clusters de base de données. MariaDB Galera (MySQL multi-master) pour la base de données de l’application. Redis pour stocker les sessions et le cache de l’application (1 primaire et 2 réplicats, gérés par Redis Sentinel). GlusterFS (1 primaire et 2 réplicats) pour le stockage à partager entre les différents serveurs web.
  • 3 serveurs pour les clusters ElasticSearch et Kibana, utilisés pour les besoins de l’application.
  • 1 bucket de stockage objet pour certaines données métier
Infrastructure Datasure
Infrastructure Datasure
Deploiement continu Datasure
Deploiement continu Datasure

Déploiement continu

Nous réalisons pour le client la mise en place et le support du déploiement continu de son application pour que les nouvelles versions soient automatiquement déployées sur les environnements de préproduction et production à chaque contribution :

  • Nous avons migré le code source de l’application sur GitHub et réalisé le pipeline de déploiement continu.
  • Les livraisons du code source sur les environnements sont basées sur le modèle blue/green : une nouvelle image disque est créée à chaque livraison de code, un nouveau groupe de serveurs est créé à partir de cette image et le trafic est basculé dessus avant de supprimer les serveurs de l’ancienne version dans le cas où tout s’est déroulé correctement.
  • Le service Rundeck est utilisé pour orchestrer les livraisons déclenchées par GitHub Actions.

Cela permet d’améliorer la qualité de service en fiabilisant les déploiements grâce à leur automatisation, ainsi que réduire le stress des développeurs lors des livraisons en production pour qu’ils puissent se concentrer sur leur cœur de métier.

Déploiement continu

Nous réalisons pour le client la mise en place et le support du déploiement continu de son application pour que les nouvelles versions soient automatiquement déployées sur les environnements de préproduction et production à chaque contribution :

  • Nous avons migré le code source de l’application sur GitHub et réalisé le pipeline de déploiement continu.
  • Les livraisons du code source sur les environnements sont basées sur le modèle blue/green : une nouvelle image disque est créée à chaque livraison de code, un nouveau groupe de serveurs est créé à partir de cette image et le trafic est basculé dessus avant de supprimer les serveurs de l’ancienne version dans le cas où tout s’est déroulé correctement.
  • Le service Rundeck est utilisé pour orchestrer les livraisons déclenchées par GitHub Actions.

Cela permet d’améliorer la qualité de service en fiabilisant les déploiements grâce à leur automatisation, ainsi que réduire le stress des développeurs lors des livraisons en production pour qu’ils puissent se concentrer sur leur cœur de métier.

Témoignage

Florian De Vaulx Datasure
Florian De Vaulx
CTO
Plateforme de signature et horodatage électronique de tiers de confiance servie en haute disponibilité en SecNumCloud. Très bonne performance et équilibrage des charges, réactivité de l'équipe pour les besoins custom
Plus de témoignages

Technologies

Le cloud public d’Outscale

Créé par Dassault Systèmes, le cloud public d’Outscale représente l’alliance de la très haute disponibilité, de la très haute performance et de l’hyper confiance avec une région SecNumCloud.

 

En savoir plus
Packer
  • Création automatique d'images disque afin de bénéficier d'un scaling réactif et fiable.
  • Afin de permettre une augmentation du nombre de frontaux de production rapidement, nous utilisons Packer pour générer une image disque lorsqu'une version doit-être mise en production. Elle est préparée avec la configuration définitive du serveur web et du code applicatif. 
  • Les serveurs créés à partir d'une image sont opérationnels en moins de 3 minutes. 

 

En savoir plus
Ansible

Ansible est un outil d'automatisation Open Source. Il constitue notre socle de déploiement et de configuration de serveurs à grande échelle.

Terraform

Build et gestion de l'infrastructure (serveurs, réseau, stockage) sur tout le cycle de vie du projet. Permet la traçabilité, l'historisation, la reproductibilité et l'industrialisation de l'infrastructure et des changements qui y sont appliqués. En savoir plus...

En savoir plus

Nos autres Business cases

Un projet ?

Contactez-nous !

Votre demande a bien été transmise !
Une erreur est survenue.

Suivre l'actu Codéin ?