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

Le DevOps n'est pas ce que vous croyez

Le DevOps n'est pas ce que vous croyez

Redécouvrons ensemble ce qu’est le DevOps: une culture et non un métier! Durant cette présentation, nous explorerons différentes solutions pour sa mise en place ainsi que les modèles d’équipes. Nous regarderons en détails les métiers reliés à cette culture: développeur, SRE, Ops, SecOps. Le tout agrémenté d'exemples réels d'implémentation par des entreprises d'ici et d'ailleurs. Vous verrez, c'est applicable quelque soit la taille de votre entreprise et la maturité de vos équipes de développement !

Julien Maitrehenry

November 09, 2022
Tweet

More Decks by Julien Maitrehenry

Other Decks in Technology

Transcript

  1. Le DevOps n’est pas ce que vous pensez ! Image

    par Kharnagy, https://commons.wikimedia.org/wiki/File:Devops-toolchain.svg
  2. Julien Maitrehenry Qui suis-je? Dev, Ops, Cloud Architect, mentor Cofondateur

    @Kumojin Microsoft MVP Azure Docker Captain Kumojin.com jmaitrehenry.ca Github.com/jmaitrehenry Linkedin/in/jmaitrehenry
  3. Qu’est-ce que le DevOps ? Comment le mettre en place

    ? Les métiers reliés à DevOps AGENDA
  4. 1993 TINA-C définit un modèle combinant développement et services télécom

    2009 Naissance du DevOpsDay 2016 Métriques DORA (rendement et stabilité) 2022 DevOps is dead? Un peu d’histoire
  5. Qu’est-ce que Git? QU’EST-CE QUE le DevOps ? Méthodologie ayant

    pour objectif : - Accélérer la livraison logicielle - Améliorer la qualité logicielle - Augmenter la valeur livrée à l’utilisateur final
  6. • Casser les silos • Aligner les métiers autour d’un

    objectif commun : Culture Apporter au client le plus de valeur ajoutée possible, le plus rapidement possible
  7. • Toutes activités à faible valeur ajoutée doivent être automatisées

    • Test • Build • Déploiement • Et plus Automatisation • Éviter les erreurs humaines • Améliorer la productivité et la performance • Fluidifier la livraison du produit au client
  8. • Éliminer les gaspillages • Favoriser l’apprentissage • Repousser les

    décisions le plus tard possible • Livrer rapidement • Responsabiliser l’équipe • Construire un produit de qualité • Améliorer / Optimiser le système dans son ensemble Lean Software Development
  9. • Comment s’améliorer sans mesurer ? • Comment savoir l’état

    actuel sans mesurer ? • Quoi mesurer ? Métriques • Les mesures doivent être en lien avec les objectifs : • Métier • Technique • Les mesures peuvent changer dans le temps
  10. • Partage de connaissance • Transparence • Prendre en compte

    : • Les remarques • Les opinions • Les réussites • Les échecs • Les difficultés Sharing / Partager • Confiance dans l’équipe • Culture autorisant et encourageant le partage • Incluant ce qui ne fonctionne pas
  11. • Faire des itérations courtes • Découper votre problème •

    Redéfinir le problème après chaque itération • Si la solution règle partiellement le problème, est-ce toujours le plus douloureux ? Conseil
  12. Étapes à mettre en place Dev Validation Production • Review

    de code par les pairs • Tests automatisés • Linter • Automatisation des mises à jour des dépendances
  13. Étapes à mettre en place Dev Validation Production • Mise

    en place d’un environnement de staging • Déploiement automatisé dans l’environnement
  14. Étapes à mettre en place Dev Validation Production • Instrumentation

    de l’application • Avoir des alertes basées sur l’instrumentation • Déploiement automatisé dans l’environnement • Rollback automatisé en cas de problème
  15. Étapes à mettre en place Dev Validation Production • Rendre

    responsable le développeur de sa tâche => De la conception à la mise en production • L’équipe qui ajoute des fonctionnalités doit les supporter une fois livré => Pas d’équipe produit et d’équipe de maintenance
  16. • Constat : C’est trop lent pour déployer une version

    • Solutions : On va mettre en place du Déploiement Continu Dev QC Approbation Déploiement 10 jours 3 jours 5 jours 1 jour Þ Constat : L’étape d’approbation est très longue, pourquoi ? Þ Solutions : Travailler pour tenter de réduire l’attente Exemple de cas
  17. • Constat : C’est trop lent pour déployer une version

    • Solutions : On va mettre en place du Déploiement Continu Dev QC Déploiement 10 jours 5 jours 1 jour Þ Constat : L’étape de QC est très longue, pourquoi ? Þ Solutions : Automatiser des tâches de QC pour réduire le temps humain Exemple de cas
  18. • Constat : Nos clients remontent les bugs avant nos

    équipes • Hypothèses : • Est-ce que l’application est bien instrumentée ? • Logs, alertes ? • Est-ce que l’application est bien testée avant d’être déployée ? • Environnement de test • Tests automatisés • Review de code Exemple de cas
  19. • Développeur • Ops / Administrateur Système • Software Reliability

    Eng. (SRE) • Security (DevSecOps) • Cloud Eng. • Platform Eng. Métiers reliés à DevOps