Retour DescriptionMots clésPresentationsAteliers préparatoiresAteliersGroupes de travail

T6 - Les usines logicielles (Outils/environnements de développement et de déploiement), l'approche DevOps et la virtualisation

Description

Nous aborderons dans cette thématique tous les aspects de la mise en place d'une infrastructure et d'un environnement adaptés et flexibles aux besoins des projets de développement logiciel des laboratoires.

L'infrastructure de développement encore appelée l'atelier de génie logiciel nécessaire au bon déroulement d'un projet de développement logiciel est souvent coûteux et difficile à mettre en oeuvre.

L'infrastructure nécessaire dépend de la nature du projet. Dans les méthode agile la mise en oeuvre correspond souvent au spring 0, le premier cycle du projet. Cette infrastructure facilite la gestion du cycle de développement et l'adoption de bonnes pratiques.

Le choix des outils de production de code, la spécification et le déploiement de cette infrastructure, nécessite des compétences de développeur mais aussi des compétences et des prérogatives d'administrateurs système et réseaux.

le mouvement Devops aborde cette problématique sous l'angle des relations entre les ASR (Administrateurs Système et Réseau et les développeurs pour faciliter la mise en place d'une infra-structure agile adaptée aux besoins pour chaque projet de recherche.

Ce mouvement peut rester lettre morte si le contexte de collaboration ne s'y prête pas et si l'environnement technique n'y est pas favorable. Les écueils peuvent être divers: les personnes développant ne sont pas au fait des outils pour développer, les ressources matérielles ne sont pas présentes, …

Nous verrons dans cette thématique les outils de développement logiciel, leur mise en oeuvre dans des infrastructures techniques permettant leur adaptation aux projets de développement aux travers de solutions de virtualisation de machines et d'environnement de développement configurable.

L'approche par conteneur linux LXC, les possibilités des nouveaux noyaux linux, des conteneurs Docker, les plate-formes de développement en ligne (PAAS) et les plate-formes de déploiement en ligne des logiciels (SAAS).

Nous verrons différentes usines logicielles adaptées à différents environnements de recherche et comment grâce à ces solutions les personnes amenées à produire du code (ingénieurs, thésards, chercheurs de toute thématique scientifique) peuvent s'affranchir de la mise en place technique d'outils de génie logiciel adéquats leur permettant d'adopter de bonnes pratiques (gestion de version, urbanisation, capitalisation des développement, tests de non-régression, intégration continus, déploiement, …) pour pouvoir se focaliser et valoriser leurs applications et/ou leurs travaux de recherche.

Mots clés

  • Usine logicielle
  • Outil de production de code
  • Virtualisation de l'environnement de développement
  • Conteneurs linux

Présentations

  • 14h00-14h20 : T6.P1 - Virtualisation légère, approche DevOps et usines logicielles - Pascal Dayre (IRIT, Toulouse) pdf] [[https://webcast.in2p3.fr/videos-jdev2015_virtualisation_legere|vidéo
  • 14h20-14h55 : T6.P2 - La virtualisation de l'environnement de développement avec Vagrant - Lom Messan HILLAH (Université Paris X) pdf vidéo
  • 14h55-15h30 : T6.P3 - Principes et intérêts des différents types de virtualisation avec linux - Samuel Thibault (LABRI, Bordeaux) avec la participation d'Alain Tchana (ENSEEIHT, Toulouse) pdfvidéo
  • 15h30-16h00 : Pause
  • 16h00-16h30 : T6.P4 - Introduction à Docker - Jérôme Petazzoni (Docker, San Franscico) pdf vidéo
  • 16h30-17h00 : T6.P5 - Docker et les architectures orientées service - Jérôme Petazzoni (Docker, San Franscico) pdf vidéo
  • 17h00-17h30 : T6.P7 - Chaine de production et d'exploitation utilisant des conteneurs (exemples avec des logiciels de gestion ou scientifiques) - Johan Moreau (IRCAD, IHU, Strasbourg)

une usine logicielle mêlant un workflow mercurial (jenkins+trac+googlecode+github+bitbucket) et jenkins (le tout avec un build automatisé par cmake et des outils de tests+qualité). saltstack et docker pour optimiser l'usine. pdf vidéo

Ateliers préparatoires

  • T6.AP01 : (remplacer par T6.A05) Virtualisation et configuration de son environnement de développement avec Vagrant - Lom Messan HILLAH (Université Paris 10)

Ateliers

  • T6.A01 : Une usine logicielle pour industrialiser le développement, l'intégration continue et le déploiement avec des conteneurs - Nicolas Herbaut (LABRI, Bordeaux)
  • T6.A02 : Poste de développement containerisé (créer son usine logicielle dans un conteneur) - Guillaume MARTIAL (Treeptik, Marseille)
  • T6.A05 : Vagrant, la création et la configuration des environnements de développement virtuel - Lom Messan HILLAH (Université Paris X)
  • T6.A07 : Accélération du développement d'une application Java avec Spring boot: développement, déploiement et monitoring - mots clés: injection de dépendance, web service, Java 8, Mongo - Stéphane Deraco (DSI CNRS, Toulouse) Support PDF de l'atelier
  • T6.A09 : Docker et orchestration - Jérôme Petazzoni (Docker, San Franscico)

Groupes de travail

  • T6.GT01: Fusionner avec T6.GT04 - les machines virtuelles, les environnements de développement virtuels. Intérêts et limitations. REX de pile de développement (cf. Hipster?). Pile de développement sur étagère (github).
  • T6.GT02: Conteneurs et outils de production de code (intégration continue, service de gestion de version, …) - Johan Moreau (IRCAD, IHU, Strasbourg), Nicolas Herbaut (LABRI, Bordeaux) pdf
  • T6.GT03: Comment favoriser l'approche Devops - lien entre les développeurs et les ASRs - Johan Moreau (IRCAD, IHU, Strasbourg) pdf
  • T6.GT04: Rechercher, sélectionner, adapter et partager une usine logicielle avec les conteneurs. Illustration avec un projet qgis. Potentialité de la mise en place des usines logicielles pour différents contextes de recherche (Environnements de dev pour un labo de physique, de biologie, …). Potentialité des bibliothèques, des référentiels d'usines logiciel - pdf - Julien Ancelin (INRA, Lusignan).
  • T6.GT05: Les conteneurs, les clusters de calcul et les méso-centres. Dans quelles mesures la ressource de calcul peut s'adapter à l'environnement de développement? - Olivier Grisel (Inria Saclay), Pierre Gay responsable technique du mésocentre de Calcul Intensif Aquitain (MCIA).
  • T6.GT06: Les PAAS et le développement en ligne. Comparatif des PAAS. - Fabien AMICO (Treeptik, Marseille)
  • T6.GT07: Prologiciels ou développement adhoc. Le monde de la recherche, nécessité des développements techniques et/ou spécifiques. Intérêt et limite des prologiciel (Matlab, R, simulink, …). Programmation orientée objet interprétée. Fusionné avec T3.GT06 - Yves Auda (GET/OMP, Toulouse)
  • T6.GT08: Usine logicielle et réseaux de distribution de contenus - Maurice Poncet (CNES), Michèle Detournay (APC) Le_pdf_sur_codeen .
  • T6.GT09: L'hébergement des codes (discussion et illustration avec github) - Alexandre Salvat (CNRS DSI, Toulouse)
  • T6.GT10: Applications mobiles sensibles au contexte - Philippe Roose (LIUPPA / Université de Pau et des Pays de l'Adour)
 
jdev2015/t6.txt · Dernière modification: 2020/02/19 17:01 par pascal.dayre@enseeiht.fr
 
Recent changes RSS feed Powered by PHP Powered by Pxxo Driven by DokuWiki