Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Migration d'une application web vers un PaaS Op...

Avatar for WeScale WeScale
December 04, 2017

Migration d'une application web vers un PaaS OpenShift par Akram Blouza

Présentation d'un retour d'expérience sur OpenShift à la XebiCon 2017

Avatar for WeScale

WeScale

December 04, 2017
Tweet

More Decks by WeScale

Other Decks in Technology

Transcript

  1. Texte ici Plan 1) OpenShift ? 2) Pourquoi OpenShift ?

    3) Organisation 4) Choix techniques 5) Difficultés rencontrées 6) Demain ?
  2. OpenShift ? ➢ OpenShift : Paas permettant de construire, déployer

    et exécuter des applications dans des conteneurs. ➢ Elle repose sur l’orchestrateur des conteneurs Kubernetes.
  3. Pourquoi OpenShift ? Meilleure efficacité du SI Meilleure sécurité des

    données Augmenter 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
  4. 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
  5. 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 ajp Http Http Batch 1 Batch 2 Batch 3 jdbc http
  6. 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
  7. Sujets traités lors de la migration dans OpenShift 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 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. ▼ 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é.
  13. 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
  14. 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
  15. ▼ Migration de nouvelles applications vers OpenShift. ▼ Continuer à

    travailler sur les sujets autour de l’écosystème Devops. ▼ Une équipe 100 % OpenShift ? Demain ?
  16. WESCALE 01 85 08 18 81 [email protected] 156 boulevard Haussmann

    75008 Paris www.wescale.fr | blog.wescale.fr | @YesWeScale