Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Afterwork Devops : vision et pratiques

529 views

Published on

Autrefois perçu par les entreprises comme un centre de coûts, l’informatique est dorénavant un atout stratégique. Cette évolution est accompagnée par l’apparition de nouvelles façons de faire censées accélérer ce retour en grâce. Pierre angulaire de ces nouvelles approches, DevOps s’annonce comme clé pour réussir ce changement de paradigme.

Si DevOps peut être présenté comme un ensemble de pratiques qui visent à fluidifier les relations entre les études et les opérations (casser le mur de l’incompréhension), il peut aussi être perçu comme le dernier maillon pour pousser l’agilité jusqu’à la production et ainsi accélérer le time to market, ou encore comme une suite d’outils visant à l’automatisation du provisionning d’environnement et de la chaîne de déploiement.

Il n’est finalement pas si aisé d’appréhender les tenants et les aboutissants de ce mouvement. C’est pourquoi nous vous proposons de clarifier ce sujet avec cet Afterwork qui porte un double objectif :

Proposer une définition de DevOps dans un but d’alignement et de disposer d’une vision partagée.
Se baser sur cette définition pour être capable de faire le tri entre ce qui est DevOps et ce qui ne l’est pas afin de réellement intégrer cette méthodologie dans votre organisation et d’éviter de passer à côté de cette transformation par une approche trop souvent réductrice.


Cet Afterwork sera aussi l’occasion de profiter du retour d’expérience de Kudelski Security avec la participation de Frédéric Thabaret (Head of Software Engineering) pour le point de vue Dev et de Fred Blaise (Head Of Engineering - Infrastructure & Operations) pour celui des Ops.

Published in: Technology
  • Be the first to comment

Afterwork Devops : vision et pratiques

  1. 1. Devops : vision et pratiques AVENUE DU THEATRE 7 > 1005 LAUSANNE > SUISSE > WWW.OCTO.COM 2 mai 2018 - Genève @OCTOSuisse #Afterwork #DevOps
  2. 2. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 2 Simon DENEL Consultant @OCTOSuisse +41 79 756 36 63 sdenel@octo.com Joseph GLORIEUX CEO @OCTOSuisse +41 79 846 83 16 jglorieux@octo.com @jglorieux 2OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
  3. 3. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable OCTO, ACCÉLÉRATEUR DE VOTRE TRANSFORMATION 3OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable DIGITAL TRANSFORMATION Faciliter et Accélérer l’adoption de la culture digitale Business, IT, People Open Tech Trends Lean & Agile Core renaissance Data Driven Company Customer Centric Amplified Human potential Product Innovation 3
  4. 4. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 4 Pourquoi cet évènement? « Je suis DevOps, j’ai déployé Jenkins» « Je suis DevOps, j’ai remplacé mes développeurs et mes Ops par des profils DevOps» « Je suis DevOps, j’ai une infrastructure virtualisée» « Je suis déjà DevOps, les développeurs déploient directement en production» « Je suis DevOps, j’ai déployé l’outil XYZ»
  5. 5. T H E R E I S A B E T T E R W A Y Pourquoi DevOps ? Les douleurs
  6. 6. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Un Time to Market en mois Bill : le BIZ
  7. 7. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Le développement même en Agile reste frustrant Agile development Operations Design architecture Provision infrastructure Deploy application Operate Code Build Test DEV Package
  8. 8. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Les déploiements sont fastidieux et risqués 47% du temps total des activités Ops est consacré au déploiement / à la gestion des incidents
  9. 9. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Organisation : des objectifs différents pour un même projet ! John : l’OPS Bill : le BIZ Dave : le DEV Fournir le plus rapidement possible des services de qualité au client final Obtenir une qualité de service sans faille Contrôler les budgets IT Livrer de nouvelles fonctionnalités Chercher à innover Culture du changement Garantir la stabilité et la sécurité Chercher à rationaliser Culture du service (SLA) Rapidité Stabilité Qualité Coûts Rapidité Qualité Stabilité Coût Le mur de l’incompréhension
  10. 10. T H E R E I S A B E T T E R W A Y Définition 11
  11. 11. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Définition #1 : extension de l’agile jusqu’à la production Agilité des Développements Agilité des Opérations Convergence des processus : DEVOPS èDurée : 2 - 3 semaines 12
  12. 12. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 13 Définition #2 : reconcilier Dev et ops
  13. 13. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 14 Définition #3 : notre vision – Time to Market, excellence opérationnelle et Coopération DevOps est un ensemble de pratiques qui visent à réduire le Time to Market et améliorer la Qualité en optimisant la Coopération* entre les Développeurs et la Production * Coopération : « Le comportement de chacun augmente la performance de l'autre… » Y. Morieux (Senior Partner au BCG ) @ USI 2010
  14. 14. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 15 Les 4 piliers des pratiques DevOps Culture, méthode et organisationConstruction et déploiement continu Architecture & patterns Infrastructure as code Des architectures et patterns répondant aux préoccupations des Devs et des Ops Des outils d’automatisation pour construire et maintenir l’infrastructure par du code Des outils et processus de construction et déploiement continu Une culture, des modèles d’organisation et des méthodes favorisant le dialogue Un ensemble de pratiques qui visent à réduire le TTM/TTR et améliorer la qualité en optimisant la coopération
  15. 15. T H E R E I S A B E T T E R W A Y Patterns et Architectures
  16. 16. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Livrer à moindre risque : découplage applicatif Mettre en production
  17. 17. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Ne pas faire stocker d’informations en mémoire volatile Livrer à moindre risque : applications stateless, services tiers de persistance LoadBalancer LoadBalancer
  18. 18. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Livrer à moindre risque : culte de la mesure et du monitoring Monitoring Création d’un Dashboard Instrumentation Du code 10011 Agrégation Des logs
  19. 19. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Livrer à moindre risque : déploiement progressif FEATURE FLIPPING CANARY RELEASE BLUE/GREEN DEPLOYMENT
  20. 20. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Un pattern peut en cacher un autre ! Architecture share nothingShared Variabilisation des paramètres par environnement Externalisation de la configuration Dark launch Système de trace distribué Pet vs Cattle DESIGN FOR FAILURE Composants scalables
  21. 21. T H E R E I S A B E T T E R W A Y Continuous deployment
  22. 22. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Construction et déploiement continus – C’est quoi? Build Test Release Deploy OperateCodePlan Continuous integration Continuous delivery Continuous deployment L’automatisation du processus logiciel doit emmener le produit jusqu’à son environnement de production
  23. 23. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Construction et déploiement continus – Pourquoi? Plus il est difficile de déployer, plus il faut le faire souvent Source : http://www.slideshare.net/jallspaw/ops-metametrics-the-currency-you-pay-for-change-4608108 24
  24. 24. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 25 Construction et déploiement continus – Comment? Pousser jusqu’au bout la logique de la software factory et de l’automatisation Orchestrateur de Release (ex: Jenkins) Dépôt binaires applications (Nexus) Code source applications (SVN ou GIT) Descripteur d’état de conf. désiré (DSC) (Rôles Ansible dans Git) Dépôts binaires socle (Nexus, RPM repo) Infrastructure as a Service System Configuration (ex : Ansible, Puppet) Tests Unitaires (ex: jUnit) Qualité (SonarQube, Cobertura...) Build (Maven) Cloud privé Cloud Public 1Commit code et tests Commit infra as code et binaires socle DEV OPS Archivage des artefacts applicatifs Déploiement des environnements Provisionnement des infrastructures Déploiement des socles middlewares Déploiement applicatif Déploiement infrastructures Tests automatisés Environnements Env. PRODUCTION Env. TEST / DEMO Env. TEST / DEMO Env. TEST / DEMO Env. TEST / DEMO Env. TEST / DEMO Env. INTEGRATION Env. TEST / DEMO Env. TEST / DEMO Env. RECETTE Env. TEST / DEMO Env. TEST / DEMO Env. PREPROD èIntégration Continue
  25. 25. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable ¤ Les pratiques DevOps s’appuient sur l’approche Software Craftsmanship visant l’amélioration de la qualité logicielle notamment avec la pratiques des tests mais pas seulement*** ¤ Le harnais de test est capital pour construire la relation de confiance entre Dev et Ops ¤ Qui dit test, dit tests automatisés *** code review, collective code ownership, pair programming, dojo, boy scout rule, clean code, TDD, amélioration continue, feedback, mesure… 26 Construction et déploiement continus – Construire la confiance? Des pratiques des développeurs à l’état de l’art
  26. 26. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable ¤ Les changements en production ne sont pas tous fonctionnels ¤ Ces « changements » doivent aussi être éprouvés et de nombreux tests complémentaires peuvent être ajoutés dans le processus logiciel pour accroître la confiance 27 Construction et déploiement continus – Tests complémentaires Un exercice à réaliser ensemble Changement d’architecture Changement de briques technologiques ou simplement de version Accroissement de la charge (plus d’utilisateurs ou évènements ponctuels et saisonniers) Défaillance d’un ou plusieurs composants Tests d’endurance en charge sur la durée (de plusieurs heures à plusieurs jours) Tests de robustesse • Mise en défaut de composants • Remise en service de composants Tests de charge • Scénarios d’injection de comportements utilisateur représentatifs • Aux limites Tests de scalabilité Fuzz Testing Penetration Testing STABILITE ET FIABILITE PERFORMANCE SECURITE
  27. 27. T H E R E I S A B E T T E R W A Y Infra as Code
  28. 28. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Infrastructure as Code (IaC) - Définition Orchestrateur de déploiement d’infrastructure Code décrivant l’infrastructure Infrastructure as a service Private Cloud Public Cloud Décrire sous forme de code exécutable et testable la configuration de l’architecture technique d’infrastructure ¤ Le code contient la description de l’infrastructure attendue ¤ L’orchestrateur de déploiement d’infrastructure convertit le code en actions techniques et les exécute sur un fournisseur d’infrastructure
  29. 29. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Viser l’excellence opérationnelle en automatisant la construction des environnements pour fiabiliser le déploiement et gagner du temps Infrastructure as Code – Objectifs & Paradigmes Etat désiré Seul l’état desiré est décrit, l’outil calcule comment faire pour atteindre l’état Le code est descriptif Idempotence Demander plusieurs fois le même état n’affecte pas le système Répétabilité et reproductibilité Assurer la conformité Audit de la conformité à l’état desire Correction automatique des écarts Software craftsmanship Qualité du code Gestion de version Test unitaire & Code review
  30. 30. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable ¤ Déploiement Applicatif < Déploie les packages applicatifs (EAR, fichiers de config applicatif…) < Câble les ressources applicatives (accès base de données...) pour réaliser un assemblage fonctionnel ¤ Gestion de Configuration < Assure la configuration homogène des ressources issues du IaaS / IaaS++ dans l’optique de construire un système donné < Cable les ressources techniques (VM, routeurs, Proxys…) pour réaliser un assemblage « système » ¤ Infrastructure Agile < Une infrastructure virtualisée qui offre des services de haut niveau capables de livrer en self-service des VM avec OS, des middlewares pré- packagés, des conteneurs 31 Infrastructure as Code – Architecture (1/2) Application Service Build / Deployment System configuration Agile infrastructure (IaaS/PaaS/CaaS)
  31. 31. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 32 Infrastructure as Code – Architecture (2/2) Usine de Développement et de Déploiement (UDD) Infrastructure as code (IaC) Infrastructure as a Service (IaaS) Dépôt binaires applications (Nexus) Code source applications (SVN ou GIT) Descripteur d’état de conf. désiré (DSC) (Recettes Chef dans Git) Inventaire ou CMDB Dépôts binaires socle (Nexus, RPM repo) Catalogue de services d’infra Catalogue de services d’environnements Orchestrateur de Release Cloud privé Cloud Public Cloud Management Platform System Configuration Tests (Fitnesse, jUnit, ...) Qualité (SonarQube, Cobertura...) Build (Maven) API API API API API API
  32. 32. T H E R E I S A B E T T E R W A Y Méthodes Culture Organisation
  33. 33. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 34 D’une organisation orientée projet… ¤ Des équipes projet dissoutes au moment de la MEP ¤ Des équipes production organisées par centre de compétences multi-projets
  34. 34. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 35 A une organisation orientée produit ¤ Des compétences d’exploitation qui remontent dans les équipes produits ¤ Une équipe qui garantit les SLA niveau « infrastructure>
  35. 35. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Zoom sur une équipe produit ¤ A une mission centrée sur un unique produit ¤ Idéalement 5-12 personnes colocalisées, dédiées ¤ Gère son produit (son backlog) de bout en bout : < Idée < Design < Développement < Déploiement < Maintenance < Support ¤ Adapte son processus de réalisation ¤ Intègre la mesure dans chacune de ses réalisations ¤ Livre fréquemment un logiciel opérationnel Coach Agile Ergonome Product Owner Tech Lead Devs Testeur Equipe Stakeholders Product Manager Designer Ops Equipe étendue Mobilisée à temps partiel Securité
  36. 36. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Objectif : redistribution des rôles Exploitable Deployable Application Infrastructure Infrastructure operation Développement applicative Déploiement Standardized Infrastructure Capacité / SLA Self-service Elasticité Pay as you Go Déploiement Infrastructure as code « You build it, you run it » Culture Agile Application DevOps Infra DevOps Interface unifiée : API
  37. 37. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 38 Sécurité et qualité intégrés dans le processus de développement OCTO TECHNOLOGY > THERE IS A BETTER WAY 38 ¤ Consulting qualité et sécurité au plus tôt pour sensibiliser les développeurs ¤ Sécurité et qualité ne se prouvent pas par des rapports mais par des tests automatisés
  38. 38. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 39 Culture : en continuité avec l’Agile ¤ Amélioration continue ¤ Confiance ¤ Sécurité psychologique ¤ Remise en valeur du Craftsmanship ¤ Rituels : ¤ Standups ¤ Vis ma vie ¤ Rétrospective ¤ Pair programming
  39. 39. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Méthodes : collaboration Dev vers Ops et Ops vers Dev • Référentiel d’artifacts • Outils d’intégration continue • Faciliter / Automatiser les déploiements • Autonomiser les équipes de « dev » (notamment, déploiements anté-prod) • Faciliter le diagnostic • Intéresser les « dev » aux problèmes des « ops » • Accès aux logs et reporting de production • Outils de supervision Dev Ops
  40. 40. T H E R E I S A B E T T E R W A Y Conclusion
  41. 41. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 42 Les 4 piliers des pratiques DevOps Culture, méthode et organisationConstruction et déploiement continu Architecture & patterns Infrastructure as code Des architectures et patterns répondant aux préoccupations des Devs et des Ops Des outils d’automatisation pour construire et maintenir l’infrastructure par du code Des outils et processus de construction et déploiement continu Une culture, des modèles d’organisation et des méthodes favorisant le dialogue Un ensemble de pratiques qui visent à réduire le TTM/TTR et améliorer la qualité logicielle en optimisant la coopération
  42. 42. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 43 Retour d’expérience
  43. 43. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable DevOps fait partie d’un plus grand tout – l’orientation produit ¤ Ou en êtes-vous concernant : < L’agilité < Les pratiques de software craftsmanship < Le management produit < La culture managériale et d’entreprise è Pour vraiment profiter des promesses de DevOps, certains de ces sujets peuvent être considérés comme des pré-requis 44
  44. 44. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable 45 Comment y aller ?
  45. 45. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable NOUS CONTACTER info@octo.ch 46 Coaching DevOps Etat des lieux DevOps Training DevOps Tooling & practices Bootstrapping + + + + + + + + + + + + + + + + + + “The two most important assets of a company cannot be seen in its balance sheet: its reputation and its people” Henry Ford 46OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
  46. 46. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable Ø DevOps : fondamentaux et retours d’expérience Ø Docker au service du CaaS et du PaaS : découverte et prise en main Ø Kubernetes : utiliser, architecturer et administrer une plateforme de conteneurs Ø Automatiser la gestion de serveurs avec Ansible Ø Déployer une infrastructure IaaS Open Source avec Terraform Ø Découvrir un IaaS Open Source et manipuler ces APIs avec OpenStack Ø Software craftsmanship pour les Ops Ø Nos formations AWS… Consulting & Transformation Training Program myUSI Conferences 47OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable
  47. 47. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable En juin : Notre prochain afterwork DevOps et microservice ¤ Le terme microservice est célèbre depuis longtemps maintenant. Si beaucoup de compagnies se sont lancées, peu ont réussi à obtenir un bon retour sur investissement. ¤ Cet afterwork vous aidera à évaluer les contextes dans lesquels ce changement d'architecture peut être pertinent. ¤ Nous exposerons aussi les ingrédients nécessaires à la réussite d'une telle transition. Save the date!!
  48. 48. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable DevOps 8 présentations Des retours d’expérience C’EST ARRIVÉ PRÈS DE CHEZ VOUS Un après-midi pour apprendre et partager Genève, le 9 octobre 2018, de 13h à 19h Des solutions pratiques LES PLACES SONT LIMITÉES, INSCRIVEZ-VOUS !
  49. 49. OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable LA CONFÉRENCE VOUS A PLU ? Nos équipes sont là pour récupérer votre questionnaire de satisfaction à la sortie ! OCTO TECHNOLOGY > THERE IS A BETTER WAY 5050OCTO © 2018 - Reproduction interdite sans autorisation écrite préalable

×