Industrialisation du déploiement d'applications et de socles techniques 3 février 2011 Thierry Delacroix Cédric Andry José Poscente
Sommaire! Notre approche de l'industrialisation! Retours d expériences clients! Démarche type d industrialisation! L outillage! Conclusion 2
Sommaire! Notre approche de l'industrialisation! Retours d expériences clients! Démarche type d industrialisation! L outillage! Conclusion 3
>> Notre approche de l'industrialisation Pourquoi industrialiser les déploiements?! Une application doit pouvoir être déployée et se redéployer facilement, rapidement, de manière reproductible et maîtrisée Industrialisation du déploiement applicatif! Le système sous-jacent doit pouvoir être reconstruit si nécessaire, rapidement, à l identique, de manière contrôlée Industrialisation du socle technique Socle applicatif Progiciels / Applications spécifiques Portail CRM ERP E-Commerce Socle technique Serveur Authentification Annuaire Serveur Web Serveur J2EE ESB MOM VM ETL SGBD Système d exploitation 4
>> Notre approche de l'industrialisation Enjeux de l industrialisation Disponibilité : Retour à un système stable à travers le pilotage centralisé et des outils permettant la réinstallation en un temps limité Exploitabilité : Simplification de la mise en œuvre et homogénéisation des procédures (maîtrise des processus) et des tâches des exploitants (diminution des opérations manuelles) Robustesse : Contrôle du système et automatisation des opérations Maintenabilité & évolutivité : Rapidité du déploiement d une nouvelle version (corrective ou évolutive) ; Intégration verticale ou horizontale de nouveaux serveurs Modèle d exigences des systèmes critiques, issu du référentiel européen (CEN* Workshop Agreement) : Best Practices for the Design and Development of Critical Information Systems (*) CEN : European Committee for Standardization Comité Européen de Normalisation Europäisches Komitee für Normung 5
Mais aussi! Standardisation, capitalisation Utiliser les mêmes processus et les mêmes livrables quelque soient les environnements (du dév à la prod en passant par l homologation technique)! Réactivité, efficacité, fiabilité Augmenter la réactivité pour la mise en exploitation en simplifiant les procédures et en coordonnant le déploiement ð réduction du délai de déploiement ("Time To Market")! Homogénéisation, reproductibilité Homogénéiser les procédures d installation et pouvoir les reproduire de manière unique! Traçabilité Savoir ce qui est fait et à quel moment! Pilotage Mettre à disposition des outils permettant de piloter de manière centralisée! Sécurité Sécuriser le déploiement des applications en créant des profils adaptés en fonction de l environnement! Etc >> Notre approche de l'industrialisation 6
>> Notre approche de l industrialisation Périmètre de l industrialisation au sens large Assemblage/ Intégration/ Packaging Tests et recettes Contrôle des livrables en amont pour contrôler le packaging Déploiements applicatifs Pilotage applicatifs Intégration continue Gestion des applicatifs Développement : Templating, génération de code automatique Fabrication des composants techniques Qualification des composants techniques Déploiements socles techniques Pilotage / Ordonnancement socles techniques Outils de dévelopement Qualification des livrables Gestion des socles techniques Dépendances applicatives et de packages, contrôle des sources Gestion de configuration logicielle Gestion de configuration Configuration des environnements / CMDB Gestion de configuration technique è L industrialisation : à la charnière entre Etudes et Production 7
>> Notre approche de l'industrialisation Niveaux de maturité dans l industrialisation! Niveau 5 : Amélioration continue, rationalisation du système, amélioration de la qualité de service Industrialisation des outils d industrialisation Optimisation Niveau 4 : Industrialisation levier stratégique pour l entreprise Gestion du changement, Modélisation du SI Maîtrisé Niveau 3 : Gestion de configuration (CMDB), Pilotage étendu, généralisation des déploiements aux socles techniques, métrologie applicative Défini Niveau 2 : Déploiement centralisé, outils de gestion des incidents et des problèmes Métrologie technique Réalisé Niveau 1 : Certains processus gérés et reproductibles : déploiement applicatif Intégration des problématiques de sécurité Incomplet Niveau 0 : Absence d industrialisation Processus d intégration et d exploitation imprévisibles et mal contrôlés car manuels Inexistant è L industrialisation ne se focalise pas uniquement sur l automatisation des déploiements ; elle simplifie également les processus de gestion du changement technique et applicatif. è L approche n est pas centrée sur les équipes de production et d exploitation ; elle implique également les équipes de développement (packaging) et d intégration (livrable). 8
>> Notre approche de l industrialisation L industrialisation implique tous les niveaux de l organisation IT Production informatique interne ou externalisée Stratégie QoS DSI Cahier des charges Chantier d industrialisation - Conduite du changement DPI DPI / / DT DT Spécif. packaging Contrat de services Infogérant Définition des processus et outillages Responsables Responsables de de service de service service Indicateurs Mise en œuvre Opérationnels Opérationnels Opérationnels 9
Sommaire! Notre approche de l'industrialisation! Retours d expériences clients! Démarche type d industrialisation! L outillage! Conclusion 10
Maturité progressive du marché et capitalisation sur notre expérience! 4 exemples Déploiement du socle technique >> Retours d expériences clients Monoapplication Site leader du e-commerce 2009-2010 Autre grande banque 2006-2011 Ensemble du SI Administration en ligne 2004-2007 Grande banque 2009-2010 Déploiement applicatif 11
>> Retours d expériences clients Ministères (Administration en ligne) : Contexte technologique!! Installation et déploiement automatique de la configuration des serveurs Apache, de l applicatif JEE et des bases de données Applications JEE Socle applicatif Java Jrockit 1.5.0 Open LDAP 2.2.13 Apache 2.0.x / mod_jk 1.2.x JOnAS 4.8.6 / JBoss 3.2.5 BXSS 3.0 RPM PHP 4.x Lirbrairie FreeImage Oracle 10g Outils de déploiement packages applicatif Réf. conf Linux Red Hat AS 4 / AIX 5.3 / HP-UX 11i Espace de pilotage (sh / urpmi) ssh / http 12
>> Retours d expériences clients Ministères (Administration en ligne) : Résultats obtenus Amélioration continue, rationalisation du système, Niveau 5 : amélioration de la qualité de service Industrialisation des outils d industrialisation Industrialisation levier stratégique pour l entreprise Niveau 4 : Gestion du changement, Modélisation du SI Gestion de configuration (CMDB), Pilotage étendu, généralisation Niveau 3 : des déploiements aux socles techniques, métrologie applicative Optimisation Maîtrisé Défini Déploiement centralisé, outils de gestion des incidents et des problèmes Niveau 2 : Métrologie technique Cadastre Certains processus gérés et reproductibles : déploiement applicatif Niveau 1 : Intégration des problématiques de sécurité Absence d industrialisation Niveau 0 : Processus d intégration et d exploitation imprévisibles et mal contrôlés car manuels Déploiement applicatif sur 35 serveurs 4h installation et préparation de la plate-forme (applicatif) 5 min déploiement de l applicatif Réalisé Incomplet Inexistant Système Immatriculation des Véhicules Déploiement applicatif sur 75 serveurs 1 journée installation et préparation de la plate-forme (applicatif + base de données + authentification) 10 min déploiement de l applicatif Démarche en ligne Déploiement applicatif sur 90 serveurs 4h installation et préparation de la plate-forme (applicatif) 10 min déploiement de l applicatif 13
>> Retours d expériences clients Une grande banque française : Uniformisation et industrialisation du processus de livraison des applications J2EE du SI!! Contexte Technologique Outils de déploiement Packages Ref. conf Amélioration continue, rationalisation du système, Niveau 5 : amélioration de la qualité de service Industrialisation des outils d industrialisation Industrialisation levier stratégique pour l entreprise Niveau 4 : Gestion du changement, Modélisation du SI Gestion de configuration (CMDB), Pilotage étendu, généralisation Niveau 3 : des déploiements aux socles techniques, métrologie applicative Optimisation Maîtrisé Défini Applications PHP/JEE Espace de pilotage (wsadmin / ksh) Déploiement centralisé, outils de gestion des incidents et des problèmes Niveau 2 : Métrologie technique Certains processus gérés et reproductibles : déploiement applicatif Niveau 1 : Intégration des problématiques de sécurité Absence d industrialisation Niveau 0 : Processus d intégration et d exploitation imprévisibles et mal contrôlés car manuels Réalisé Incomplet Inexistant Java 1.5.0 IHS 6.1 WebSphere AS 6.1 PHP 5.x Oracle 10g MySQL ssh / http DSI DPI DPI // DT DT AIX 6.1 Responsables Responsables de de service de service Opérationnels Opérationnels! Analyse des processus existants ð plan d amélioration! Évaluation des niveaux de maturité organisationnel et processus! Spécifications, conception puis réalisation d un outil de mise en recette et production! Schéma directeur, bonnes pratiques, méthodologie 14
Site leader du e-commerce : Industrialisation du processus de livraison des applications J2EE du SI! Contexte Technologique Applications JEE Outils de déploiement Packages Ref. conf >> Retours d expériences clients Niveau 0 : Niveau 1 : Niveau 3 : Niveau 4 : Niveau 5 : Amélioration continue, rationalisation du système, amélioration de la qualité de service Industrialisation des outils d industrialisation Industrialisation levier stratégique pour l entreprise Gestion du changement, Modélisation du SI Gestion de configuration (CMDB), Pilotage étendu, généralisation des déploiements aux socles techniques, métrologie applicative Déploiement centralisé, outils de gestion des incidents et des problèmes Niveau 2 : Métrologie technique Certains processus gérés et reproductibles : déploiement applicatif Intégration des problématiques de sécurité Absence d industrialisation Processus d intégration et d exploitation imprévisibles et mal contrôlés car manuels Optimisation Maîtrisé Défini Réalisé Incomplet Inexistant Liferay Drupal Espace de pilotage (wlst / ksh) Java Hotspot 1.5.0 Apache 2.0.x Tomcat 6.0 WebLogic 10 Oracle 10g MySQL ssh / http DSI DPI DPI // DT DT Red Hat AS 5.4 / SUN Solaris 10 Responsables Responsables de de service de service Opérationnels Opérationnels! Dans le cadre du programme de refonte du site web, mise en place d une cellule d industrialisation Préconisation sur le choix du serveur d application suivant, notamment, des critères d industrialisation Etude des solutions du marché vs. solutions home made Homogénéisation des normes et processus d exploitation 15
>> Retours d expériences clients Une autre grande banque française : Systématisation de l industrialisation des processus de déploiement!! Contexte Technologique Outils de déploiement Packages xml Applications JEE Progiciels Amélioration continue, rationalisation du système, Niveau 5 : amélioration de la qualité de service Industrialisation des outils d industrialisation Industrialisation levier stratégique pour l entreprise Niveau 4 : Gestion du changement, Modélisation du SI Optimisation Maîtrisé Websphere Portal Jahia Espace de pilotage (ksh / jython / java) ssh / http Gestion de configuration (CMDB), Pilotage étendu, généralisation Niveau 3 : des déploiements aux socles techniques, métrologie applicative Déploiement centralisé, outils de gestion des incidents et des problèmes Niveau 2 : Métrologie technique Certains processus gérés et reproductibles : déploiement applicatif Niveau 1 : Intégration des problématiques de sécurité Absence d industrialisation Niveau 0 : Processus d intégration et d exploitation imprévisibles et mal contrôlés car manuels Défini Réalisé Incomplet Inexistant Java 1.5.0 IHS 6.1 / 7.0 WebSphere AS 6.X / 7.0 Policy Server / Webseal 6.x ITDS 6.2 / JSDS PHP 5.2 Oracle 10g / DB2 / Sybase 15.5 DSI DPI DPI // DT DT Responsables Responsables de de service de service AIX 6.1 / Solaris 10 Opérationnels Opérationnels! Solution d industrialisation aboutie et généralisée à tout le SI (technique et applicatif) sur un parc équivalent de 3000 serveurs: Socle technique: installation personnalisée et automatique des composants Socle applicatif: déploiement de manière unique des applications bancaires (~ 300) à l aide d outillages 16
Sommaire! Notre approche de l'industrialisation! Retours d expériences clients! Démarche type d industrialisation! L outillage! Conclusion 17
>> Démarche type d industrialisation Une démarche à plusieurs niveaux Stratégie Sponsoring du chantier Top Down DSI DPI DPI // DT DT Responsables Responsables de de service de service Bottom Up Paliers successifs de progrès Industrialisation périmètre pilote PROLOGISM accompagne ses clients dans cette démarche à différents niveaux : ð Adaptation au contexte ð Mise en œuvre Exemples : Elaboration feuille de route Industrialisation Définition architecture et procédures Coordination Cellule industrialisation - Pilotage Opérationnels "Quick-win s" Choix et implémentation outils d indus Réalisation au forfait 18
! Analyser l existant Identifier les procédures Recenser les besoins Démarche type d industrialisation du déploiement! Evangéliser Diffuser et partager l information entre les équipes développement, intégration et exploitation Faire accepter l industrialisation par les équipes en expliquant les enjeux (sensibiliser les équipes de développement à l exploitabilité d une application, et inversement expliquer les contraintes de développement compte tenu du choix des outils)! Normaliser Homogénéiser les processus Normaliser les packages et formaliser leur cycle de vie! Outiller Accompagner le choix d une solution pour : o la construction d un socle technique o l industrialisation d'une boîte à outils de déploiement permettant d'installer de manière automatique les packages applicatifs sur toutes les plates-formes o la mise à disposition d outillage de pilotage et de mesure prédictive! Accompagner le changement Mettre en œuvre les bonnes pratiques : o favoriser l intégration continue et maîtriser l industrialisation des composants en sortie des développements pour réduire les tâches d intégration o rendre les intégrateurs proactifs (force de proposition) o rendre les exploitants autonomes >> Démarche type d industrialisation è Pour emporter l adhésion des différents acteurs, nous recommandons la création d une «Cellule d Industrialisation» 19
Sommaire! Notre approche de l'industrialisation! Retours d expériences clients! Démarche type d industrialisation! L outillage! Conclusion 20
>> L outillage L outillage, au cœur de l industrialisation!! Solutions "home made" Outils "sur mesure" è Généralement mieux acceptées è Nécessitent un réel effort de développement et d accompagnement! Solutions open source Puppet, cfengine, Spacewalk, synctool, è Adressent majoritairement la partie technique è Souvent les fondations d une solution "home made"! Outils des éditeurs du marché XebiaLabs DeployIT - BMC Application Release Manager - Nolio ASAP - Serena Release Management - IBM WebSphere Virtual Enterprise - Etc. è Dépendance vis-à-vis de l éditeur (environnements, coût, évolutivité, formation) è Conduite du changement à mener importante avant de pouvoir migrer vers un fonctionnement complètement outillé è Problématique de la gouvernance à adapter au contexte de l entreprise 21
>> L outillage Solutions "home made" vs. Produits du marché!! Il n existe pas de solution universelle! Le bon choix est fonction du contexte technique, économique, humain, organisationnel, et de critères stratégiques Solutions home made Produits du marché délai de mise en œuvre - + adaptation au contexte + - dépendance vis-à-vis d un tiers + - coûts / support + - maintenabilité + ++ facteur humain ++ - interaction utilisateur - + intégration aux développements - + traçabilité - + 22
Sommaire! Notre approche de l'industrialisation! Retours d expériences clients! Démarche type d industrialisation! L outillage! Conclusion 23
>> Conclusion Conclusion! L industrialisation fournit les moyens pour : Installer l infrastructure de manière automatisée et gérer tous les environnements de la même façon (procédures identiques) Fournir aux métiers des moyens pour déployer l'ensemble des applications de manière unique et reproductible en réduisant les délais ("time to market") Mettre à disposition des exploitants des outils permettant la maîtrise de la production informatique en passant d un mode curatif à un mode pro-actif! L industrialisation adresse un spectre large de l organisation : Elle présente un intérêt tant pour les équipes de production et d exploitation que pour les équipes de développement (packaging) et d intégration (livrable). Elle doit être pensée de manière globale en prenant en compte la spécificité de chaque entreprise 24