Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare une entreprise Scribd logo
OpenShift :
initiateur de
démarche DevOps
Red Hat Container & Cloud-Native
Roadshow Paris
11 Avril 2018
Auteur : Cédric GIRARD
Our positioning and forces on Red Hat technologies
+100
professionals including
46 experts certified in
EMEA
Cloud
Build your cloud platform as the solid foundation for
your digital business
DevOps
Accelerate your digital innovation and let
you move faster in the cloud
Middleware
Develop your applications faster, smarter
and more flexible.
9
countries
including Mexico
+50
clients references
Red Hat Premier Partner in 5 countries !
Présentation du contexte client
• Secteur d’activité banque finance
• DSI :
• 400 collaborateurs
• 600 applications
• Infrastructure en mode VM
• Forte segmentation des entités
3
Génèse du projet
4
Q4 2016 : Appel d’offre “PaaS Docker”
• 4 sociétés sollicitées
• Choix d’OpenShift Container Platform :
• Réponse la plus complète par rapport aux fonctionnalités attendues
• Pérennité et maturité de la solution
• Méthodologie d’implémentation proposée par Red Hat
Le choix d’OpenShift
201820172016
2017 : Déploiement de la plateforme et migration d’une application
Les résultats rapides (plateforme installée en 15 jours, 1ere appli migrée en 5 mois) ont
démontré la valeur de l’approche méthodologique
Déploiement de la plateforme
5
• Méthodologie SCRUM-like pour le projet :
• Feature-team avec des acteurs des différentes entités
de la DSI
• Fonctionnement par itérations pour rapidement
démontrer de la valeur
• Forte visibilité avec organisation de démos tous les 15
jours à la DSI
• Transposition des processus existants :
• Outils de déploiement différents entre DEV et OPS
(Jenkins / Control-M)
• Forte segmentation des opérations par entité
• OpenShift uniquement en plateforme d’exécution (build
fait à l’extérieur)
Agile par l’exemple
201820172016
Product Owner
Devoteam
Architecture
Technique
Applicative
Architecture
Infrastructure
Amélioration
Collaboration
Transformation
Qualification et
Industrialisation
des projets
Architecture
Middleware
Equipe
dédiée
Scrum Master
Red Hat
Consultant
Red Hat
Architecte
Red Hat
Schéma d’architecture
Zoom infrastructure
Gains apportés par OpenShift
7
Une mise à disposition accélérée de l’infrastructure
Avant Après
⌚ plusieurs semaines
Etude des besoins
Demande de travaux
Construction de la machine
Livraison de la machine
Installation des éléments applicatifs
Paramétrage journalisation
Paramétrage sauvegarde
Paramétrage surveillance
Installation JDK manuelle
Installation Tomcat manuelle
Installation bibliothèques TomEE
manuelle
Installation Apache manuelle
Paramétrage des mots de passe
Gestion des logs applicatifs
Initialisation des environnements
Création des images à partir d’un exemple
Création des fichiers de configuration
Déploiement
⌚ dizaine de minutes
La phase d’adoption
8
Q1+ 2018 : vers une ouverture généralisée de la plateforme
• Ouverture de la plateforme à tous les projets demandeurs
• 5 applis en cours de migration
• 4 PoCs en cours
• Migration en cours de l’usine logicielle sur OpenShift
• Nouvelle itération sur les processus de build et de déploiement :
• Utilisation des mécanismes natifs d’OpenShift
• Mise en place de templates génériques utilisables pour toute application JEE
• Inclusion d’OpenShift dans un programme DevOps plus large :
• Tests automatisés
• Application Performance Management (Dynatrace)
• Application Release Automation (AO en cours)
• Refonte de l’usine logicielle (Gitlab, Artifactory, Jenkins 2,...)
OpenShift identifié comme socle d’infrastructure de référence de la DSI
Multiplication des projets et ouverture d’esprit
201820172016
Zoom sur le déploiement
Build
DOCKER_BUILD
• APP
• Composant
• Version
• Environnement
Namespace : <APP>-<Env>
BuildConfig : <composant>
Stratégie : Dockerfile
Source : Git dockerfiles
Image :
• From : openshift/tomcat-
custom:42
• To : <APP>-
<Env>/<composant>:latest
ENV :
• groupId
• Component
• Version
• JAVA_OPTS
1. Set env version
2. Start build
Namespace : Openshift
Image : tomcat-custom:42
<GroupID>
<Component>
<Component>-<version>.war
DeploymentConfig :
<composant>
Image : <DOM_APP>-
img/<composant>:latest
ImageStream : <composant>
Image : <composant>:latest
Zoom sur le déploiement
Mise à jour ConfigMaps
UPDATE_CM
• APP
• Composant
• Environnement
• REPO_URL_PROJECT
1. CreateCM.sh
2. CreateSecret.sh
Namespace : <APP>-<Env>
ConfigMap : <composant>.<conf1>
ConfigMap : <composant>.<conf2>
ConfigMap : <composant>.<conf3>
ConfigMap : <composant>.<conf4>
Zoom sur le déploiement
Release
RELEASE
• APP
• Composant
• Version
• Environnement
1. TagImage.sh
2. ExportAll.sh
Namespace : <APP>-<Env> Namespace : <DOM_APP>-img
DeploymentConfig :
<composant>
Image : <APP>-
img/<composant>@sha256:<SHA>
Image : <composant>:<version>
Service : <composant>
Route : <composant>
ConfigMap : <composant>.<conf1>
ConfigMap : <composant>.<conf2>
fr.xyz.<APP>
<Component>
<Component>-<version>-<tag>.zip
ImageStream : <composant>
Image : <composant>:latest
Zoom sur le déploiement
Promotion jusqu’à la prod
Namespace : <APP>-<Env>
Namespace : <APP>-img
DeploymentConfig :
<composant>
Image : <composant>:<version>Service : <composant>
Route : <composant>
ConfigMap : <composant>.<conf1>
ConfigMap : <composant>.<conf2>
fr.xyz.<APP>
<Component>
<Component>-<version>-<tag>.zip
ImageStream : <composant>
Image : <composant>:<version>
<Component>-DC-<Env>.json
<Component>-SVC-<Env>.json
<Component>-ROUTE-<Env>.json
<Component>-CM-<Env>.json
Outil
custom
Perspectives
• La mise en place d’une chaîne de déploiement unique du développement jusqu’à la production
permettra de fluidifier la promotion
• La mise en place de Software Defined Storage permettra à la plateforme de répondre à de plus
larges besoins
• La création de nouveaux templates d’applications permettra d’accélérer encore plus l’adoption
de la plateforme
This is not the end!
Cedric Girard
cedric.girard@devoteam.com
cedricgirard
@xdark@mamot.fr
Devoteam
73, rue Anatole France
92300 Levallois-Perret
Des questions ?
?

Contenu connexe

Devoteam REX OpenShift DevOps - Red Hat Roadshow Paris - avril 2018

  • 1. OpenShift : initiateur de démarche DevOps Red Hat Container & Cloud-Native Roadshow Paris 11 Avril 2018 Auteur : Cédric GIRARD
  • 2. Our positioning and forces on Red Hat technologies +100 professionals including 46 experts certified in EMEA Cloud Build your cloud platform as the solid foundation for your digital business DevOps Accelerate your digital innovation and let you move faster in the cloud Middleware Develop your applications faster, smarter and more flexible. 9 countries including Mexico +50 clients references Red Hat Premier Partner in 5 countries !
  • 3. Présentation du contexte client • Secteur d’activité banque finance • DSI : • 400 collaborateurs • 600 applications • Infrastructure en mode VM • Forte segmentation des entités 3
  • 4. Génèse du projet 4 Q4 2016 : Appel d’offre “PaaS Docker” • 4 sociétés sollicitées • Choix d’OpenShift Container Platform : • Réponse la plus complète par rapport aux fonctionnalités attendues • Pérennité et maturité de la solution • Méthodologie d’implémentation proposée par Red Hat Le choix d’OpenShift 201820172016
  • 5. 2017 : Déploiement de la plateforme et migration d’une application Les résultats rapides (plateforme installée en 15 jours, 1ere appli migrée en 5 mois) ont démontré la valeur de l’approche méthodologique Déploiement de la plateforme 5 • Méthodologie SCRUM-like pour le projet : • Feature-team avec des acteurs des différentes entités de la DSI • Fonctionnement par itérations pour rapidement démontrer de la valeur • Forte visibilité avec organisation de démos tous les 15 jours à la DSI • Transposition des processus existants : • Outils de déploiement différents entre DEV et OPS (Jenkins / Control-M) • Forte segmentation des opérations par entité • OpenShift uniquement en plateforme d’exécution (build fait à l’extérieur) Agile par l’exemple 201820172016 Product Owner Devoteam Architecture Technique Applicative Architecture Infrastructure Amélioration Collaboration Transformation Qualification et Industrialisation des projets Architecture Middleware Equipe dédiée Scrum Master Red Hat Consultant Red Hat Architecte Red Hat
  • 7. Gains apportés par OpenShift 7 Une mise à disposition accélérée de l’infrastructure Avant Après ⌚ plusieurs semaines Etude des besoins Demande de travaux Construction de la machine Livraison de la machine Installation des éléments applicatifs Paramétrage journalisation Paramétrage sauvegarde Paramétrage surveillance Installation JDK manuelle Installation Tomcat manuelle Installation bibliothèques TomEE manuelle Installation Apache manuelle Paramétrage des mots de passe Gestion des logs applicatifs Initialisation des environnements Création des images à partir d’un exemple Création des fichiers de configuration Déploiement ⌚ dizaine de minutes
  • 8. La phase d’adoption 8 Q1+ 2018 : vers une ouverture généralisée de la plateforme • Ouverture de la plateforme à tous les projets demandeurs • 5 applis en cours de migration • 4 PoCs en cours • Migration en cours de l’usine logicielle sur OpenShift • Nouvelle itération sur les processus de build et de déploiement : • Utilisation des mécanismes natifs d’OpenShift • Mise en place de templates génériques utilisables pour toute application JEE • Inclusion d’OpenShift dans un programme DevOps plus large : • Tests automatisés • Application Performance Management (Dynatrace) • Application Release Automation (AO en cours) • Refonte de l’usine logicielle (Gitlab, Artifactory, Jenkins 2,...) OpenShift identifié comme socle d’infrastructure de référence de la DSI Multiplication des projets et ouverture d’esprit 201820172016
  • 9. Zoom sur le déploiement Build DOCKER_BUILD • APP • Composant • Version • Environnement Namespace : <APP>-<Env> BuildConfig : <composant> Stratégie : Dockerfile Source : Git dockerfiles Image : • From : openshift/tomcat- custom:42 • To : <APP>- <Env>/<composant>:latest ENV : • groupId • Component • Version • JAVA_OPTS 1. Set env version 2. Start build Namespace : Openshift Image : tomcat-custom:42 <GroupID> <Component> <Component>-<version>.war DeploymentConfig : <composant> Image : <DOM_APP>- img/<composant>:latest ImageStream : <composant> Image : <composant>:latest
  • 10. Zoom sur le déploiement Mise à jour ConfigMaps UPDATE_CM • APP • Composant • Environnement • REPO_URL_PROJECT 1. CreateCM.sh 2. CreateSecret.sh Namespace : <APP>-<Env> ConfigMap : <composant>.<conf1> ConfigMap : <composant>.<conf2> ConfigMap : <composant>.<conf3> ConfigMap : <composant>.<conf4>
  • 11. Zoom sur le déploiement Release RELEASE • APP • Composant • Version • Environnement 1. TagImage.sh 2. ExportAll.sh Namespace : <APP>-<Env> Namespace : <DOM_APP>-img DeploymentConfig : <composant> Image : <APP>- img/<composant>@sha256:<SHA> Image : <composant>:<version> Service : <composant> Route : <composant> ConfigMap : <composant>.<conf1> ConfigMap : <composant>.<conf2> fr.xyz.<APP> <Component> <Component>-<version>-<tag>.zip ImageStream : <composant> Image : <composant>:latest
  • 12. Zoom sur le déploiement Promotion jusqu’à la prod Namespace : <APP>-<Env> Namespace : <APP>-img DeploymentConfig : <composant> Image : <composant>:<version>Service : <composant> Route : <composant> ConfigMap : <composant>.<conf1> ConfigMap : <composant>.<conf2> fr.xyz.<APP> <Component> <Component>-<version>-<tag>.zip ImageStream : <composant> Image : <composant>:<version> <Component>-DC-<Env>.json <Component>-SVC-<Env>.json <Component>-ROUTE-<Env>.json <Component>-CM-<Env>.json Outil custom
  • 13. Perspectives • La mise en place d’une chaîne de déploiement unique du développement jusqu’à la production permettra de fluidifier la promotion • La mise en place de Software Defined Storage permettra à la plateforme de répondre à de plus larges besoins • La création de nouveaux templates d’applications permettra d’accélérer encore plus l’adoption de la plateforme This is not the end!
  • 14. Cedric Girard cedric.girard@devoteam.com cedricgirard @xdark@mamot.fr Devoteam 73, rue Anatole France 92300 Levallois-Perret Des questions ? ?