DevSecOps – Cloud – Containerisation : pas que de l’évangélisation

container_RS

DevSecOps – Cloud – Containerisation : pas que de l’évangélisation … Chez NSI on passe à la pratique et on met en application !

Retour d’expérience sur le packaging d’une solution sur mesure et sa transformation en produit.

Objectifs :

Nous voulions transformer une de nos applications en Produit, en garantissant :

  • Une maintenance simplifiée
  • Un haut niveau de performance et de redondance
  • A un coût raisonnable et progressif

L’application concernée : "Totem"

Imaginez que vous deviez envoyer, tous les mois, un nombre important de factures papier (ou PDF) à vos clients, depuis votre application "métier". Ou encore que vous deviez communiquer régulièrement par courrier officiel avec vos administrés dans le cadre des dossiers qu’ils introduisent chez vous.
Totem est l’application permettant de créer les modèles de documents (lettres types, canevas de facture, …) et la réalisation, depuis l’application « métier », du publipostage entre les données et le modèle de document adéquat.

Pourquoi le Cloud ?

Le Cloud offre l’opportunité de déployer Totem 1 seule fois, et de proposer à nos clients d’utiliser cette instance unique, là où jusqu’ici, chaque projet/client avait son Totem dédié.

Avec cette approche Cloud, nous maintenons 1 seul environnement, qui peut être gonflé à la demande en terme de puissance. Nous pouvons aussi garantir de la redondance, puisqu’en réalité, il peut y avoir plusieurs Totem tournant simultanément, mais vus de l’extérieur comme un seul.

Avec le Cloud, nous pouvons donc démarrer "petit", croître progressivement et garantir un SLA de haut niveau, tout en limitant nos investissements.

Pourquoi Docker ?

Totem, bien que simple en apparence, dépend de plusieurs briques logicielles : Java, Base de données PostgreSQL, GED, LibreOffice, …

Une technologie telle que Docker, permettant de lancer des applications dans des conteneurs logiciels, nous permet de garantir non seulement que l’ensemble de ces dépendances sera disponible, dans la version adhoc, mais aussi que le "package" sera identique, quel que soit l’environnement cible (OnPrem, Cloud, …)

Enfin, Amazon (AWS) propose plusieurs solutions pour exécuter une image Docker. Nous avons opté pour Amazon ECS qui permet d’orchestrer plusieurs images Docker pour garantir à la fois de la répartition de charge et de la redondance.

Conclusion

Nous avions et avons toujours les compétences chez NSI, pour "packager" Totem sous forme d’image Docker et pour déployer cette image dans le Cloud, grâce à une approche DevOps, où l’équipe de développement se synchronise avec l’équipe Ops (dans ce cas-ci, notre équipe "Cloud").
Comme souvent, la clé du succès fut la communication entre les équipes.