20151013 - DevOps et qualification continue

DevOps et qualification continue
Contrôler l’externalisation de ses
développements
1Club Qualité Logicielle – Contrôler l’externalisation de ses développements
Le 13 octobre 2015
PLAN
 Objectif de la présentation
 Contexte
 Description d’un système de contrôle continu
 Architecture
 Apports
 Exemple d’implémentation
 Architecture
 Organisation
 Rôles des différents acteurs
 Gains
 Évolutions
2Club Qualité Logicielle – Contrôler l’externalisation de ses développements
OBJECTIF DE LA PRÉSENTATION
3Club Qualité Logicielle – Contrôler l’externalisation de ses développements
• Présenter les systèmes de contrôle continu
– permettant de :
 Faciliter la mise en œuvre des tests à chaque étape du cycle de
production logiciel
 Détecter les défauts le plus tôt possible
 S’intégrer dans un processus de développement agile
– et proposant :
 La mise à disposition d'une usine de développement mutualisée
entre les différents prestataires de service
• Détailler la mise en œuvre d’une solution de ce type
sur un cas concret
CONTEXTE
4Club Qualité Logicielle – Contrôler l’externalisation de ses développements
• L’externalisation des développements présente des
risques, notamment :
– La dépendance vis-à-vis du prestataire, comme par exemple des
délais trop longs ou une détérioration du service,
– Un manque d'information et de transparence,
– Une vulnérabilité par rapport à la réversibilité.
• Il y a un enjeu important à la mise en place des
processus de contrôle afin de garantir
– Le respect de l’état de l’art des développements effectués
– L’adéquation entre l’environnement utilisé pendant les tests des
développements et l’environnement cible de production
– Une réversibilité des travaux sous-traités
– La détection des problèmes au plus tôt dans le cycle de
développement
ARCHITECTURE D’UN SYSTÈME DE
CONTRÔLE CONTINU
5Club Qualité Logicielle – Contrôler l’externalisation de ses développements
Brique N°1 – Usine logicielle
- Partage des mêmes outils entre les différents acteurs
- Standardisation des processus de build
- Livraison régulière des sources et analyses qualité au fil de
l’eau
Brique N°2 – Provisionnement
- Provisionnement d’environnements standardisés en libre service
- Isolation des environnements applicatifs par sous-traitant
- Création dynamique de nouveaux environnements en fonction des
projets
Brique N°3 – Déploiement
- Industrialisation des déploiements middlewares et applicatifs
- Utilisation de templates OS banalisés
- Automatisation du déploiement des « configurations système»
- Déploiement des patches de sécurité
- Déploiement de services applicatifs complets
Brique N°4 –
Orchestration
- Modélisation et
gestion du
pipeline de
déploiement
- Pilotage du
passage entre les
différentes phases
automatiquement
ou manuellement
ARCHITECTURE FONCTIONNELLE
Intégration
continue
Qualification
continue
...
Livraison
continue
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
BRIQUE N°1 – USINE LOGICIELLE
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
• Objectif :
– Construire un binaire de manière fiable et reproductible
• Services offerts :
– Gestion centralisée des sources
– Processus de build normalisé
– Analyse qualimétrie
– Exécution des tests unitaires
– Exécution de certains tests d’intégration
– Dépôt des binaires dans le référentiel d’entreprise
• Logiciels disponibles
– De nombreuses solutions existent sur la marché, en fonction des
technologies supportées.
– Jenkins, Hudson, Bamboo, TeamCity, Team foundation Server…
BRIQUE N°1 – USINE LOGICIELLE : Illustration
8Club Qualité Logicielle – Contrôler l’externalisation de ses développements
BRIQUE N°2 - PROVISIONNEMENT
9
• Objectif :
– Automatiser le déploiement applicatif dans son environnement
d'exécution similaire à celui de production afin de permettre
d’accélérer les cycles de qualification (nécessite une virtualisation
des environnements)
• Services offerts :
– Provisionnement en libre service de serveurs ou de « bundles »
de serveurs
– Création des configurations matérielles souhaitées
– Mise à disposition d’un catalogue de templates
– Gestion de quotas de ressources
– Inventaire du parc de serveurs déployés
– Reporting avancé sur l’utilisation des ressources
– Gestion des réseaux virtuels
• Logiciels disponibles
– Exemples : Cloudstack, Cloudify, BMC, Cloudforms, ManageIQ…
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
BRIQUE N°2 – PROVISIONNEMENT : Illustration
Exemple : Architecture de la solution Cloudforms Management
Engine
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
Source : Redhat
BRIQUE N°3 - DÉPLOIEMENT
11Club Qualité Logicielle – Contrôler l’externalisation de ses développements
• Objectif :
– Déployer des packages et des configurations logicielles
automatiquement de manière idempotente (capacité à mettre à
niveau un serveur quelque soit son état initial)
• Services offerts :
– Déploiement de tous les types d’applications (prise en charge de
l'existant sans modification)
– Base de données des configurations déployées (CMDB)
– Description de l'état souhaité d'un serveur par l'écriture de
« recettes »
– Isolation complète des environnements
– Reporting avancé sur les configurations déployées
– Orchestration des déploiements dans le cadre d’un service
applicatif complet (plusieurs serveurs)
• Logiciels disponibles
– Exemples : Puppet, Ansible, Chef, Salt…
BRIQUE N°3 – DEPLOIEMENT : Illustration
12
Principe de fonctionnement de Puppet
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
Les différents concepts Puppet
 Node : Machine physique ou
virtuelle à configurer
 Master : Serveur Puppet
regroupant l'ensemble des
configurations à appliquer
 Catalog : Document décrivant l'état
final d'un « Node »
 Resource : Unité décrivant un
aspect du système tel qu'un
service ou un package
 Class : bloc de code Puppet
définissant les « resources » à
configurer
 ENC : External Node Classifier,
application qui définie les « class »
à appliquer pour chaque « Node »
Source : PuppetLabs
BRIQUE N°3 – DÉPLOIEMENT : Illustration
13
Tableau de bord Puppet de suivi des déploiements
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
14
BRIQUE N°4 : ORCHESTRATION
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
• Objectif
– Automatiser le passage entre chaque étape du cycle de
production logicielle (déclenchement automatique ou approbation
manuelle)
• Services offerts
– Modélisation des différentes étapes du pipeline
– Déclenchement automatique ou à la demande des étapes
suivantes
– Reporting détaillé des tests
– Exécution en parallèle quand c’est possible
• Logiciels disponibles
– GoCD, Plugin pipeline de Jenkins, ...
BRIQUE N°4 - ORCHESTRATION, MODÈLE DE
PIPELINE
15Club Qualité Logicielle – Contrôler l’externalisation de ses développements
16
BRIQUE N°4 - ORCHESTRATION : Illustration
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
GoCD
Jenkins Pipeline plugin
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
LES APPORTS DE LA SOLUTION DANS LA MISE EN
ŒUVRE DES TESTS
17
Tests
fonctionnels
automatisés
Qualimétrie
Test unitaires
Contrôles
lors du
commit
Tests
non
fonctionnels
automatisés
Sondes
applicatives
EXEMPLE D’IMPLÉMENTATION
18Club Qualité Logicielle – Contrôler l’externalisation de ses développements
CONTEXTE
19
• Un grand compte public délégant dans le cadre de
prestations sous-traitées
– Les développements des applications en maintenance à une
TMA ;
– Les développements des nouvelles applications à des équipes
projet dédiées ;
– La recette et l'intégration à une équipe de TRA ;
– L'exploitation à un infogérant,
• Souhaite renforcer la maîtrise de la sous-traitance
– En imposant l'utilisation de sa propre usine de développement
dans les appels d'offres ;
– En fournissant une infrastructure industrialisée pour la mise en
œuvre des tests.
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
Brique N°1 – Usine logicielle
- Subversion
- Jenkins
- SonarQube
- OWASP Zap
- Artifactory
Brique N°2 – Provisionnement
- Redhat Cloudforms
- phpIPAM
- Redhat identity manager
Brique N°3 – Déploiement
- Puppet Master
- PuppetDB
- Foreman
- Puppet forge server
- Puppet Agent
Brique N°4 –
Orchestration
- Jenkins pipeline plugin
BRIQUES MISES EN PLACE
20Club Qualité Logicielle – Contrôler l’externalisation de ses développements
ARCHITECTURE
Responsabilité
Intégrateurs
Responsabilité
Infogérant
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
FONCTIONNEMENT
22Club Qualité Logicielle – Contrôler l’externalisation de ses développements
RÔLES DES DIFFÉRENTS ACTEURS
23
Développeurs Intégrateurs Assurance
qualité
MOA Exploitants
M.C.O. de l'usine de développement A, R R
Configuration des règles de contrôle
qualimétrie
C A,R C
M.C.O. des outils de provisionning et
de déploiement
A,R
Développement des modules de
déploiement système
I I A,R
Développement des modules de
déploiement middleware
C R A,R
Développement des modules de
déploiement applicatif
A,R I R I
Ajout d'un nouvel OS C R I I A,R
Ajout d'un nouveau middleware C R A,R
Exécution des tests automatisés A,R
Exécution de la recette manuelle R A,R
Déploiement en production I C C A R
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
TMA TRA Infogérant
LES GAINS
24Club Qualité Logicielle – Contrôler l’externalisation de ses développements
Avant Après Apports du système de contrôle de
l'externalisation
Chaque sous-traitant gère sa
plateforme d'intégration continue
La plateforme d'intégration continue
est mise à disposition de l'ensemble
des sous-traitants
 Visibilité totale de l'avancement
des travaux
 Possibilité de mise en œuvre des
contrôles qualimétrie
 Les coûts de réversibilité sont
fortement réduits
Les phases d' installation et
intégration sont longues car les
environnements des sous-traitants ne
sont pas conformes à la cible
Dès les premières phases de test, les
environnements sont identiques à la
cible
 Réduction importante des charges
d'installation et d'intégration
Les installations sont effectuées
manuellement à partir de documents
d'installation
La majorité des applications est
installée automatiquement
 Les installations sont reproduites
sans erreurs d'un environnement à
l'autre
 Les délais d'installation sont
fortement réduits (interruptions de
service minimes)
Les tests ne sont exécutés qu'après
livraison à l'équipe de recette
Un nombre important de tests
automatisés sont joués avant livraison
 Phases d'acceptation réduite
 Tests de non régression joués
systématiquement car automatisés
 Les tests « techniques » sont
ajoutés au périmètre de non
régression
Chaque sous-traitant construisait son
propre environnement de test
Les environnements sont construits
dynamiquement à la demande
 La durée des phases d'initialisation
est fortement réduite pour chaque
nouveau sous-traitant de TMA
ÉVOLUTIONS PRÉVUES
25
• Fonctionnelles
– La gestion des changements dans les bases de données n’est
pas prise en compte (chantier 2016)
• Organisationnelles
– L'industrialisation du déploiement des middlewares doit faire partie
du périmètre de l’infogérant, cela nécessite une mise à niveau de
ses compétences
• Techniques
– Certains composants (BD Oracle, SAP BO) sont complexes à
configurer et leur durée d’installation peut être longue. Cela
empêche leur redéploiement systématique. Ils sont considérés
comme des services à disposition des applications. Une étude est
prévue pour les intégrer au processus standard de déploiement
• Financières
– R.O.I à formaliser
Club Qualité Logicielle – Contrôler l’externalisation de ses développements
QUESTIONS ?
26Club Qualité Logicielle – Contrôler l’externalisation de ses développements
1 of 26

Recommended

20171122 01 - REX : Intégration et déploiement continu chez Engie by
20171122 01 - REX : Intégration et déploiement continu chez Engie20171122 01 - REX : Intégration et déploiement continu chez Engie
20171122 01 - REX : Intégration et déploiement continu chez EngieLeClubQualiteLogicielle
1.1K views30 slides
20171122 04 - Automatisation - formation et certifications by
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certificationsLeClubQualiteLogicielle
764 views37 slides
20171122 - Accueil Club Qualité Logicielle by
20171122 - Accueil Club Qualité Logicielle 20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle LeClubQualiteLogicielle
415 views12 slides
20120612 02 - Automatisation des tests avec squash TA en environnement bancai... by
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...LeClubQualiteLogicielle
795 views41 slides
20151013 - Réduire les coûts des tests de performance ? by
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?LeClubQualiteLogicielle
180 views19 slides
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash by
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash
20120124 04 - Retour d'expérience sur la mise en oeuvre de SquashLeClubQualiteLogicielle
545 views20 slides

More Related Content

What's hot

20151013 - Agirc arrco : Behavior driven development by
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven developmentLeClubQualiteLogicielle
414 views30 slides
20140410 - Choisir et implanter un outil de test by
20140410 - Choisir et implanter un outil de test20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de testLeClubQualiteLogicielle
1.7K views33 slides
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des... by
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...LeClubQualiteLogicielle
460 views23 slides
20110125 04 - Présentation Squash by
20110125 04 - Présentation Squash20110125 04 - Présentation Squash
20110125 04 - Présentation SquashLeClubQualiteLogicielle
1.1K views16 slides
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test by
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de testLeClubQualiteLogicielle
969 views11 slides
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie by
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologieLeClubQualiteLogicielle
551 views25 slides

What's hot(20)

20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des... by LeClubQualiteLogicielle
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test by LeClubQualiteLogicielle
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie by LeClubQualiteLogicielle
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse by LeClubQualiteLogicielle
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a... by LeClubQualiteLogicielle
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next by LeClubQualiteLogicielle
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
qualimétrie logiciel - Entreprise Software Analytic - nov 2015 by Julien Vq
qualimétrie logiciel -  Entreprise Software Analytic - nov 2015qualimétrie logiciel -  Entreprise Software Analytic - nov 2015
qualimétrie logiciel - Entreprise Software Analytic - nov 2015
Julien Vq1.4K views
Industrialisez vos projets Php by ALTER WAY
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
ALTER WAY3.6K views
Introduction à la qualité logicielle (1/5) by Sylvain Leroy
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)
Sylvain Leroy1.7K views
Intégration continue by Klee Group
Intégration continueIntégration continue
Intégration continue
Klee Group5.4K views
Qualification Et Cycle De Vie Du Logiciel by danaobrest
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logiciel
danaobrest22.1K views
Developement logiciel: comment livrer de la qualite ? by Innobec
Developement logiciel: comment livrer  de la qualite ?Developement logiciel: comment livrer  de la qualite ?
Developement logiciel: comment livrer de la qualite ?
Innobec908 views
Qu'est ce qu'un logiciel de qualité by Sylvain Leroy
Qu'est ce qu'un logiciel de qualitéQu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualité
Sylvain Leroy1.6K views
Altran soirée du test logiciel - assez des c 05-10-17 by Marc Hage Chahine
Altran   soirée du test logiciel - assez des c 05-10-17Altran   soirée du test logiciel - assez des c 05-10-17
Altran soirée du test logiciel - assez des c 05-10-17
Marc Hage Chahine1.6K views
Qualité Logiciel - Outils Open Source pour Java et Web by Christophe Rochefolle
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et Web

Similar to 20151013 - DevOps et qualification continue

"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014 by
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014Benoît de CHATEAUVIEUX
1.3K views59 slides
NightClazz Build Tools & Continuous Delivery by
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryZenika
5K views49 slides
20070320 05 - Squale Portail qualimétrie by
20070320 05 - Squale Portail qualimétrie20070320 05 - Squale Portail qualimétrie
20070320 05 - Squale Portail qualimétrieLeClubQualiteLogicielle
101 views24 slides
Methodologie projet by
Methodologie projet Methodologie projet
Methodologie projet Benjamin ACHAB
2.8K views48 slides
Catalogue PFE 2019 by
Catalogue PFE 2019Catalogue PFE 2019
Catalogue PFE 2019NeoXam Tunisia
1.2K views16 slides
Qualité logiciel - Generalités by
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - GeneralitésChristophe Rochefolle
7.3K views74 slides

Similar to 20151013 - DevOps et qualification continue(20)

NightClazz Build Tools & Continuous Delivery by Zenika
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous Delivery
Zenika5K views
La gouvernance, ou comment rapprocher les équipes de développement et d'infra... by PimpMySharePoint
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
PimpMySharePoint377 views
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud by Microsoft Technet France
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private CloudLe Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft by Christophe HERAL
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
Christophe HERAL2.8K views
cours-gratuit.com--id-12146.ppt by FatiMa243348
cours-gratuit.com--id-12146.pptcours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.ppt
FatiMa2433485 views
Presentation du socle technique Java open source Scub Foundation by Stéphane Traumat
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
Stéphane Traumat3.5K views
Industrialisation PHP - Canal+ by ekino
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
ekino4.3K views
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel by Agile Montréal
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie TrudelHa zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Ha zut, le DevOps a mangé ma vélocité par Jean-Marc Lavoie & Sylvie Trudel
Agile Montréal38 views
Python application packaging @ MeilleursAgents by Nicolas Mussat
Python application packaging @ MeilleursAgentsPython application packaging @ MeilleursAgents
Python application packaging @ MeilleursAgents
Nicolas Mussat304 views
Arte utilise Acquia Cloud pour héberger ses plateformes web by Acquia
Arte utilise Acquia Cloud pour héberger ses plateformes webArte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes web
Acquia1.7K views
Scub Foundation, usine logicielle Java libre by Stéphane Traumat
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
Stéphane Traumat9.3K views
Acquia et Arte : Drupal Camp Paris 2013 by Cyril Reinhard
Acquia et Arte : Drupal Camp Paris 2013Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013
Cyril Reinhard1.6K views

More from LeClubQualiteLogicielle

20171122 02 - Engage developers to use better coding practices by
20171122 02 - Engage developers to use better coding practices20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practicesLeClubQualiteLogicielle
269 views21 slides
20151013 - Accueil Club Qualité Logicielle by
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle LeClubQualiteLogicielle
135 views11 slides
20140410 - Cartographie applicative multi-technologies et analyse d'impact by
20140410 - Cartographie applicative multi-technologies et analyse d'impact20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impactLeClubQualiteLogicielle
421 views20 slides
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu... by
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...LeClubQualiteLogicielle
145 views22 slides
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e... by
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...LeClubQualiteLogicielle
117 views29 slides
20130113 05 - Inspection continue et roadmap 2013 by
20130113 05 - Inspection continue et roadmap 201320130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 2013LeClubQualiteLogicielle
105 views13 slides

More from LeClubQualiteLogicielle(17)

20140410 - Cartographie applicative multi-technologies et analyse d'impact by LeClubQualiteLogicielle
20140410 - Cartographie applicative multi-technologies et analyse d'impact20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu... by LeClubQualiteLogicielle
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e... by LeClubQualiteLogicielle
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 04 - Tests d'integration et virtualisation - La vision IBM by LeClubQualiteLogicielle
20130113 04 - Tests d'integration et virtualisation - La vision IBM20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130523 06 - The mathematics the way algorithms think / the mathematics the ... by LeClubQualiteLogicielle
20130523 06 - The mathematics the way algorithms think / the mathematics the ...20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC... by LeClubQualiteLogicielle
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Gouvernance et conformité open source : à la recherche d'une quali... by LeClubQualiteLogicielle
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
20120124 02 - Enjeux et défis de l'integration de composants open source dans... by LeClubQualiteLogicielle
20120124 02 - Enjeux et défis de l'integration de composants open source dans...20120124 02 - Enjeux et défis de l'integration de composants open source dans...
20120124 02 - Enjeux et défis de l'integration de composants open source dans...
20120124 03 - Human Centric Solutions - Accessibilité et mobilité by LeClubQualiteLogicielle
20120124 03 - Human Centric Solutions - Accessibilité et mobilité20120124 03 - Human Centric Solutions - Accessibilité et mobilité
20120124 03 - Human Centric Solutions - Accessibilité et mobilité
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring by LeClubQualiteLogicielle
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring

20151013 - DevOps et qualification continue

  • 1. DevOps et qualification continue Contrôler l’externalisation de ses développements 1Club Qualité Logicielle – Contrôler l’externalisation de ses développements Le 13 octobre 2015
  • 2. PLAN  Objectif de la présentation  Contexte  Description d’un système de contrôle continu  Architecture  Apports  Exemple d’implémentation  Architecture  Organisation  Rôles des différents acteurs  Gains  Évolutions 2Club Qualité Logicielle – Contrôler l’externalisation de ses développements
  • 3. OBJECTIF DE LA PRÉSENTATION 3Club Qualité Logicielle – Contrôler l’externalisation de ses développements • Présenter les systèmes de contrôle continu – permettant de :  Faciliter la mise en œuvre des tests à chaque étape du cycle de production logiciel  Détecter les défauts le plus tôt possible  S’intégrer dans un processus de développement agile – et proposant :  La mise à disposition d'une usine de développement mutualisée entre les différents prestataires de service • Détailler la mise en œuvre d’une solution de ce type sur un cas concret
  • 4. CONTEXTE 4Club Qualité Logicielle – Contrôler l’externalisation de ses développements • L’externalisation des développements présente des risques, notamment : – La dépendance vis-à-vis du prestataire, comme par exemple des délais trop longs ou une détérioration du service, – Un manque d'information et de transparence, – Une vulnérabilité par rapport à la réversibilité. • Il y a un enjeu important à la mise en place des processus de contrôle afin de garantir – Le respect de l’état de l’art des développements effectués – L’adéquation entre l’environnement utilisé pendant les tests des développements et l’environnement cible de production – Une réversibilité des travaux sous-traités – La détection des problèmes au plus tôt dans le cycle de développement
  • 5. ARCHITECTURE D’UN SYSTÈME DE CONTRÔLE CONTINU 5Club Qualité Logicielle – Contrôler l’externalisation de ses développements
  • 6. Brique N°1 – Usine logicielle - Partage des mêmes outils entre les différents acteurs - Standardisation des processus de build - Livraison régulière des sources et analyses qualité au fil de l’eau Brique N°2 – Provisionnement - Provisionnement d’environnements standardisés en libre service - Isolation des environnements applicatifs par sous-traitant - Création dynamique de nouveaux environnements en fonction des projets Brique N°3 – Déploiement - Industrialisation des déploiements middlewares et applicatifs - Utilisation de templates OS banalisés - Automatisation du déploiement des « configurations système» - Déploiement des patches de sécurité - Déploiement de services applicatifs complets Brique N°4 – Orchestration - Modélisation et gestion du pipeline de déploiement - Pilotage du passage entre les différentes phases automatiquement ou manuellement ARCHITECTURE FONCTIONNELLE Intégration continue Qualification continue ... Livraison continue Club Qualité Logicielle – Contrôler l’externalisation de ses développements
  • 7. BRIQUE N°1 – USINE LOGICIELLE Club Qualité Logicielle – Contrôler l’externalisation de ses développements • Objectif : – Construire un binaire de manière fiable et reproductible • Services offerts : – Gestion centralisée des sources – Processus de build normalisé – Analyse qualimétrie – Exécution des tests unitaires – Exécution de certains tests d’intégration – Dépôt des binaires dans le référentiel d’entreprise • Logiciels disponibles – De nombreuses solutions existent sur la marché, en fonction des technologies supportées. – Jenkins, Hudson, Bamboo, TeamCity, Team foundation Server…
  • 8. BRIQUE N°1 – USINE LOGICIELLE : Illustration 8Club Qualité Logicielle – Contrôler l’externalisation de ses développements
  • 9. BRIQUE N°2 - PROVISIONNEMENT 9 • Objectif : – Automatiser le déploiement applicatif dans son environnement d'exécution similaire à celui de production afin de permettre d’accélérer les cycles de qualification (nécessite une virtualisation des environnements) • Services offerts : – Provisionnement en libre service de serveurs ou de « bundles » de serveurs – Création des configurations matérielles souhaitées – Mise à disposition d’un catalogue de templates – Gestion de quotas de ressources – Inventaire du parc de serveurs déployés – Reporting avancé sur l’utilisation des ressources – Gestion des réseaux virtuels • Logiciels disponibles – Exemples : Cloudstack, Cloudify, BMC, Cloudforms, ManageIQ… Club Qualité Logicielle – Contrôler l’externalisation de ses développements
  • 10. BRIQUE N°2 – PROVISIONNEMENT : Illustration Exemple : Architecture de la solution Cloudforms Management Engine Club Qualité Logicielle – Contrôler l’externalisation de ses développements Source : Redhat
  • 11. BRIQUE N°3 - DÉPLOIEMENT 11Club Qualité Logicielle – Contrôler l’externalisation de ses développements • Objectif : – Déployer des packages et des configurations logicielles automatiquement de manière idempotente (capacité à mettre à niveau un serveur quelque soit son état initial) • Services offerts : – Déploiement de tous les types d’applications (prise en charge de l'existant sans modification) – Base de données des configurations déployées (CMDB) – Description de l'état souhaité d'un serveur par l'écriture de « recettes » – Isolation complète des environnements – Reporting avancé sur les configurations déployées – Orchestration des déploiements dans le cadre d’un service applicatif complet (plusieurs serveurs) • Logiciels disponibles – Exemples : Puppet, Ansible, Chef, Salt…
  • 12. BRIQUE N°3 – DEPLOIEMENT : Illustration 12 Principe de fonctionnement de Puppet Club Qualité Logicielle – Contrôler l’externalisation de ses développements Les différents concepts Puppet  Node : Machine physique ou virtuelle à configurer  Master : Serveur Puppet regroupant l'ensemble des configurations à appliquer  Catalog : Document décrivant l'état final d'un « Node »  Resource : Unité décrivant un aspect du système tel qu'un service ou un package  Class : bloc de code Puppet définissant les « resources » à configurer  ENC : External Node Classifier, application qui définie les « class » à appliquer pour chaque « Node » Source : PuppetLabs
  • 13. BRIQUE N°3 – DÉPLOIEMENT : Illustration 13 Tableau de bord Puppet de suivi des déploiements Club Qualité Logicielle – Contrôler l’externalisation de ses développements
  • 14. 14 BRIQUE N°4 : ORCHESTRATION Club Qualité Logicielle – Contrôler l’externalisation de ses développements • Objectif – Automatiser le passage entre chaque étape du cycle de production logicielle (déclenchement automatique ou approbation manuelle) • Services offerts – Modélisation des différentes étapes du pipeline – Déclenchement automatique ou à la demande des étapes suivantes – Reporting détaillé des tests – Exécution en parallèle quand c’est possible • Logiciels disponibles – GoCD, Plugin pipeline de Jenkins, ...
  • 15. BRIQUE N°4 - ORCHESTRATION, MODÈLE DE PIPELINE 15Club Qualité Logicielle – Contrôler l’externalisation de ses développements
  • 16. 16 BRIQUE N°4 - ORCHESTRATION : Illustration Club Qualité Logicielle – Contrôler l’externalisation de ses développements GoCD Jenkins Pipeline plugin
  • 17. Club Qualité Logicielle – Contrôler l’externalisation de ses développements LES APPORTS DE LA SOLUTION DANS LA MISE EN ŒUVRE DES TESTS 17 Tests fonctionnels automatisés Qualimétrie Test unitaires Contrôles lors du commit Tests non fonctionnels automatisés Sondes applicatives
  • 18. EXEMPLE D’IMPLÉMENTATION 18Club Qualité Logicielle – Contrôler l’externalisation de ses développements
  • 19. CONTEXTE 19 • Un grand compte public délégant dans le cadre de prestations sous-traitées – Les développements des applications en maintenance à une TMA ; – Les développements des nouvelles applications à des équipes projet dédiées ; – La recette et l'intégration à une équipe de TRA ; – L'exploitation à un infogérant, • Souhaite renforcer la maîtrise de la sous-traitance – En imposant l'utilisation de sa propre usine de développement dans les appels d'offres ; – En fournissant une infrastructure industrialisée pour la mise en œuvre des tests. Club Qualité Logicielle – Contrôler l’externalisation de ses développements
  • 20. Brique N°1 – Usine logicielle - Subversion - Jenkins - SonarQube - OWASP Zap - Artifactory Brique N°2 – Provisionnement - Redhat Cloudforms - phpIPAM - Redhat identity manager Brique N°3 – Déploiement - Puppet Master - PuppetDB - Foreman - Puppet forge server - Puppet Agent Brique N°4 – Orchestration - Jenkins pipeline plugin BRIQUES MISES EN PLACE 20Club Qualité Logicielle – Contrôler l’externalisation de ses développements
  • 22. FONCTIONNEMENT 22Club Qualité Logicielle – Contrôler l’externalisation de ses développements
  • 23. RÔLES DES DIFFÉRENTS ACTEURS 23 Développeurs Intégrateurs Assurance qualité MOA Exploitants M.C.O. de l'usine de développement A, R R Configuration des règles de contrôle qualimétrie C A,R C M.C.O. des outils de provisionning et de déploiement A,R Développement des modules de déploiement système I I A,R Développement des modules de déploiement middleware C R A,R Développement des modules de déploiement applicatif A,R I R I Ajout d'un nouvel OS C R I I A,R Ajout d'un nouveau middleware C R A,R Exécution des tests automatisés A,R Exécution de la recette manuelle R A,R Déploiement en production I C C A R Club Qualité Logicielle – Contrôler l’externalisation de ses développements TMA TRA Infogérant
  • 24. LES GAINS 24Club Qualité Logicielle – Contrôler l’externalisation de ses développements Avant Après Apports du système de contrôle de l'externalisation Chaque sous-traitant gère sa plateforme d'intégration continue La plateforme d'intégration continue est mise à disposition de l'ensemble des sous-traitants  Visibilité totale de l'avancement des travaux  Possibilité de mise en œuvre des contrôles qualimétrie  Les coûts de réversibilité sont fortement réduits Les phases d' installation et intégration sont longues car les environnements des sous-traitants ne sont pas conformes à la cible Dès les premières phases de test, les environnements sont identiques à la cible  Réduction importante des charges d'installation et d'intégration Les installations sont effectuées manuellement à partir de documents d'installation La majorité des applications est installée automatiquement  Les installations sont reproduites sans erreurs d'un environnement à l'autre  Les délais d'installation sont fortement réduits (interruptions de service minimes) Les tests ne sont exécutés qu'après livraison à l'équipe de recette Un nombre important de tests automatisés sont joués avant livraison  Phases d'acceptation réduite  Tests de non régression joués systématiquement car automatisés  Les tests « techniques » sont ajoutés au périmètre de non régression Chaque sous-traitant construisait son propre environnement de test Les environnements sont construits dynamiquement à la demande  La durée des phases d'initialisation est fortement réduite pour chaque nouveau sous-traitant de TMA
  • 25. ÉVOLUTIONS PRÉVUES 25 • Fonctionnelles – La gestion des changements dans les bases de données n’est pas prise en compte (chantier 2016) • Organisationnelles – L'industrialisation du déploiement des middlewares doit faire partie du périmètre de l’infogérant, cela nécessite une mise à niveau de ses compétences • Techniques – Certains composants (BD Oracle, SAP BO) sont complexes à configurer et leur durée d’installation peut être longue. Cela empêche leur redéploiement systématique. Ils sont considérés comme des services à disposition des applications. Une étude est prévue pour les intégrer au processus standard de déploiement • Financières – R.O.I à formaliser Club Qualité Logicielle – Contrôler l’externalisation de ses développements
  • 26. QUESTIONS ? 26Club Qualité Logicielle – Contrôler l’externalisation de ses développements