SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
Retour	d'expérience	de	déploiement
d'une	infonuagique	privée	au	sein
d'une	grande	organisation
20	septembre	2016
Michel-Marie	MAUDET	-	@mmaudet
1
Qui	suis	je	?
COO	de	LINAGORA
Directeur	des	opérations
Militant	libriste	depuis	1996
Animateur	d'un	site	(plus	en	ligne
depuis	2001)	sur	les	ressource
Linux	d'Internet	-->	Google	m'a	tué
!
Ancien	de	l'Armée	de	l'Air
et	amoureux	de	la	Corse	;-)
2
Editeur	Open	Source
Digital	Booster
Agile	native
Présent	à	Montréal	depuis	2013.	Equipe	de	10
collaboreurs	à	votre	service.
Des	mandats	pour	la	Ville	de	Montréal,	Hydro
Québec,	la	Ville	de	Laval...
3
De	la	ligne	de	code	au
déploiement	du	service
en	production
4
James
projet	Apache	depuis	plus	de	dix	ans
plusieurs	dizaines	de	contributeurs	au	cours	de	son	histoire
plusieurs	milliers	de	commits
plus	de	200000	lignes	de	code	java
plus	de	100	projets	maven
v2	en	production	depuis	des	années,	communauté
d'utilisateurs	satisfait
v3	démarré	il	y	a	10	ans,	projet	jamais	terminé	et
découragement	de	la	communauté
plus	d'activité	de	dévelopement	depuis	2012
http://james.apache.org/
5
James	en	2014
Gestion	du	code	source
Envoi	de	modification	(patch)	par
mail	ou	à	travers	le	bug	tracker
intégration	à	la	demande	par	un	commiter
6 . 1
James	en	2014
Intégration	continue
L'intégration	continue	est	une
activité	particulière
Le	contributeur	ne	peut	pas	y	participer	(aucun	droit	sur
l'administration	de	Jenkins)
6 . 2
Des	problématiques
similaires	en	entreprise
Réactivité	/	Time	to	market
Modernisation	et	agilité	de	toutes	les	phases	du	cycle	de	vie
des	applications
Qualité	de	service
Réduction	du	coût	d'exploitation	&	de	développement
7 . 1
Une	réalité	en	entreprise
:	faiblesses	du	SI
Délai	de	mise	à	disposition	d'environnement
Qualité	de	service	(interruption	de	services,	performance)
Difficulté	de	migration	(version	successives	de	l'application
&	des	données)
Le	casse	tête	de	la	gestion	des	configurations	entre	les
différents	environnements	(dev,	test,	preprod,	prod)
Risque	sur	la	concentration	des	connaissances
7 . 2
Vers	une	infonuagique
privée
Standardiser	le	matériel	et	les	infrastructures	par	la
virtualisation
Tout	automatiser	(processus,	manipulation	du	hardware,	etc)
Adopter	les	méthodologies	des	"Géants	du	Web"
Capitaliser	sur	les	approches	adoptées	autour	du	code
(approche	DevOps)
7 . 3
Méthodes	de
dévelopement	et
d'exploitation
Principes	du	DevOps	CAMS	(Culture,	Automation,
Measurement,	Sharing)
Agilité	de	bout	en	bout	(Intégration	continue,	Déploiement
continu)
8 . 1
Méthodes	de
dévelopement	et
d'exploitation
DevOps
Stratégie	qui	vise	à	gomer	la	limite	entre	l'exploitation	et	le
développement	en	utilisant	des	méthodes	et	des	outils
communs	entre	les	deux	mondes.
8 . 2
Méthodes	de
dévelopement	et
d'exploitation
Déploiement	continu
Stratégie	de	dévelopement	visant	à	publier	automatiquement
en	pré/production	toute	modification	validant	les	tests
d'acceptance
8 . 3
Méthodes	de
dévelopement	et
d'exploitation
Intégration	continue
automatisation	de	tâches	(compilation,	test	unitaires,	tests
fonctionnels,	...)
exécution	systématique
peux	reposer	sur	une	brique	logicielle	(Jenkins,	Travis	CI,	...)
vérifie	chaque	modification	du	code 8 . 4
Méthodes	de
dévelopement	et
d'exploitation
Pipeline	de	l'intégration	d'une	Pull-Request
8 . 5
Agilité	du
développement
Architecture	adaptée
Adoptation	des	architecture	micro-services
Clustering
Stateless	services
9 . 1
Agilité	du
développement
La	Pull-Request
Branchement	du	code	sur	son	propre	dépôt
Préparation	d'un	historique	de	modification	"racontant	une
histoire"
Soumission	de	la	branche	pour	intégration	à	master
Relecture,	validation	et	intégration
9 . 2
9 . 3
Résumé	d'une	PR	sous	GitHub	
	
PR	d'un	utilisateur	n'ayant	pas	signé	la	CLA	
9 . 4
Agilité	du
développement
La	Pull-Request	:	automatisation
exécution	des	tests	sur	une	simulation	d'intégration	du	code
audit	du	code	par	un	outil	approprié
9 . 5
Agilité	du
développement
Outillage
orchestration	:
Jenkins	
Travis	CI	
Circle	CI	
https://jenkins.io/
https://travis-ci.org/
https://circleci.com/
9 . 6
Agilité	du
développement
Outillage
tests	:
Cucumber	
REST-assured	
AssertJ	
https://cucumber.io/
http://rest-assured.io/
http://joel-costigliola.github.io/assertj/
9 . 7
Agilité	du
développement
Outillage
tests	:
Protactor	
Mocha	
WebDriver	
http://www.protractortest.org/
https://mochajs.org/
http://webdriver.io/
9 . 8
Agilité	du
développement
Outillage
audit	:
Sonar	http://www.sonarqube.org/
9 . 9
Agilité	du
développement
Outillage
git	/	PR	:
Stash	
GitHub	
https://www.atlassian.com/stash/
https://github.com/
9 . 10
Agilité	du	déploiement
Génération	des	livrables
Artifacts	(package	/	images	docker)	à	chaque	commit:	rpm,
deb,	docker
Déploiement	des	artifacts:	DockerRegistry,	Artifactory,
Nexus
10 . 1
Agilité	du	déploiement
Déploiement	des	livrables
Téléchargement	des	artifacts
Rolling	upgrade	/	blue-green	deployment	:	Kubernetes,
Marathon/Mesos
Changements	base	de	données
Activation	des	features	:	ff4j
10 . 2
Agilité	du	déploiement
Feature	flipping	configuration
10 . 3
Agilité	du	déploiement
Feature	flipping	données	d'utilisation	des	fonctionnalités
10 . 4
Agilité	du	déploiement
Gestion	de	la	base	de	données
Pas	de	mise	à	jour	de	la	base	de	données
Mais	création	de	nouvelles	tables	ou	colonnes
Rapidité	de	migration,	elle	se	fait	au	fur	et	à	mesure
Aucune	perte	de	données,	les	anciennes	données	sont
toujours	disponibles	(anciennes	tables)
Basculement	progressif,	les	nouvelles	données	sont	créées
dans	les	nouvelles	tables
10 . 5
Agilité	du	déploiement
Gestion	de	la	base	de	données
10 . 6
Continous	Integration	as
Code	/	"Immutable
Infrastructure"
Concept
Aucune	intéraction	avec	l'IHM
Application	des	méthodes	de	dévelopement
Facilité	d'utilisation	pour	n'importe	quel	contributeur	au
projet
11 . 1
Continous	Integration	as
Code
Configuration	de	Jenkins
Installation	automatique	des	plugins
Configuration	de	la	CI	et	des	plugins	automatique
11 . 2
Continous	Integration	as
Code
Coder	le	build	de	votre
application
Le	build	fait	parti	du	code	de	l'application
validation	des	modifications	par	PR
11 . 3
Continous	Integration	as
Code
Extrait	d'un	pipeline	de	build
11 . 4
James	en	2016	:
CI	as	code
Livraison	continue	(génération	et	déploiement	des	images)
Déploiement	continue	à	chaque	commit	(mise	à	jours	du
service)
Process	de	devéloppement	à	l'état	de	l'art
Nouvelle	dynamique	dans	la	communauté	car
développement	réellement	décentralisé
Rapidité	de	mise	à	disposition	des	nouvelles	versions
12
C'est	aussi	possible	en
Entreprise
En	Service	Conseil
Audit	des	besoins	/	Stratégie	Cloud	Open	Source
Design	et	conception	de	l’architecture
Sélection	des	composants	matériels	et	logiciels
13
C'est	aussi	possible	en
Entreprise
En	Service	Conseil
Audit	des	besoins	/	Stratégie	Cloud	Open	Source
Accompagnement	déploiement	méthodologies	Agile	&
DevOps
Design	et	conception	de	l’architecture
Sélection	des	composants	matériels	et	logiciels
14
C'est	aussi	possible	en
Entreprise
Accompagnement	et	Expertise
Déploiement	de	l’infrastructure
Configuration	de	l’ensemble	des	fonctions
Automatisation	de	la	gestion
Formations
15
C'est	aussi	possible	en
Entreprise
Support	et	maintenance
OSSA	sur	Iaas	OpenStack/Docker/Roboconf
Support	des	piles	CI	/	CD
Accompagnement	à	la	migration
Hébergement	du	cloud	en	datacenter	ou	chez	vous
16
Merci	pour	votre
attention
Questions	/	Réponses
Nous	contacter	:
canada@linagora.com 17

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et Administration
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
Gitlab ci-cd
Gitlab ci-cdGitlab ci-cd
Gitlab ci-cd
 
Sw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applications
 
Introduction à la démarche Devops
Introduction à la démarche DevopsIntroduction à la démarche Devops
Introduction à la démarche Devops
 
Gitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement ContinueGitlab CI : Integration et Déploiement Continue
Gitlab CI : Integration et Déploiement Continue
 
Intro to docker
Intro to dockerIntro to docker
Intro to docker
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 
Demarrer ionic en 5 etape
Demarrer ionic en 5 etapeDemarrer ionic en 5 etape
Demarrer ionic en 5 etape
 
kubernetes, pourquoi et comment
kubernetes, pourquoi et commentkubernetes, pourquoi et comment
kubernetes, pourquoi et comment
 
Vulgarisation de la technologie de containers Docker
Vulgarisation de la technologie de containers DockerVulgarisation de la technologie de containers Docker
Vulgarisation de la technologie de containers Docker
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
Versioning avec Git
Versioning avec GitVersioning avec Git
Versioning avec Git
 
GitHub - Présentation
GitHub - PrésentationGitHub - Présentation
GitHub - Présentation
 
Kubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive OverviewKubernetes - A Comprehensive Overview
Kubernetes - A Comprehensive Overview
 
Docker
DockerDocker
Docker
 
TFE - Sécurité des architectures en conteneurs Docker orchestrés par Kubernetes
TFE -  Sécurité des architectures en conteneurs Docker orchestrés par KubernetesTFE -  Sécurité des architectures en conteneurs Docker orchestrés par Kubernetes
TFE - Sécurité des architectures en conteneurs Docker orchestrés par Kubernetes
 

Andere mochten auch

Andere mochten auch (8)

Présentation lin today-juin
Présentation lin today-juinPrésentation lin today-juin
Présentation lin today-juin
 
Open Source PRO - The future is OPEN !
Open Source PRO - The future is OPEN !Open Source PRO - The future is OPEN !
Open Source PRO - The future is OPEN !
 
Présentation OBM 3.0 - Sortie juin 2014
Présentation OBM 3.0 - Sortie juin 2014Présentation OBM 3.0 - Sortie juin 2014
Présentation OBM 3.0 - Sortie juin 2014
 
Dark launching with Consul at Hootsuite - Bill Monkman
Dark launching with Consul at Hootsuite - Bill MonkmanDark launching with Consul at Hootsuite - Bill Monkman
Dark launching with Consul at Hootsuite - Bill Monkman
 
Engineering and Autonomy in the Age of Microservices - Nic Benders, New Relic
Engineering and Autonomy in the Age of Microservices - Nic Benders, New RelicEngineering and Autonomy in the Age of Microservices - Nic Benders, New Relic
Engineering and Autonomy in the Age of Microservices - Nic Benders, New Relic
 
Feature Toggle
Feature ToggleFeature Toggle
Feature Toggle
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)
 
Insee en bref _ Pour comprendre la croissance économique et le PIB
Insee en bref _ Pour comprendre la croissance économique et le PIBInsee en bref _ Pour comprendre la croissance économique et le PIB
Insee en bref _ Pour comprendre la croissance économique et le PIB
 

Ähnlich wie Agilité / DevOps / Continuous Integration / Continuous Delivery - Présentation S2LQ 2016

Offre PostGres+ Linagora/EDB
Offre PostGres+ Linagora/EDBOffre PostGres+ Linagora/EDB
Offre PostGres+ Linagora/EDB
LINAGORA
 

Ähnlich wie Agilité / DevOps / Continuous Integration / Continuous Delivery - Présentation S2LQ 2016 (20)

[XamarinDay] Deep dive des produits Xamarin part 2
[XamarinDay] Deep dive des produits Xamarin part 2[XamarinDay] Deep dive des produits Xamarin part 2
[XamarinDay] Deep dive des produits Xamarin part 2
 
Séminaire novembre 2010 - Les CMS Open Source au service d'un web performant
Séminaire novembre 2010 - Les CMS Open Source au service d'un web performantSéminaire novembre 2010 - Les CMS Open Source au service d'un web performant
Séminaire novembre 2010 - Les CMS Open Source au service d'un web performant
 
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é...
 
Livre blanc : Le succès de WordPress
Livre blanc : Le succès de WordPressLivre blanc : Le succès de WordPress
Livre blanc : Le succès de WordPress
 
Prenez le contrôle de votre Stratégie Digitale Multicanal
Prenez le contrôle de votre Stratégie Digitale MulticanalPrenez le contrôle de votre Stratégie Digitale Multicanal
Prenez le contrôle de votre Stratégie Digitale Multicanal
 
Microservice LabsZoom.pptx.pdf
Microservice LabsZoom.pptx.pdfMicroservice LabsZoom.pptx.pdf
Microservice LabsZoom.pptx.pdf
 
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œilVisual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
 
Une migration sur AWS, une migration orientée produit
Une migration sur AWS, une migration orientée produitUne migration sur AWS, une migration orientée produit
Une migration sur AWS, une migration orientée produit
 
OpenSource & InnerSource pour accélérer les développements
OpenSource & InnerSource pour accélérer les développementsOpenSource & InnerSource pour accélérer les développements
OpenSource & InnerSource pour accélérer les développements
 
#Code : La révolution Programmée
#Code : La révolution Programmée#Code : La révolution Programmée
#Code : La révolution Programmée
 
Stack Technologique Google
Stack Technologique GoogleStack Technologique Google
Stack Technologique Google
 
Jusqu’ou iront les weblogs?
Jusqu’ou iront les weblogs?Jusqu’ou iront les weblogs?
Jusqu’ou iront les weblogs?
 
Industrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec DrupalIndustrialisez le développement et la maintenance de vos sites avec Drupal
Industrialisez le développement et la maintenance de vos sites avec Drupal
 
Le Cloud computing c'est quoi ?
Le Cloud computing c'est quoi ?Le Cloud computing c'est quoi ?
Le Cloud computing c'est quoi ?
 
Présentation Outils Collaboratifs Open Source au S2LQ 2015
Présentation Outils Collaboratifs Open Source au S2LQ 2015Présentation Outils Collaboratifs Open Source au S2LQ 2015
Présentation Outils Collaboratifs Open Source au S2LQ 2015
 
Web 2.0 : Quelles applications ?
Web 2.0 : Quelles applications ?Web 2.0 : Quelles applications ?
Web 2.0 : Quelles applications ?
 
Offre PostGres+ Linagora/EDB
Offre PostGres+ Linagora/EDBOffre PostGres+ Linagora/EDB
Offre PostGres+ Linagora/EDB
 
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
 
XWiki SAS
XWiki SASXWiki SAS
XWiki SAS
 
Introduction à Drupal. Pourquoi Drupal est, en toute objectivité, le meilleur...
Introduction à Drupal. Pourquoi Drupal est, en toute objectivité, le meilleur...Introduction à Drupal. Pourquoi Drupal est, en toute objectivité, le meilleur...
Introduction à Drupal. Pourquoi Drupal est, en toute objectivité, le meilleur...
 

Mehr von Michel-Marie Maudet

Cohabitation Logiciels Libres et propriétaires
Cohabitation Logiciels Libres et propriétairesCohabitation Logiciels Libres et propriétaires
Cohabitation Logiciels Libres et propriétaires
Michel-Marie Maudet
 

Mehr von Michel-Marie Maudet (13)

Introduction au web3.pdf
Introduction au web3.pdfIntroduction au web3.pdf
Introduction au web3.pdf
 
Stratégie OpenJDK
Stratégie OpenJDKStratégie OpenJDK
Stratégie OpenJDK
 
Présentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinIDPrésentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinID
 
Présentation Schéma Directeur Open Source au S2LQ 2015
Présentation Schéma Directeur Open Source au S2LQ 2015Présentation Schéma Directeur Open Source au S2LQ 2015
Présentation Schéma Directeur Open Source au S2LQ 2015
 
Présentation LINAGORA - LinShare au @S2LQ
Présentation LINAGORA - LinShare au @S2LQPrésentation LINAGORA - LinShare au @S2LQ
Présentation LINAGORA - LinShare au @S2LQ
 
Présentation LINAGORA - OBM au @S2LQ
Présentation LINAGORA - OBM au @S2LQPrésentation LINAGORA - OBM au @S2LQ
Présentation LINAGORA - OBM au @S2LQ
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du Cloud
 
Place et impact de l'Open Source sur les 10 tendances IT de 2014
Place et impact de l'Open Source sur les 10 tendances IT de 2014Place et impact de l'Open Source sur les 10 tendances IT de 2014
Place et impact de l'Open Source sur les 10 tendances IT de 2014
 
10 ans de l'Adullact
10 ans de l'Adullact10 ans de l'Adullact
10 ans de l'Adullact
 
Cohabitation Logiciels Libres et propriétaires
Cohabitation Logiciels Libres et propriétairesCohabitation Logiciels Libres et propriétaires
Cohabitation Logiciels Libres et propriétaires
 
Présentation Gouvernance Open Source
Présentation Gouvernance Open SourcePrésentation Gouvernance Open Source
Présentation Gouvernance Open Source
 
Pre metic univ_montp2_20111029
Pre metic univ_montp2_20111029Pre metic univ_montp2_20111029
Pre metic univ_montp2_20111029
 
Drupagora linagora-20111110
Drupagora linagora-20111110Drupagora linagora-20111110
Drupagora linagora-20111110
 

Agilité / DevOps / Continuous Integration / Continuous Delivery - Présentation S2LQ 2016