SlideShare a Scribd company logo
1 of 30
Download to read offline
Intégration et déploiement continu chez ENGIE
Outils et principes DevOps dans la mise en œuvre d’une plateforme de
qualification continue
Auteurs :Maxime Herbelot, Henix
Jean-Hervé Laveau, Engie Digital
JFTL 2016 2DevOps & Qualification continue 22/11/2017
Sommaire
• [Contexte] La CI/CD chez Engie Digital
• [Chapitre 1] Démarche de mise en place d’une plateforme de Qualification Continue
• [Chapitre 2] Paradigmes posés pour la construction de la plateforme
• [Chapitre 3] Définition du workflow Projet
• [Chapitre 4] Les briques techniques de la plateforme
• [Chapitre 5] Bilan d’étape
• [Chapitre 6] Perspectives
JFTL 2016
LA CI/CD CHEZ ENGIE DIGITAL
Contexte
3DevOps & Qualification continue 22/11/2017
JFTL 2016
Le contexte ENGIE
• Un grand groupe international :
 153090 employés
 Présent dans 70 pays
 CA d’environ 66,6 Md €
• Présent dans de nombreux domaines :
 Production d’énergie (électricité, gaz naturel, énergies renouvelables …)
 Services énergétiques (installation, maintenance, smart city, mobilité verte …)
• Organisé en :
 24 Business Units : 11 géographiques, 8 en France, 5 globales
 Nombreuses Business Entities / Filiales: Altiservice Engie, Engie Axima, Engie Cofely,
Engie Ecova, Engie Electrabel, Engie Endel, Engie Fabricom, Engie Global Markets, Engie
Home Services, GBS/Engie IT (Information & Technologies), Engie Lab, Engie MtoM,
Engie Réseaux, Solairedirect, Tractebel Engie…
4DevOps & Qualification continue 22/11/2017
JFTL 2016
Le contexte ENGIE DIGITAL
• Quelques dates :
 Avril 2015 : GDF Suez devient Engie
 Mai 2016 : Isabelle Kocher est nommée PDG d’Engie
 Été 2016 : Vision du futur d’Engie - Dé carboné, décentralisé et numérique
 Octobre 2016 : Création d’Engie Digital
• Engie Digital en quelques mots :
 Est un assistant pour la transformation numérique d’Engie
 Aide les BU à imaginer, définir, créer et produire des applications numériques dont elles
sont propriétaires
 Se base sur un socle technique commun faisant appel à des partenaires privilégiés :
AWS, C3, Kony & Thales
 L’objectif est qu’à terme l’ensemble des développements Engie soient agiles et déployés
dans le cloud
 Engie Digital construit un backbone AWS pour héberger les développements
numériques de BU
5DevOps & Qualification continue 22/11/2017
JFTL 2016
METTRE EN PLACE UNE PLATEFORME
DE QUALIFICATION CONTINUE DANS
L’ENVIRONNEMENT ENGIE DIGITAL
Chapitre1
6DevOps & Qualification continue 22/11/2017
JFTL 2016
INTRODUCTION – L’ENVIRONNEMENT ENGIE DIGITAL
7DevOps & Qualification continue 22/11/2017
JFTL 2016
PARADIGMES POSÉS POUR LA
CONSTRUCTION DE LA
PLATEFORME
Chapitre2
8DevOps & Qualification continue 22/11/2017
JFTL 2016
PARADIGMES
9DevOps & Qualification continue
• Tous les composants d’une application doivent être versionnés :
– Versionnement du code & des binaires applicatifs
– Versionnement du code de déploiement
– Versionnement des scripts de base de données
– Versionnement des images des conteneurs de build et de déploiement
– Versionnement des environnements de déploiement
• Convention over configuration :
– Objectifs :
● Réduire au minimum les configurations à réaliser pour les développeurs au niveau des outils
● Gérer la complexité organisationnelle d’Engie
● Pouvoir réutiliser les artifacts générés par d’autres projets
– Moyens :
● Conventions de nommage des artifacts des projets
● Mise à disposition de templates de création projet
● Mise à disposition de templates de pipelines et d’une librairie partagée de code
22/11/2017
JFTL 2016
PARADIGMES
10DevOps & Qualification continue
• Immutabilité des environnements de build & de déploiement
– Immutabilité des instances de build & de déploiement des applications
– Immutabilité des instances déployées sur les environnements
• Isomorphisme des environnements
– Isomorphisme des environnements de DEV, UAT et PROD sur lesquels sont déployés les
applications
• Pattern de déploiement générique
Dépôt de
binaires
Binaire
versionné
App +
Env
Build / Packaging Deploiement
Dépôt de
sources
Sources
22/11/2017
JFTL 2016
PARADIGMES
11DevOps & Qualification continue
• Infrastructure As Code
– Les déploiements sur les différents environnements doivent être complètement
automatisés et ne doivent différer que sur les valeurs de leurs paramètres
– L’infrastructure doit être entièrement codée. Pas d’action via la console
– L’infrastructure As Code doit permettre de gérer :
● L’initialisation
● La reprise sur incident
● La mise à jour
de la plateforme & des applications du tooling
22/11/2017
JFTL 2016
DÉFINITION DU WORKFLOW :
GESTION DU PORTFOLIO DE PROJETSChapitre3
12DevOps & Qualification continue 22/11/2017
JFTL 2015 DevOps & Qualification continue 13
GESTION DU PORTFOLIO DE PROJETS : METHODE SAFE
SCALE AGILE FRAMEWORK
BACKLOG, IMAGINE, QUALIFY, SHAPE, MAKE, PROPULSE, MEASURE, FREEZE/CLOSE
22/11/2017
JFTL 2015 DevOps & Qualification continue 14
GESTION DE PROJET : RAFFINAGE BACKLOG & ESTIMATION
Étape d’analyse :
• Les stories sont créées dans des epics
• Les stories sont raffinées et expliquées par le
rapporteur de la story ou par une personne
ayant une connaissance du sujet
➢ Quand Ok  Envoyé à To Estimate
• Séance de Poker planning. Les stories sont :
➢ Expliquées à l’équipe
➢ Estimées en terme de complexité
➢ Si Ok,  Mettre à To Do
• Sprint planning. Les stories sont inclues dans
les sprints en fonction de :
➢ Leur priorité
➢ La capacité de l’équipe
22/11/2017
JFTL 2015 DevOps & Qualification continue 15
GESTION DE PROJET : SPRINTS
22/11/2017
JFTL 2016
LES BRIQUES TECHNIQUES DE LA
PLATEFORMEChapitre4
16DevOps & Qualification continue 22/11/2017
JFTL 2015 DevOps & Qualification continue 17
BESOINS IDENTIFIÉS
DEV/OPS
Structure & Describe Tests:
• Scenarios / Plans
• Campaigns
Continuous Test:
• Unit Tests
• Integration / Regression tests
Continuous Assessment for
Code Quality:
• Complexity & Technical
debt
• Best coding practices
Code Security
Code Performance
Versioned Binaries
Centralization:
• Produced Apps &
Modules packages
• Input OSS &
modules
Measure & Monitor:
• Infrastructure performance
• Application performance
Alert on:
• Security issues
• Performance issues
Release,
Continuous Deploy,
Automate Continuous
Configuration:
• Infrastructure
• Modules
• Releases
• Applications
• Test, UAT, Prod
Deployments
Coordinate:
• Release & Deployments
• Incidents
• Customers needs
Code:
• Infrastructure:
• Network : VPC, Subnets
• IAM
• Security : Security groups
• Application platforms
• IoT
• API management
• Data Analytics Functions
• UX
Continuous Build:
• Build Apps
• Package modules
Continuous Configure:
• Infrastructure
• Apps
Plan:
• Features
• Sprints
• Modules Releases
• Apps Releases
Communicate:
• Into Team
• Into Project
• Share with
Company
Define:
• UX Design
• Architecture
• Security
• Infrastructure
• Deployment
• Features : Epic, Stories, Tasks
22/11/2017
JFTL 2015 DevOps & Qualification continue 18
OUTILS SÉLECTIONNÉS POUR LE MONTAGE DE LA PLATEFORME
DEV/OPS
Structure & Describe Tests:
• Scenarios / Plans
• Campaigns
Continuous Test:
• Unit Tests
• Integration / Regression tests
Continuous Assessment for
Code Quality:
• Complexity & Technical
debt
• Best coding practices
Code Security
Code Performance
Versioned Binaries
Centralization:
• Produced Apps &
Modules packages
• Input OSS &
modules
Measure & Monitor:
• Infrastructure performance
• Application performance
Alert on:
• Security issues
• Performance issues
Release,
Continuous Deploy,
Automate Continuous
Configuration:
• Infrastructure
• Modules
• Releases
• Applications
• Test, UAT, Prod
Deployments
Coordinate:
• Release & Deployments
• Incidents
• Customers needs
Code:
• Infrastructure:
• Network : VPC, Subnets
• IAM
• Security : Security groups
• Application platforms
• IoT
• API management
• Data Analytics Functions
• UX
Continuous Build:
• Build Apps
• Package modules
Continuous Configure:
• Infrastructure
• Apps
Plan:
• Features
• Sprints
• Modules Releases
• Apps Releases
Communicate:
• Into Team
• Into Project
• Share with
Company
Define:
• UX Design
• Architecture
• Security
• Infrastructure
• Deployment
• Features : Epic, Stories, Tasks
22/11/2017
JFTL 2015 DevOps & Qualification continue 19
PIPELINE D’INTÉGRATION ET DE LIVRAISON/DÉPLOIEMENT CONTINU
Squash TM
Github
Artifactory
SonarQube
Cloudbees/Jenkins pipeline
Jira
Confluence
Portfolio
Management for Jira
Jenkins, Terraform, Packer
Cloudbees/Jenkins pipeline
ProductionPreProdDev UAT
Test Automation
22/11/2017
JFTL 2016
LES TECHNOS SOUS-JACENTES : GESTION DE L’INFRASTRUCTURE AVEC
TERRAFORM
20DevOps & Qualification continue 22/11/2017
JFTL 2016
LES TECHNOS SOUS-JACENTES : GESTION DES BUILDS AVEC DOCKER &
MESOS
21DevOps & Qualification continue 22/11/2017
JFTL 2016
LES TECHNOS SOUS-JACENTES : CONSTRUCTION DES INSTANCES AVEC
PACKER
22DevOps & Qualification continue 22/11/2017
JFTL 2016
LES TECHNOS SOUS-JACENTES : DESCRIPTION DU WORKFLOW - JENKINSFILE
23DevOps & Qualification continue
GIT FLOW
+
GITHUB HOOK
+
GITHUB ORGANIZATION FOLDER PLUGIN
22/11/2017
JFTL 2016
BILAN D’ÉTAPE
Chapitre5
24DevOps & Qualification continue 22/11/2017
JFTL 2016
La plateforme de TOOLING Engie Digital (Novembre 2017)
25DevOps & Qualification continue
Tooling : Équipe de 5
personnes
82 projets
onboardés
7 outils dédiés au développement
Logiciel
qui tournent 7/7 – 24/24
268 repos de code
regroupés dans 35
organisations GitHub
(Java, C++, PHP, JS,
Python, HCL, Shell,
TypeScript …)
14 applications en production
25 en développement
500 utilisateurs
intégrés à la plateforme
22/11/2017
JFTL 2016
REX
26DevOps & Qualification continue
Points Négatifs Points positifs
(1/2)
Plateforme et process non encore
complètement scalables
Une unique PQC mise à disposition de
l'ensemble des BU/BE d’ENGIE
Diversité des technologies projet Dès les premières phases de test, les
environnements sont identiques à la cible.
 Évangélisation complexe à mettre en
œuvre
Installation automatique de la majorité des
applications
Agilité & DevOps vs sécurité Plateformes de build et de test partagées
par tous les prestataires.
Point sécurité sur le déploiement continu Exécution de tests automatisés avant la
livraison
22/11/2017
JFTL 2016
LES POINTS DE VIGILANCE LORS DE LA MISE EN ŒUVRE DE LA PLATEFORME
27DevOps & Qualification continue
• Définir les frontières de responsabilité entre tous les intervenants (difficulté
de contractualisation).
Rôles et responsabilités
• Définir les bonnes pratiques de développement et de déploiement : c’est
une boite à outils qu’il faut maitriser afin de créer des applications
maintenables.
• Rationaliser et normaliser les architectures de déploiement et les
middlewares utilisés.
• Suivre et mesurer l’usage de la plateforme par les différents intervenants
(La plateforme devient un logiciel critique et sa maintenance doit être prise
en compte (upgrade des différents composants...).
Outillage
• Ne pas sous estimer la charge d’accompagnement et de conduite du
changement.
Conduite du changement
22/11/2017
JFTL 2016
PERSPECTIVES
Chapitre6
28DevOps & Qualification continue 22/11/2017
JFTL 2016
LES PERSPECTIVES
29DevOps & Qualification continue
• Ouverture vers l’inner source
• Avoir une vraie PAAS
• Extension du catalogue de services
Fonctionnelles
• Délimiter clairement les frontières de
compétences et de responsabilités de chacun
(BU-BE/Engie IT/Engie Digital/sous-traitants)
• Diffusion des connaissances & bonnes pratiques
vers les utilisateurs de la plateforme pour
industrialiser le déploiement des applications
• Arriver à passer de l’agilité au DevOps
Organisationnelles
• Mise en place d’un déploiement continu jusqu’en
production
• Déploiement continu sur Azure
• Généraliser le testing en continuTechniques
22/11/2017
JFTL 2015 DevOps & Qualification continue 3022/11/2017

More Related Content

What's hot

Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Riadh K.
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Sofien Benrhouma
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
boulonvert
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
safwenbenfredj
 

What's hot (20)

Rapport de projet odoo
Rapport de projet odooRapport de projet odoo
Rapport de projet odoo
 
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
 
Docker
DockerDocker
Docker
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Les fondamentaux de la gestion de projet
Les fondamentaux de la gestion de projetLes fondamentaux de la gestion de projet
Les fondamentaux de la gestion de projet
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
Introduction à TOGAF
Introduction à TOGAFIntroduction à TOGAF
Introduction à TOGAF
 
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
Présentation PFE "Refonte et déploiement d’une solution de messagerie en util...
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?
 
Business process modelling
Business process modellingBusiness process modelling
Business process modelling
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 

Similar to 20171122 01 - REX : Intégration et déploiement continu chez Engie

Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Publicis Sapient Engineering
 
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Publicis Sapient Engineering
 

Similar to 20171122 01 - REX : Intégration et déploiement continu chez Engie (20)

8 Rex : Mise en place de DevOps sur Azure
8   Rex : Mise en place de DevOps sur Azure8   Rex : Mise en place de DevOps sur Azure
8 Rex : Mise en place de DevOps sur Azure
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
 
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018
Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018
Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018
 
Mise en place d’une usine logicielle pour technologies Microsoft et non...
Mise en place d’une usine logicielle pour technologies Microsoft et non...Mise en place d’une usine logicielle pour technologies Microsoft et non...
Mise en place d’une usine logicielle pour technologies Microsoft et non...
 
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
 
Saas Libre
Saas LibreSaas Libre
Saas Libre
 
Migration de technologie J2EE vers PHP à M6Web
Migration de technologie J2EE vers PHP à M6WebMigration de technologie J2EE vers PHP à M6Web
Migration de technologie J2EE vers PHP à M6Web
 
Customer Show case : Mise en place d’une solution de gestion de projet avec l...
Customer Show case : Mise en place d’une solution de gestion de projet avec l...Customer Show case : Mise en place d’une solution de gestion de projet avec l...
Customer Show case : Mise en place d’une solution de gestion de projet avec l...
 
Exemple de mise en place d'une solution EPM 2013
Exemple de mise en place d'une solution EPM 2013Exemple de mise en place d'une solution EPM 2013
Exemple de mise en place d'une solution EPM 2013
 
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
 
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
 
Qualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & AndroidQualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & Android
 
Fin de support Windows Server 2003, quelles options ?
Fin de support Windows Server 2003, quelles options ?Fin de support Windows Server 2003, quelles options ?
Fin de support Windows Server 2003, quelles options ?
 
Fin de support Windows Server 2003, quelles options ?
Fin de support Windows Server 2003, quelles options ?Fin de support Windows Server 2003, quelles options ?
Fin de support Windows Server 2003, quelles options ?
 
Catalogue pfe 2018 2019
Catalogue pfe 2018 2019Catalogue pfe 2018 2019
Catalogue pfe 2018 2019
 
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIsPetit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
 
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsPetit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
 
ExperienceNow - Découvrez comment Soitec modernise son IT et gagne en agilité...
ExperienceNow - Découvrez comment Soitec modernise son IT et gagne en agilité...ExperienceNow - Découvrez comment Soitec modernise son IT et gagne en agilité...
ExperienceNow - Découvrez comment Soitec modernise son IT et gagne en agilité...
 

More from 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...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
LeClubQualiteLogicielle
 

More from LeClubQualiteLogicielle (20)

20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications
 
20171122 02 - Engage developers to use better coding practices
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 practices
 
20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle 20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle
 
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...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
 
20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development
 
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 ?
20151013 - Réduire les coûts des tests de performance ?
 
20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle
 
20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue
 
20140410 - Cartographie applicative multi-technologies et analyse d'impact
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 - Implémentation de squash TM-TA - Architecture et méthodologie
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
 
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...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
 
20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test
 
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...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
 
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 06 - Travaux de recherche sur la corrélation entre qualité du code e...
 
20130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 201320130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 2013
 
20130113 04 - Tests d'integration et virtualisation - La vision IBM
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 ...
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 ...
 
20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity
 
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
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
 

20171122 01 - REX : Intégration et déploiement continu chez Engie

  • 1. Intégration et déploiement continu chez ENGIE Outils et principes DevOps dans la mise en œuvre d’une plateforme de qualification continue Auteurs :Maxime Herbelot, Henix Jean-Hervé Laveau, Engie Digital
  • 2. JFTL 2016 2DevOps & Qualification continue 22/11/2017 Sommaire • [Contexte] La CI/CD chez Engie Digital • [Chapitre 1] Démarche de mise en place d’une plateforme de Qualification Continue • [Chapitre 2] Paradigmes posés pour la construction de la plateforme • [Chapitre 3] Définition du workflow Projet • [Chapitre 4] Les briques techniques de la plateforme • [Chapitre 5] Bilan d’étape • [Chapitre 6] Perspectives
  • 3. JFTL 2016 LA CI/CD CHEZ ENGIE DIGITAL Contexte 3DevOps & Qualification continue 22/11/2017
  • 4. JFTL 2016 Le contexte ENGIE • Un grand groupe international :  153090 employés  Présent dans 70 pays  CA d’environ 66,6 Md € • Présent dans de nombreux domaines :  Production d’énergie (électricité, gaz naturel, énergies renouvelables …)  Services énergétiques (installation, maintenance, smart city, mobilité verte …) • Organisé en :  24 Business Units : 11 géographiques, 8 en France, 5 globales  Nombreuses Business Entities / Filiales: Altiservice Engie, Engie Axima, Engie Cofely, Engie Ecova, Engie Electrabel, Engie Endel, Engie Fabricom, Engie Global Markets, Engie Home Services, GBS/Engie IT (Information & Technologies), Engie Lab, Engie MtoM, Engie Réseaux, Solairedirect, Tractebel Engie… 4DevOps & Qualification continue 22/11/2017
  • 5. JFTL 2016 Le contexte ENGIE DIGITAL • Quelques dates :  Avril 2015 : GDF Suez devient Engie  Mai 2016 : Isabelle Kocher est nommée PDG d’Engie  Été 2016 : Vision du futur d’Engie - Dé carboné, décentralisé et numérique  Octobre 2016 : Création d’Engie Digital • Engie Digital en quelques mots :  Est un assistant pour la transformation numérique d’Engie  Aide les BU à imaginer, définir, créer et produire des applications numériques dont elles sont propriétaires  Se base sur un socle technique commun faisant appel à des partenaires privilégiés : AWS, C3, Kony & Thales  L’objectif est qu’à terme l’ensemble des développements Engie soient agiles et déployés dans le cloud  Engie Digital construit un backbone AWS pour héberger les développements numériques de BU 5DevOps & Qualification continue 22/11/2017
  • 6. JFTL 2016 METTRE EN PLACE UNE PLATEFORME DE QUALIFICATION CONTINUE DANS L’ENVIRONNEMENT ENGIE DIGITAL Chapitre1 6DevOps & Qualification continue 22/11/2017
  • 7. JFTL 2016 INTRODUCTION – L’ENVIRONNEMENT ENGIE DIGITAL 7DevOps & Qualification continue 22/11/2017
  • 8. JFTL 2016 PARADIGMES POSÉS POUR LA CONSTRUCTION DE LA PLATEFORME Chapitre2 8DevOps & Qualification continue 22/11/2017
  • 9. JFTL 2016 PARADIGMES 9DevOps & Qualification continue • Tous les composants d’une application doivent être versionnés : – Versionnement du code & des binaires applicatifs – Versionnement du code de déploiement – Versionnement des scripts de base de données – Versionnement des images des conteneurs de build et de déploiement – Versionnement des environnements de déploiement • Convention over configuration : – Objectifs : ● Réduire au minimum les configurations à réaliser pour les développeurs au niveau des outils ● Gérer la complexité organisationnelle d’Engie ● Pouvoir réutiliser les artifacts générés par d’autres projets – Moyens : ● Conventions de nommage des artifacts des projets ● Mise à disposition de templates de création projet ● Mise à disposition de templates de pipelines et d’une librairie partagée de code 22/11/2017
  • 10. JFTL 2016 PARADIGMES 10DevOps & Qualification continue • Immutabilité des environnements de build & de déploiement – Immutabilité des instances de build & de déploiement des applications – Immutabilité des instances déployées sur les environnements • Isomorphisme des environnements – Isomorphisme des environnements de DEV, UAT et PROD sur lesquels sont déployés les applications • Pattern de déploiement générique Dépôt de binaires Binaire versionné App + Env Build / Packaging Deploiement Dépôt de sources Sources 22/11/2017
  • 11. JFTL 2016 PARADIGMES 11DevOps & Qualification continue • Infrastructure As Code – Les déploiements sur les différents environnements doivent être complètement automatisés et ne doivent différer que sur les valeurs de leurs paramètres – L’infrastructure doit être entièrement codée. Pas d’action via la console – L’infrastructure As Code doit permettre de gérer : ● L’initialisation ● La reprise sur incident ● La mise à jour de la plateforme & des applications du tooling 22/11/2017
  • 12. JFTL 2016 DÉFINITION DU WORKFLOW : GESTION DU PORTFOLIO DE PROJETSChapitre3 12DevOps & Qualification continue 22/11/2017
  • 13. JFTL 2015 DevOps & Qualification continue 13 GESTION DU PORTFOLIO DE PROJETS : METHODE SAFE SCALE AGILE FRAMEWORK BACKLOG, IMAGINE, QUALIFY, SHAPE, MAKE, PROPULSE, MEASURE, FREEZE/CLOSE 22/11/2017
  • 14. JFTL 2015 DevOps & Qualification continue 14 GESTION DE PROJET : RAFFINAGE BACKLOG & ESTIMATION Étape d’analyse : • Les stories sont créées dans des epics • Les stories sont raffinées et expliquées par le rapporteur de la story ou par une personne ayant une connaissance du sujet ➢ Quand Ok  Envoyé à To Estimate • Séance de Poker planning. Les stories sont : ➢ Expliquées à l’équipe ➢ Estimées en terme de complexité ➢ Si Ok,  Mettre à To Do • Sprint planning. Les stories sont inclues dans les sprints en fonction de : ➢ Leur priorité ➢ La capacité de l’équipe 22/11/2017
  • 15. JFTL 2015 DevOps & Qualification continue 15 GESTION DE PROJET : SPRINTS 22/11/2017
  • 16. JFTL 2016 LES BRIQUES TECHNIQUES DE LA PLATEFORMEChapitre4 16DevOps & Qualification continue 22/11/2017
  • 17. JFTL 2015 DevOps & Qualification continue 17 BESOINS IDENTIFIÉS DEV/OPS Structure & Describe Tests: • Scenarios / Plans • Campaigns Continuous Test: • Unit Tests • Integration / Regression tests Continuous Assessment for Code Quality: • Complexity & Technical debt • Best coding practices Code Security Code Performance Versioned Binaries Centralization: • Produced Apps & Modules packages • Input OSS & modules Measure & Monitor: • Infrastructure performance • Application performance Alert on: • Security issues • Performance issues Release, Continuous Deploy, Automate Continuous Configuration: • Infrastructure • Modules • Releases • Applications • Test, UAT, Prod Deployments Coordinate: • Release & Deployments • Incidents • Customers needs Code: • Infrastructure: • Network : VPC, Subnets • IAM • Security : Security groups • Application platforms • IoT • API management • Data Analytics Functions • UX Continuous Build: • Build Apps • Package modules Continuous Configure: • Infrastructure • Apps Plan: • Features • Sprints • Modules Releases • Apps Releases Communicate: • Into Team • Into Project • Share with Company Define: • UX Design • Architecture • Security • Infrastructure • Deployment • Features : Epic, Stories, Tasks 22/11/2017
  • 18. JFTL 2015 DevOps & Qualification continue 18 OUTILS SÉLECTIONNÉS POUR LE MONTAGE DE LA PLATEFORME DEV/OPS Structure & Describe Tests: • Scenarios / Plans • Campaigns Continuous Test: • Unit Tests • Integration / Regression tests Continuous Assessment for Code Quality: • Complexity & Technical debt • Best coding practices Code Security Code Performance Versioned Binaries Centralization: • Produced Apps & Modules packages • Input OSS & modules Measure & Monitor: • Infrastructure performance • Application performance Alert on: • Security issues • Performance issues Release, Continuous Deploy, Automate Continuous Configuration: • Infrastructure • Modules • Releases • Applications • Test, UAT, Prod Deployments Coordinate: • Release & Deployments • Incidents • Customers needs Code: • Infrastructure: • Network : VPC, Subnets • IAM • Security : Security groups • Application platforms • IoT • API management • Data Analytics Functions • UX Continuous Build: • Build Apps • Package modules Continuous Configure: • Infrastructure • Apps Plan: • Features • Sprints • Modules Releases • Apps Releases Communicate: • Into Team • Into Project • Share with Company Define: • UX Design • Architecture • Security • Infrastructure • Deployment • Features : Epic, Stories, Tasks 22/11/2017
  • 19. JFTL 2015 DevOps & Qualification continue 19 PIPELINE D’INTÉGRATION ET DE LIVRAISON/DÉPLOIEMENT CONTINU Squash TM Github Artifactory SonarQube Cloudbees/Jenkins pipeline Jira Confluence Portfolio Management for Jira Jenkins, Terraform, Packer Cloudbees/Jenkins pipeline ProductionPreProdDev UAT Test Automation 22/11/2017
  • 20. JFTL 2016 LES TECHNOS SOUS-JACENTES : GESTION DE L’INFRASTRUCTURE AVEC TERRAFORM 20DevOps & Qualification continue 22/11/2017
  • 21. JFTL 2016 LES TECHNOS SOUS-JACENTES : GESTION DES BUILDS AVEC DOCKER & MESOS 21DevOps & Qualification continue 22/11/2017
  • 22. JFTL 2016 LES TECHNOS SOUS-JACENTES : CONSTRUCTION DES INSTANCES AVEC PACKER 22DevOps & Qualification continue 22/11/2017
  • 23. JFTL 2016 LES TECHNOS SOUS-JACENTES : DESCRIPTION DU WORKFLOW - JENKINSFILE 23DevOps & Qualification continue GIT FLOW + GITHUB HOOK + GITHUB ORGANIZATION FOLDER PLUGIN 22/11/2017
  • 24. JFTL 2016 BILAN D’ÉTAPE Chapitre5 24DevOps & Qualification continue 22/11/2017
  • 25. JFTL 2016 La plateforme de TOOLING Engie Digital (Novembre 2017) 25DevOps & Qualification continue Tooling : Équipe de 5 personnes 82 projets onboardés 7 outils dédiés au développement Logiciel qui tournent 7/7 – 24/24 268 repos de code regroupés dans 35 organisations GitHub (Java, C++, PHP, JS, Python, HCL, Shell, TypeScript …) 14 applications en production 25 en développement 500 utilisateurs intégrés à la plateforme 22/11/2017
  • 26. JFTL 2016 REX 26DevOps & Qualification continue Points Négatifs Points positifs (1/2) Plateforme et process non encore complètement scalables Une unique PQC mise à disposition de l'ensemble des BU/BE d’ENGIE Diversité des technologies projet Dès les premières phases de test, les environnements sont identiques à la cible.  Évangélisation complexe à mettre en œuvre Installation automatique de la majorité des applications Agilité & DevOps vs sécurité Plateformes de build et de test partagées par tous les prestataires. Point sécurité sur le déploiement continu Exécution de tests automatisés avant la livraison 22/11/2017
  • 27. JFTL 2016 LES POINTS DE VIGILANCE LORS DE LA MISE EN ŒUVRE DE LA PLATEFORME 27DevOps & Qualification continue • Définir les frontières de responsabilité entre tous les intervenants (difficulté de contractualisation). Rôles et responsabilités • Définir les bonnes pratiques de développement et de déploiement : c’est une boite à outils qu’il faut maitriser afin de créer des applications maintenables. • Rationaliser et normaliser les architectures de déploiement et les middlewares utilisés. • Suivre et mesurer l’usage de la plateforme par les différents intervenants (La plateforme devient un logiciel critique et sa maintenance doit être prise en compte (upgrade des différents composants...). Outillage • Ne pas sous estimer la charge d’accompagnement et de conduite du changement. Conduite du changement 22/11/2017
  • 28. JFTL 2016 PERSPECTIVES Chapitre6 28DevOps & Qualification continue 22/11/2017
  • 29. JFTL 2016 LES PERSPECTIVES 29DevOps & Qualification continue • Ouverture vers l’inner source • Avoir une vraie PAAS • Extension du catalogue de services Fonctionnelles • Délimiter clairement les frontières de compétences et de responsabilités de chacun (BU-BE/Engie IT/Engie Digital/sous-traitants) • Diffusion des connaissances & bonnes pratiques vers les utilisateurs de la plateforme pour industrialiser le déploiement des applications • Arriver à passer de l’agilité au DevOps Organisationnelles • Mise en place d’un déploiement continu jusqu’en production • Déploiement continu sur Azure • Généraliser le testing en continuTechniques 22/11/2017
  • 30. JFTL 2015 DevOps & Qualification continue 3022/11/2017