xebicon'17 : migration d’une application web vers un paas openshift - akram blouza

25
Migration d’une application web vers un Paas OpenShift Akram BLOUZA @akram-wewe

Upload: xebia-france

Post on 23-Jan-2018

121 views

Category:

Technology


7 download

TRANSCRIPT

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

Migration d’une application web vers un Paas OpenShift

Akram BLOUZA@akram-wewe

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

Texte ici

Plan1) OpenShift ?

2) Pourquoi OpenShift ?

3) Organisation

4) Choix techniques

5) Difficultés rencontrées

6) Demain ?

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

OpenShift ?

➢ OpenShift : Paas permettant de construire, déployer et exécuter des applications dans des conteneurs.

➢ Elle repose sur l’orchestrateur des conteneurs Kubernetes.

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

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

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

Organisation

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

Equipe DevOps

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

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é OpenShiftpour la production

Recette applicative

Sprint 7

Application en production

OpenShift exploité en production

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

Choix techniques

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

Architecture

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

Architecture de l’application avant migration

Application - Front

NTL

M

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

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

Architecture de l’application après migration

BD

WS

ApplicationWeb - batch

Pod 1

Service

Service

Provisionning et lancement à la demande

Batch

PodApplication

Web

Pod 1

Service

Route

ApplicationWeb

Pod 2

Ker

bero

sOutil interne

WS

Pod

Service

Route

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

Sujets traités lors de la migration dans OpenShift

InstallationOpenShift

Création images DockerIC / DCSecretsQuotas et limites RésilienceSupervisionLiveness/ReadinessTraiter les spécificités de l’environnement Configuration Logging

InstallationOpenShift

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

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

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

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

Workflow de déploiement dans OpenShift

OpenShift API

Application

Pod 1

Application

Pod 2

Serv

ice

Rou

te

Namespace DEV

2

checkout

3

depl

oy

4

build & push1

commit

Développeur 5

deploy

schedule

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

Workflow de déploiement dans OpenShift

Application

Pod 1

Application

Pod 2

Serv

ice

Rou

te

Namespace Recette Technique

Application

Pod 1

Application

Pod 2

Serv

ice

Rou

te

Namespace PRE PROD

Application

Pod 1

Application

Pod 2

Serv

ice

Rou

te

Namespace PROD

Application

Pod 1

Application

Pod 2

Serv

ice

Rou

te

Namespace RECETTE FONCTIONNELLE

Application

Pod 1

Application

Pod 2

Serv

ice

Rou

te

Namespace DEV

Namespace preprod-ref

secret

Namespace prod-refsecret

Namespace preprod-ref

secret

DéploymentConfigSecretsImagesRoutesServicesPvc

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

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

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

Difficultés rencontrées

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

▼ 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é.

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

Avant/Après OpenShift ?

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

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

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

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

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

Demain ?

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

▼ Migration de nouvelles applications vers OpenShift.

▼ Continuer à travailler sur les sujets autour de l’écosystème Devops.

▼ Une équipe 100 % OpenShift ?

Demain ?

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

WESCALE

01 85 08 18 [email protected]

156 boulevard Haussmann 75008 Paris

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

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

MERCI.

QUESTIONS ?