+33 1 58 13 89 89 contact@poesi.fr

Le déploiement continu

Qu'est-ce que la livraison continue ?

La livraison continue, aussi appelé Continuous Delivery, permet de délivrer plus vite et à moindre coût, pour saisir rapidement l’ensemble des opportunités business et répondre au mieux aux attentes du marché.

Rencontrez-vous ces problématiques pour vos déploiements ?

point exclamation
  • Vous mobilisez beaucoup de ressources, parfois en astreintes le soir et le week-end.
  • Vous n’avez aucune certitude sur le succès d’un déploiement
  • Vous subissez des pressions du projet pour avoir un créneau de mise en production.
  • Vous maîtrisez difficilement vos retours arrière en cas d’incident.
  • Vous gérez manuellement X versions de procédures de déploiement différentes par application ou par environnement.
  • Vous maintenez difficilement vos scripts de déploiement, écrits dans divers langages selon les compétences des ingénieurs de production et rien n’est vraiment documenté.
  • Vous  exécutez les déploiements manuellement, ils sont vecteurs d’incidents.

Grâce à quelques bonnes pratiques, des procédures de déploiement standardisées et surtout des outils, le déploiement automatisé répond à ces problématiques, que vous livrez sur site ou dans le Cloud.

Quels sont les possibilités ?

 

Les possibilités du déploiement automatique sont nombreuses et dépendent essentiellement de vos besoins et contraintes. Ce sont les outils qui s’adaptent à votre architecture, à vos procédures et à vos ressources et non l’inverse.

 

conseil2

Voici une liste non exhaustive des possibilités:

  • Automatiser facilement les déploiements complexes (Exemple: JBoss+ Oracle + WebMethod + DataStage)
  • Déployer automatiquement une release sur une ou plusieurs technologies (Exemple: Jboss, DataStage, WebMethod, …).
  • Garantir que vos procédures de retours arrières fonctionnent.
  • Planifier un déploiement sans mobiliser de ressources.
  • Gérer le déploiement multi environnement avec des variables
  • Versionner tous vos packages.
  • Paralléliser les déploiements pour gagner du temps.
  • Déployer sans arrêt de service.
  • Composer vos plans de déploiement simplement et rapidement.
  • Déployer sur des architectures distribuées et mainframe de manière orchestrée.
  • Gérer la gestion de vos releases de l’intégration à la production dans un outil commun

Quels sont les avantages ?

La mise en place d’un processus de livraison répétable, fiable et rapide permet de bénéficier d’une très nette amélioration de la qualité et diminue le stress des équipes. Les ressources sont déchargées des tâches répétitives et manuelles de déploiement et peuvent se concentrer sur des tâches à plus forte valeur ajoutée.

succes d un projet déploiement application

Vous bénéficiez également:

  • D’une baisse des coûts de livraison
    Vous n’avez plus besoin de mobiliser beaucoup de ressources le week-end, les équipes n’interviennent qu’en support en cas d’incidents ou d’échec de déploiement.
  • D’une amélioration de la disponibilité de vos applications
    Vous maîtrisez parfaitement vos déploiements, vous n’avez plus à gérer de crise, vous rencontrez moins d’incidents et le retour arrière automatique peut être exécuté pour relancer rapidement la production.
  • De plus de souplesse ou de mobilité en cas de changement d’infrastructure
    Vos procédures et vos environnements sont standardisés
  • D’une livraison plus rapide des correctifs en préservant la sécurité de la production.
  • D’une totale maîtrise de vos déploiements.

Conseil & Audit

Audit Déploiement automatisé

Notre métier de consultant consiste à comprendre les problématiques de nos clients et les aider à relever leurs défis au travers de nos expériences.

La démarche conseil de POESI consiste à dresser un bilan de maturité du niveau d’industrialisation et de définir les axes d’amélioration apportant le plus de valeurs.

Nous utilisons la créativité et l’expérience de nos consultants en s’appuyant sur la technologie pour transformer vos idées en valeur.

Intégration des outils d'automatisation

integration devops

Un projet d’intégration d’automatisation des déploiements applicatifs demandent de nombreuses compétences et savoir-faire. Il ne s’agit pas de simplement intégrer un produit mais bien de concevoir une solution qui correspond entièrement à votre besoin.

Dès le début du projet nous constituons une équipe composé de membres des études et de la production afin de définir un processus de livraison commun et qui répond aux exigences de chacun.

C’est en travaillant en équipe dans une démarche DevOps que nous garantissons le succès de votre projet.

Nos partenaires

Amélioration continue

Amélioration continue devops

Pour s’améliorer, il faut changer. Donc, pour être parfait, il faut avoir changé souvent. Winston Churchill

Parce que l’entreprise et les technologies évoluent, la réussite d’un projet d’intégration n’est pas une fin en soi. Au contraire, le projet n’est que la toute première étape sur le chemin permettant de faire entrer la DSI dans une démarche Continuous Delivery pérenne.

La démarche POESI consiste à mesurer, monitorer, interviewer pour déterminer des axes d’amélioration.

Une solution de Continuous Delivery implémenté chez un de nos clients Assurance

La solution est composée de trois outils qui permettent de suivre un déploiement applicatif tout au long de son cycle de vie.

Elle permet :

  • D’automatiser le processus de « Continuous Delivery »
  • De rendre répétable tout déploiement d’application et quel que soit la technologie
  • De faciliter la collaboration entre les développeurs et les opérationnelles
  • D’établir des standards, des normes et des protocoles pour assurer la gouvernance et maitriser les coûts
  • D’afficher une série d’indicateurs et de rapports personnalisables en fonction des besoins de chacun.

Présentation de la solution

Architecture Devops

L’automate :

L’automate permet de construire un processus technique générique de déploiement par technologie ou par application. C’est lui qui va exécuter les lignes de commande sur les serveurs.

Le coffre-fort de release :

Le coffre-fort de release garanti que le package qui a été déployé en recette est le même que celui qui va être déployé en pré-production et en production. C’est un gestionnaire de source, il a pour rôle de versionner et de déposer les packages sur les serveurs distants.

L’interface de pilotage :

L’interface de pilotage représente le cœur de la solution de « Continuous Delivery »  puisqu’elle est le pool unique de communication entre les Dev et les Ops. Dans cette interface, les Devs réalisent une demande déploiement et conçoivent un plan de déploiement qui sera ensuite validé, complété et exécuté par les Ops. Le plan déploiement représente l’ensemble des actions à réaliser pour vérifier, tester et déployer une application sur les différents environnements.

L’interface pilote le coffre-fort de release et l’automate par des appels de webservices. L’utilisateur final n’a qu’un seul outil de déploiement, ce qui permet de s’exonérer de tout coût de formation sur des outils spécifiques.

Les interconnexions possibles

  • L’interface de pilotage est interconnectée avec la CMDB et les RFC pour une meilleure cohérence des données avec le SI. Elle permet également de faciliter la saisie de la demande de déploiement des Devs.
  • L’automate est interconnecté avec les outils de supervision afin de les désactiver au moment du déploiement et de les réactiver une fois le déploiement terminé. Il est également interconnecté avec des outils de performances afin de réaliser les premières mesures et tester l’accessibilité de l’application.

Le plan de déploiement :

Chaque application, chaque technologie nécessite des phases de backup, de test, de préparation, de déploiement et de retour arrière tout au long de son cycle de vie. Ce plan peut également varier d’une application à l’autre, d’une technologie à l’autre.

Prenons un exemple :

Je souhaite déployer l’application Pets en production. Pour cela, je dois suivre le cycle de mise en production normal, c’est-à-dire « Recette », « Mise en production », « Production ». La release est composée d’un war Jboss, d’un script SQL et d’un batch DataStage. Les processus de déploiement serait :

  1. Le développeur réalise une demande de déploiement et planifie ces dates de mise en recette, pré-production, production
  2. Il dépose le package dans un répertoire partagé qui est automatiquement inséré dans le coffre-fort de release
  3. Il réalise le plan de déploiement suivant :
    • 1 – Sauvegarde l’application Jboss et vérification du package
    • 2 – Sauvegarde de la base de données et vérification du package
    • 3- Sauvegarde partiel du projet DataStage et vérification du package
    • 4 – Stop des intances Jboss
    • 5 – Exécution du script SQL
    • 6  – Déploiement du War
    • 7 – Démarrage des instances Jboss
    • 8 – Déploiement du projet Datastage
  4. Les intégrateurs valide le plan
  5. Les intégrateurs exécutent par un simple clic le déploiement en recette, puis les études et l’intégration valident le déploiement et la release
  6. La même chose pour la pré-production
  7. La même chose pour la production

Le retour arrière

En cas d’anomalie, le retour arrière est exécuté par un simple clic dans l’interface de pilotage.

Le plan de retour arrière est défini automatiquement par l’outil, dans ce cas il serait :

  • 1 – Stop des intances Jboss
  • 2 – Exécution du script SQL de retour arrière
  • 6  – Déploiement du War de backup
  • 7 – Démarrage des instances Jboss
  • 8 – Déploiement du projet Datastage de backup

Une action = un processus technique

Derrière chaque action de ce plan se trouve un processus complet de déploiement dans l’automate.

Par exemple, l’action « Déploiement du projet DataStage » est en réalité un ensemble d’actions techniques habituellement réalisées manuellement par les opérationnelles comme :

  • Vérification de l’espace disque, disponibilité des instances
  • Transfert du package
  • Import du projet
  • Compilation des batchs

Les avantages d’une telle architecture

La complexité de déploiement est supporté pas l’outil, un déploiement applicatif complexe peut être exécuté par un simple clic

  • Il y a un seul outil de déploiement commun aux développeurs et opérationnelles quel que soit la technologie
  • La sécurité est améliorée, l’outil n’oubliera jamais de réaliser des actions, de tester le contenu du package ou de vérifier le socle
  • Le plan de retour arrière est systématique
  • L’action de déploiement devient simple, l’opérationnelle peut se concentrer sur des tâches à plus hautes valeurs ajoutées comme la performance, la supervision …
  • Il y a nullement besoin d’être expert pour déployer une application, une seule personne peut déployer une application sur plusieurs technologies, l’expertise technique intervient uniquement en support niveau 2 en cas d’éventuel problème

Pour nous contacter

contactez-nous

Votre prénom et nom (obligatoire)

Votre email (obligatoire)

Sujet

Votre message