SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Migration d’une application web vers un
Paas OpenShift
Akram BLOUZA
@akram-wewe
Texte ici
Plan
1) OpenShift ?
2) Pourquoi OpenShift ?
3) Organisation
4) Choix techniques
5) Difficultés rencontrées
6) Demain ?
OpenShift ?
➢ OpenShift : Paas permettant de construire, déployer et exécuter des
applications dans des conteneurs.
➢ Elle repose sur l’orchestrateur des conteneurs Kubernetes.
Pourquoi OpenShift ?
Meilleure efficacité du SIMeilleure sécurité des donnéesAugmenter la qualité de service
○ Diminution du nombre de bug
post-développement.
○ Réduction des coûts ( infrastructure,
temps d’installation, maintenance )
○ Inventaire exhaustif du parc pour le
périmètre de la plateforme
○ Réduction du temps entre annonce et
correction
○ Réduction du “Time To Market”
○ Diminution du nombre de bugs en
production
○ Haute disponibilité et haute performance
Organisation
Equipe DevOps
Déroulement du projet
Atelier de
design
Sprints de 2 semaines
Cadrage du projet
Objectifs du projets
Raffinage / estimation
du périmètre
- Un “Sprint planning” au début du sprint
- Un “Daily” quotidien
- Une démo à la fin du sprint
- Un rétro après la démo
Sprint 1
Initialisation
Sprint 2
Plateforme
fonctionnelle
Sprint 3
Première version
de l’application
Sprint 4
Instanciation des
environnements
de l’application
Sprint 5
Application
iso-fonctionnelle
Sprint 6
Exploitabilité
OpenShift
pour la production
Recette applicative
Sprint 7
Application en
production
OpenShift exploité en
production
Choix techniques
Architecture
Architecture de l’application avant migration
Application -
Front
NTLM
Application-
Front
Windows Server 2008
BD
Web
Services
jdbc
SOAP/Http
Web
Service
Outil
interne
filtrage IP
jdbc
ajp
ajp
ajpHttp
Http
Batch 1
Batch 2
Batch 3
jdbc
http
Architecture de l’application après migration
BD
WS
Application
Web -
batch
Pod 1
Service
Service
Provisionning et
lancement à la
demande
Batch
Pod
Application
Web
Pod 1
Service
Route
Application
Web
Pod 2
Kerberos
Outil
interne
WS
Pod
Service
Route
Sujets traités lors de la migration dans OpenShift
Installation
OpenShift
Création images
Docker
IC / DCSecretsQuotas et limitesRésilienceSupervisionLiveness/Readiness
Traiter les spécificités
de l’environnement
ConfigurationLogging
Installation
OpenShift
Création
images Docker
IC / DC
Secrets
Quotas et limites
Résilience
Supervision
Liveness/Readiness
Traiter les spécificités
de l’environnement
Configuration
Logging
Hiérarchie des images Docker dans l’application
openshift/socle-transverse
openshift/tomcat-custom
registry.access.redhat.com/
webserver30-tomcat7-openshift
FROM
FROM
FROM
namespace/
{Application-Web}
namespace/
{Application-WS}
registry.access.redhat.com/
rhel7
openshift/jdk7
openshift/rhel-custom
FROM
FROM
FROM
namespace/
batch1
namespace/
batch2
namespace/
batch3
Workflow de déploiement dans OpenShift
OpenShift
API
Application
Pod 1
Application
Pod 2
Service
Route
Namespace DEV
2
checkout
3
deploy
4
build & push
1
commit
Développeur
5
deploy
schedule
Workflow de déploiement dans OpenShift
Application
Pod 1
Application
Pod 2
Service
Route
Namespace Recette
Technique
Application
Pod 1
Application
Pod 2
Service
Route
Namespace PRE PROD
Application
Pod 1
Application
Pod 2
Service
Route
Namespace PROD
Application
Pod 1
Application
Pod 2
Service
Route
Namespace RECETTE
FONCTIONNELLE
Application
Pod 1
Application
Pod 2
Service
Route
Namespace DEV
Namespace
preprod-ref
secret
Namespace
prod-ref
secret
Namespace
preprod-ref
secret
DéploymentConfig
Secrets
Images
Routes
Services
Pvc
Réussir cette migration: Accompagnement des équipes
▼ Objectif: Faire monter en compétence les équipes sur OpenShift
▼ Ateliers organisés :
▽ Former les équipes sur les sujets OpenShift qui les concernent.
▽ Accompagnement sur le nouveau processus de livraison sur OpenShift.
▽ Accompagnement sur les premiers livrables sur OpenShift.
▼ Traiter les retours des équipes
▼ Correctifs
▼ Nouveaux besoins
Difficultés rencontrées
▼ Montée en compétences de l’équipe sur OpenShift.
Difficultés rencontrées
▼ Équipe non réellement dédiée : Membres de l’équipe rattachés à leurs entités respectives.
▼ Blocage pour faire valider certains sujets :
▽ Mise en place d’un outil unique de déploiement et de promotion.
▽ Effectuer le build des images Docker dans OpenShift.
▼ Nouveau mode de fonctionnement : DevOps, Agilité.
Avant/Après OpenShift ?
Avant OpenShift
▼ Etudes de besoin (OS, Performances, Disque, …)
▼ Fourniture de machine (VM ou serveur physique)
■ Construction de la machine (socle)
■ Livraison de la machine
■ Actions manuelles pour l’installation des serveurs
applicatifs
▼ Paramétrage d’éléments sensibles
■ Journalisation
■ Sauvegarde
■ Surveillance
■ Création de consignes d’exploitation (A/R), …
▼ Augmentation du nombre de nœuds
■ Mêmes étapes que ci-dessus
■ Mise à jour :
■ Sauvegarde complète
■ Installation de la mise à jour
■ Restauration de la sauvegarde en cas de régression avec fortes interruptions
Avec OpenShift
○ Déploiement dans un
environnement iso-prod
○ Diminution du nombre de
bugs.
○ Provisioning facile des
environnements
○ Centralisation des logs
○ Possibilité de déployer
l’application sans arrêt du
service
○ Rollback plus facile
○ Meilleure qualité des livrables
DÉVELOPPEMENT
○ Gestion de la sécurité plus
efficaces
○ Incidents en production plus
facile à identifier et donc à
corriger
○ Rollback plus facile et sans
arrêt de service
○ Haute disponibilité facile à
mettre en place
○ Pas d’arrêt de service en cas
de problème de production
○ Supervision plus simple de la
production
EXPLOITATION
○ Délai de provisionnement
réduit du socle
○ Mise à jours de
l’infrastructure beaucoup plus
simple et sans arrêt du
service
○ Ajout de machines dans le
cluster beaucoup plus simple
et sans arrêt du service
○ Rollback possible de manière
plus efficace et sans arrêt du
service
INFRASTRUCTURE
Demain ?
▼ Migration de nouvelles applications vers OpenShift.
▼ Continuer à travailler sur les sujets autour de l’écosystème Devops.
▼ Une équipe 100 % OpenShift ?
Demain ?
WESCALE
01 85 08 18 81
contact@wescale.fr
156 boulevard Haussmann 75008 Paris
www.wescale.fr | blog.wescale.fr | @YesWeScale
MERCI.
QUESTIONS ?

Weitere ähnliche Inhalte

Was ist angesagt?

XebiCon'17 : La refonte d'applications natives from scratch, un pari gagnant ...
XebiCon'17 : La refonte d'applications natives from scratch, un pari gagnant ...XebiCon'17 : La refonte d'applications natives from scratch, un pari gagnant ...
XebiCon'17 : La refonte d'applications natives from scratch, un pari gagnant ...Publicis Sapient Engineering
 
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic LadeuXebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic LadeuPublicis Sapient Engineering
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+ekino
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?rfelden
 
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 2018Cedric Girard
 
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Publicis Sapient Engineering
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
REX sur l'outilage Continuous Delivery
REX sur l'outilage Continuous DeliveryREX sur l'outilage Continuous Delivery
REX sur l'outilage Continuous DeliveryDamien Goldenberg
 
Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+ Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+ ekino
 
OpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse FaureOpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse FaureParis Container Day
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière Cellenza
 
Au secours, mon chef m'a demandé de passer au DevOps
Au secours, mon chef m'a demandé de passer au DevOpsAu secours, mon chef m'a demandé de passer au DevOps
Au secours, mon chef m'a demandé de passer au DevOpsantony_guilloteau
 
5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, LinuxYasmine Amrani
 
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...Publicis Sapient Engineering
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatiséJérémie Campari
 

Was ist angesagt? (20)

XebiCon'17 : La refonte d'applications natives from scratch, un pari gagnant ...
XebiCon'17 : La refonte d'applications natives from scratch, un pari gagnant ...XebiCon'17 : La refonte d'applications natives from scratch, un pari gagnant ...
XebiCon'17 : La refonte d'applications natives from scratch, un pari gagnant ...
 
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic LadeuXebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
XebiCon'17 : Entrevue avec Vue.js - Thomas Champion et Ludovic Ladeu
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?
 
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
 
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
REX Openshift à la Poste
REX Openshift à la PosteREX Openshift à la Poste
REX Openshift à la Poste
 
REX sur l'outilage Continuous Delivery
REX sur l'outilage Continuous DeliveryREX sur l'outilage Continuous Delivery
REX sur l'outilage Continuous Delivery
 
Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+ Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+
 
DevOps with OpenShift
DevOps with OpenShiftDevOps with OpenShift
DevOps with OpenShift
 
OpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse FaureOpenShift en production - Akram Ben Assi & Eloïse Faure
OpenShift en production - Akram Ben Assi & Eloïse Faure
 
01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière 01 - [ASP.NET Core] Plénière
01 - [ASP.NET Core] Plénière
 
Au secours, mon chef m'a demandé de passer au DevOps
Au secours, mon chef m'a demandé de passer au DevOpsAu secours, mon chef m'a demandé de passer au DevOps
Au secours, mon chef m'a demandé de passer au DevOps
 
5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
5- [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
 
Jenkins Workflow
Jenkins WorkflowJenkins Workflow
Jenkins Workflow
 
REX Devops Docker
REX Devops DockerREX Devops Docker
REX Devops Docker
 
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
XebiCon'16 : Xebia Labs : Les outils de déploiement sont morts avec les Conta...
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatisé
 
Symposium TFS - DevOps avec Microsoft
Symposium TFS - DevOps avec MicrosoftSymposium TFS - DevOps avec Microsoft
Symposium TFS - DevOps avec Microsoft
 

Ähnlich wie XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram Blouza

Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx FranceMarc Bojoly
 
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-matthieupetiteAZUG FR
 
"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/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014Benoît de CHATEAUVIEUX
 
Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Trader's - Quick Software Line
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerThe Incredible Automation Day
 
Dossier de competences MA
Dossier de competences MADossier de competences MA
Dossier de competences MAClementine D.
 
Système d’Information à l’Apec : un nouveau coeur de métier mis en place avec...
Système d’Information à l’Apec : un nouveau coeur de métier mis en place avec...Système d’Information à l’Apec : un nouveau coeur de métier mis en place avec...
Système d’Information à l’Apec : un nouveau coeur de métier mis en place avec...Ippon
 
Les containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicienLes containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicienRachid Zarouali
 
Plateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de MontréallPlateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de MontréallCloudOps2005
 
L'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsL'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsGeorgeot Cédric
 
Le Cloud IaaS & PaaS, OpenStack réseau et sécurité
Le Cloud IaaS & PaaS, OpenStack réseau et sécuritéLe Cloud IaaS & PaaS, OpenStack réseau et sécurité
Le Cloud IaaS & PaaS, OpenStack réseau et sécuritéNoureddine BOUYAHIAOUI
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureThomas Conté
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
CloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKCloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKAmico Fabien
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...Amazon Web Services
 

Ähnlich wie XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram Blouza (20)

Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx France
 
Perf university
Perf universityPerf university
Perf university
 
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
 
"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/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
 
Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp Docker
 
Dossier de competences MA
Dossier de competences MADossier de competences MA
Dossier de competences MA
 
Système d’Information à l’Apec : un nouveau coeur de métier mis en place avec...
Système d’Information à l’Apec : un nouveau coeur de métier mis en place avec...Système d’Information à l’Apec : un nouveau coeur de métier mis en place avec...
Système d’Information à l’Apec : un nouveau coeur de métier mis en place avec...
 
Les containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicienLes containers docker vu par un chef cuisinier et un mécanicien
Les containers docker vu par un chef cuisinier et un mécanicien
 
Plateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de MontréallPlateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de Montréall
 
Cahier des charges
Cahier des charges Cahier des charges
Cahier des charges
 
L'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOpsL'évolution vers le (Dev)NoOps
L'évolution vers le (Dev)NoOps
 
Le Cloud IaaS & PaaS, OpenStack réseau et sécurité
Le Cloud IaaS & PaaS, OpenStack réseau et sécuritéLe Cloud IaaS & PaaS, OpenStack réseau et sécurité
Le Cloud IaaS & PaaS, OpenStack réseau et sécurité
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
CloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKCloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiK
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
 
Meetup PM2 @delicious-insights
Meetup PM2 @delicious-insightsMeetup PM2 @delicious-insights
Meetup PM2 @delicious-insights
 

Mehr von Publicis Sapient Engineering

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainPublicis Sapient Engineering
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurPublicis Sapient Engineering
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...Publicis Sapient Engineering
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin Publicis Sapient Engineering
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?Publicis Sapient Engineering
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?Publicis Sapient Engineering
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéPublicis Sapient Engineering
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...Publicis Sapient Engineering
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !Publicis Sapient Engineering
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizPublicis Sapient Engineering
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéPublicis Sapient Engineering
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectPublicis Sapient Engineering
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...Publicis Sapient Engineering
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018Publicis Sapient Engineering
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...Publicis Sapient Engineering
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...Publicis Sapient Engineering
 

Mehr von Publicis Sapient Engineering (20)

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
 
Xebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to CloudXebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to Cloud
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
 
XebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern InfrastructureXebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern Infrastructure
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
 
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilité
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID Connect
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
 
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an aprèsXebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an après
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
 

XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram Blouza

  • 1. Migration d’une application web vers un Paas OpenShift Akram BLOUZA @akram-wewe
  • 2. Texte ici Plan 1) OpenShift ? 2) Pourquoi OpenShift ? 3) Organisation 4) Choix techniques 5) Difficultés rencontrées 6) Demain ?
  • 3. OpenShift ? ➢ OpenShift : Paas permettant de construire, déployer et exécuter des applications dans des conteneurs. ➢ Elle repose sur l’orchestrateur des conteneurs Kubernetes.
  • 4. Pourquoi OpenShift ? Meilleure efficacité du SIMeilleure sécurité des donnéesAugmenter la qualité de service ○ Diminution du nombre de bug post-développement. ○ Réduction des coûts ( infrastructure, temps d’installation, maintenance ) ○ Inventaire exhaustif du parc pour le périmètre de la plateforme ○ Réduction du temps entre annonce et correction ○ Réduction du “Time To Market” ○ Diminution du nombre de bugs en production ○ Haute disponibilité et haute performance
  • 7. Déroulement du projet Atelier de design Sprints de 2 semaines Cadrage du projet Objectifs du projets Raffinage / estimation du périmètre - Un “Sprint planning” au début du sprint - Un “Daily” quotidien - Une démo à la fin du sprint - Un rétro après la démo Sprint 1 Initialisation Sprint 2 Plateforme fonctionnelle Sprint 3 Première version de l’application Sprint 4 Instanciation des environnements de l’application Sprint 5 Application iso-fonctionnelle Sprint 6 Exploitabilité OpenShift pour la production Recette applicative Sprint 7 Application en production OpenShift exploité en production
  • 10. Architecture de l’application avant migration Application - Front NTLM Application- Front Windows Server 2008 BD Web Services jdbc SOAP/Http Web Service Outil interne filtrage IP jdbc ajp ajp ajpHttp Http Batch 1 Batch 2 Batch 3 jdbc http
  • 11. Architecture de l’application après migration BD WS Application Web - batch Pod 1 Service Service Provisionning et lancement à la demande Batch Pod Application Web Pod 1 Service Route Application Web Pod 2 Kerberos Outil interne WS Pod Service Route
  • 12. Sujets traités lors de la migration dans OpenShift Installation OpenShift Création images Docker IC / DCSecretsQuotas et limitesRésilienceSupervisionLiveness/Readiness Traiter les spécificités de l’environnement ConfigurationLogging Installation OpenShift Création images Docker IC / DC Secrets Quotas et limites Résilience Supervision Liveness/Readiness Traiter les spécificités de l’environnement Configuration Logging
  • 13. Hiérarchie des images Docker dans l’application openshift/socle-transverse openshift/tomcat-custom registry.access.redhat.com/ webserver30-tomcat7-openshift FROM FROM FROM namespace/ {Application-Web} namespace/ {Application-WS} registry.access.redhat.com/ rhel7 openshift/jdk7 openshift/rhel-custom FROM FROM FROM namespace/ batch1 namespace/ batch2 namespace/ batch3
  • 14. Workflow de déploiement dans OpenShift OpenShift API Application Pod 1 Application Pod 2 Service Route Namespace DEV 2 checkout 3 deploy 4 build & push 1 commit Développeur 5 deploy schedule
  • 15. Workflow de déploiement dans OpenShift Application Pod 1 Application Pod 2 Service Route Namespace Recette Technique Application Pod 1 Application Pod 2 Service Route Namespace PRE PROD Application Pod 1 Application Pod 2 Service Route Namespace PROD Application Pod 1 Application Pod 2 Service Route Namespace RECETTE FONCTIONNELLE Application Pod 1 Application Pod 2 Service Route Namespace DEV Namespace preprod-ref secret Namespace prod-ref secret Namespace preprod-ref secret DéploymentConfig Secrets Images Routes Services Pvc
  • 16. Réussir cette migration: Accompagnement des équipes ▼ Objectif: Faire monter en compétence les équipes sur OpenShift ▼ Ateliers organisés : ▽ Former les équipes sur les sujets OpenShift qui les concernent. ▽ Accompagnement sur le nouveau processus de livraison sur OpenShift. ▽ Accompagnement sur les premiers livrables sur OpenShift. ▼ Traiter les retours des équipes ▼ Correctifs ▼ Nouveaux besoins
  • 18. ▼ Montée en compétences de l’équipe sur OpenShift. Difficultés rencontrées ▼ Équipe non réellement dédiée : Membres de l’équipe rattachés à leurs entités respectives. ▼ Blocage pour faire valider certains sujets : ▽ Mise en place d’un outil unique de déploiement et de promotion. ▽ Effectuer le build des images Docker dans OpenShift. ▼ Nouveau mode de fonctionnement : DevOps, Agilité.
  • 20. Avant OpenShift ▼ Etudes de besoin (OS, Performances, Disque, …) ▼ Fourniture de machine (VM ou serveur physique) ■ Construction de la machine (socle) ■ Livraison de la machine ■ Actions manuelles pour l’installation des serveurs applicatifs ▼ Paramétrage d’éléments sensibles ■ Journalisation ■ Sauvegarde ■ Surveillance ■ Création de consignes d’exploitation (A/R), … ▼ Augmentation du nombre de nœuds ■ Mêmes étapes que ci-dessus ■ Mise à jour : ■ Sauvegarde complète ■ Installation de la mise à jour ■ Restauration de la sauvegarde en cas de régression avec fortes interruptions
  • 21. Avec OpenShift ○ Déploiement dans un environnement iso-prod ○ Diminution du nombre de bugs. ○ Provisioning facile des environnements ○ Centralisation des logs ○ Possibilité de déployer l’application sans arrêt du service ○ Rollback plus facile ○ Meilleure qualité des livrables DÉVELOPPEMENT ○ Gestion de la sécurité plus efficaces ○ Incidents en production plus facile à identifier et donc à corriger ○ Rollback plus facile et sans arrêt de service ○ Haute disponibilité facile à mettre en place ○ Pas d’arrêt de service en cas de problème de production ○ Supervision plus simple de la production EXPLOITATION ○ Délai de provisionnement réduit du socle ○ Mise à jours de l’infrastructure beaucoup plus simple et sans arrêt du service ○ Ajout de machines dans le cluster beaucoup plus simple et sans arrêt du service ○ Rollback possible de manière plus efficace et sans arrêt du service INFRASTRUCTURE
  • 23. ▼ Migration de nouvelles applications vers OpenShift. ▼ Continuer à travailler sur les sujets autour de l’écosystème Devops. ▼ Une équipe 100 % OpenShift ? Demain ?
  • 24. WESCALE 01 85 08 18 81 contact@wescale.fr 156 boulevard Haussmann 75008 Paris www.wescale.fr | blog.wescale.fr | @YesWeScale