Contexte
Les équipes de l’IRT SystemX réalisent des Proof of Concept (PoC) nécessitant de construire et déployer régulièrement des applications logicielles dans des environnements d’éxecution proches d’un futur environnement cible. Le mouvement DevOps (Development/Operations) offre une plus grande agilité entre les étapes de développement et de déploiement des logiciels. Cette agilité permet d’expérimenter plus en amont les concepts et les architectures mis en oeuvre dans les projets de R&D. Par ailleurs, afin de mettre en oeuvre la stratégie de réutilisation et de transfert vers les partenaires, il est nécessaire de concevoir des architectures en composants et services.
Enjeux
La plateforme SMITE, basée sur les outils DevOps, vise à masquer la complexité de l’intégration et du déploiement continus des logiciels et facilite la réutilisabilité des composants d’un système logiciel en se positionnant comme un middleware dédié « fabrique à plateformes » :
- Uniformiser les architectures et simplifier le développement des services capitalisables et réutilisables entre les projets ou par les partenaires.
- Simplifier l’intégration de plusieurs composants pour réaliser un environnement d’expérimentation destiné à un projet.
- Abstraire l’accès aux ressources d’infrastructures et offrir la capacité à changer d’échelle d’expérimentation.
Valeur ajoutée / Services offerts
Les principales fonctions de la plateforme SMITE sont :
- Favoriser la mutualisation : les actifs disponibles à l’IRT SystemX sont mis à disposition dans un catalogue de services pour en permettre la réutilisation.
- Faciliter l’expérimentation : les utilisateurs déploient à partir de ces services des développements expérimentaux dans des environnements isolés, avec une gestion fine du contrôle d’accès.
- Simplifier l’intégration : SMITE propose un ensemble de processus, de bonnes pratiques et d’outils accompagnant l’intégration de développements vers une plateforme projet.
- Accélérer les développements : les utilisateurs bénéficient d’un environnement de développement collaboratif qui permet la gestion du cycle de vie d’une application.