Pr. Sara Qassimi Introduction aux fondements et principes clés Section 1 : Expl

Pr. Sara Qassimi Introduction aux fondements et principes clés Section 1 : Exploration de la culture DevOps • Exploration de la culture DevOps: • Le CBOK • Petite histoire DevOps • Qu’est-ce que le DevOps? • La valeur apportée par le DevOps • L’importance du DevOps 2 CBOK (Collective Body of Knowledge) • Le DevOps émerge a travers un ensemble de connaissance partagées et collectives • Les valeurs fondamentales du DevOps, c'est le partage. • le partage et l'entraide sont à la base de toute la culture DevOps. • L'ensemble des acteurs DevOps appartiennent à un mouvement de partage sur la culture et les outils, les méthodes, les retours d'expérience. 3 4 CBOK (Collective Body of Knowledge) October 18-20, 2022 5 CBOK (Collective Body of Knowledge) 6 CBOK (Collective Body of Knowledge) Les acteurs pour les certifications et les communautés DevOps. 7 Le schéma de certification DevOps comprend actuellement 8 certifications distinctes : Aspects techniques et méthodologiques 8 CBOK (Collective Body of Knowledge) Les acteurs pour les certifications et les communautés DevOps. Son contenu Il est plutôt orienté commercial et à destination de la formation plutôt méthodologique de l'accompagnement des entreprises qui voudront faire une transformation DevOps de ces équipes 9 CBOK (Collective Body of Knowledge) 10 Petite histoire DevOps • Enormément de temps a discuter avec les groupes de développeurs et les groupes d'administrateurs réseaux (appelés Ops). • Il doit échanger avec les développeurs pour comprendre quels tests doivent être effectués sur le service. • Il doit également échanger avec les Ops pour comprendre comment accéder aux machines qui hébergent ces services. • Contraste entre la manière de travailler des développeurs (Dev) et la manière de travailler des opérationnels (Ops). -Projet de migration de Datacenter - Chargée de la réalisation des tests sur ce projet Planning Development Testing Quality Assurance Infrastructure Mgt Security & Compilance Database Admin Network Technician Consultant pour le gouvernement Belge 11 Petite histoire DevOps • L'équipe de développement Dev travaille sur le code qui est ensuite envoyé à l'équipe de test pour être validé par rapport aux exigences. • L'équipe d'exploitation Ops intervient vers la fin du processus, au moment de la remise de la version. 12 Petite histoire DevOps 13 Petite histoire DevOps 14 Qu’est-ce que le DevOps? Soit l’entreprise nommée « Company » La viabilité et le succès dépend largement de sa capacité à pouvoir proposer à ses clients de nouveaux produits et services innovants, et ce plus vite que ses concurrents. Alice Bob 15 Qu’est-ce que le DevOps? 16 Qu’est-ce que le DevOps? • Bob n'est pas capable de pouvoir mettre à disposition des clients le code qu'il a créé rapidement. • L'environnement de production est parfois un peu différent de l'environnement de développement dans lequel le code a été créé. • Occasionner des erreurs ou de problèmes de compatibilité qui n'avaient pas été analysés au préalable. Un grand retard pour que le nouveau code de Bob soit déployé en production. 17 Qu’est-ce que le DevOps? 18 Qu’est-ce que le DevOps? Alice doit s'occuper du diagnostic des problèmes qui sont apparus par la mise en place des nouveaux produits de Bob. Les développements de Bob provoquent des bugs qu'elle doit traiter en plus de tous les autres problèmes qu'elle peut avoir. Alice ne sait pas ce que fait Bob. Bob ne sait pas ce que fait Alice. Frustration ! 19 Qu’est-ce que le DevOps? 20 Qu’est-ce que le DevOps? 21 Qu’est-ce que le DevOps? 22 Qu’est-ce que le DevOps? Dans la communauté DevOps, parler d’« ingénieur DevOps » n’est pas toujours allé de soi. Pour faire une analogie, on ne parle pas d’un « Ingénieur Agile », mais plutôt d’un ingénieur logiciel capable de mettre en œuvre des méthodes Agile. Pareil pour le DevOps; Beaucoup de professionnels se disent ainsi « DevOps» lorsqu’on leur demande leur métier. 23 Qu’est-ce que le DevOps? 24 Qu’est-ce que le DevOps? 25 Qu’est-ce que le DevOps? 26 Qu’est-ce que le DevOps? 27 Qu’est-ce que le DevOps? 28 Qu’est-ce que le DevOps? La valeur apportée par le DevOps 29 La valeur apportée par le DevOps 30 La valeur apportée par le DevOps 31 La valeur apportée par le DevOps 32 Le DevOps s'appuie dessus pour réussir à atteindre ses objectifs mais ne se limite pas à l'automatisation. 33 L’importance du DevOps Pipeline • Il y a un goulet d'étranglement entre les développeurs et les opérationnels qui empêchent les développeurs de pouvoir mettre en production tout ce qu'ils ont produit. • Puisqu'ils doivent attendre que les opérationnels ( qui sont soumis à des process beaucoup plus rigoureux et à des impératifs de production) puissent leur mettre à disposition les machines dont ils vont avoir besoin. L’importance du DevOps 34 https://cloud.google.com/blog/products/devops-sre/the-2019-accelerate-state-of-devops-elite-performance-productivity- and-scaling 35 L’importance du DevOps Section 2 : Les pratiques aux fondamentaux du DevOps • Les principes fondamentaux du DevOps: • Comprendre et expliquer ce qu’est le ‘three Way’ de Gene Kim • Définir le ‘First Way’ et la notion de flux • Comprendre l’importance du feedback dans le ‘Second Way’ • Expérimenter et continuer d’apprendre grâce au ‘Third Way’ • Maitriser les concepts d’Ingénierie du Chaos avec Netflix 36 ‘Three Way’ de Gene Kim 37 ‘Three Way’ de Gene Kim 38 ‘Three Way’ de Gene Kim 39 40 ‘Three Way’ de Gene Kim 41 ‘Three Way’ de Gene Kim 42 ‘Three Way’ de Gene Kim 43 ‘Three Way’ de Gene Kim 44 ‘Three Way’ de Gene Kim 45 Les concepts d’Ingénierie du Chaos avec Netflix Les concepts d’Ingénierie du Chaos avec Netflix 46 https://netflix.github.io/chaosmonkey/ Chaos Monkey est chargé de mettre fin de manière aléatoire aux instances en production afin de s'assurer que les ingénieurs mettent en œuvre leurs services pour qu'ils soient résilients aux défaillances des instances. 47 Les concepts d’Ingénierie du Chaos avec Netflix github.com/Netflix/SimianArmy 48 Les concepts d’Ingénierie du Chaos avec Netflix 49 Section 3 : Les pratiques techniques du DevOps • Les pratiques techniques du DevOps: • Comment les tests automatiques sont-ils mis en œuvre dans les équipes DevOps? • Qu’est-ce que l’intégration continue? • Le Continuous Delivery au service d’un service toujours opérationnel et utilisable par les clients 50 51 Le Continuous Testing 52 Le Continuous Testing 53 Le Continuous Testing 54 Le Continuous Testing 55 L’Intégration Continue 56 L’Intégration Continue 57 L’Intégration Continue Si les tests ont échoué, le serveur CI va préciser quels sont les tests qui ont raté pour que le développeur puisse rectifier son code et faire en sorte que les tests fonctionnent correctement par la suite. 58 L’Intégration Continue Les constantes en majuscules, pas de caractères blancs, documentations à chaque fonction, etc. 59 Continuous Delivery 60 Continuous Delivery 61 Continuous Delivery Quality Assurance (QA): Le rôle dans DevOps est de vérifier que le produit aligne les exigences techniques avec les objectifs de l'entreprise. Récapitulation 62 Un ensemble de pratiques qui vise à fournir des logiciels de qualité supérieure en intégrant les processus entre les équipes de développement et d'exploitation (development and the operations teams). Development & Operations 63 Continous Development Le développement continu regroupe la planification et le codage. La portée du projet est déterminée pendant la planification et les développeurs construisent le code. 64 Continous Development Continuous Testing Le développement continu regroupe la planification et le codage. La portée du projet est déterminée pendant la planification et les développeurs construisent le code. Les tests continus sont la phase au cours de laquelle l'application est rigoureusement testée pour détecter les bugs. Les conteneurs Docker simulent l'environnement de test dans le cadre d'un test continu. Jenkins participe à l'automatisation de la procédure de test. 65 Continous Development Continuous Testing Continuous Integration Le développement continu regroupe la planification et le codage. La portée du projet est déterminée pendant la planification et les développeurs construisent le code. Les tests continus sont la phase au cours de laquelle l'application est rigoureusement testée pour détecter les bugs. L'intégration continue est une phase essentielle de DevOps, qui traite du développement de logiciels. Des modifications fréquentes sont apportées au code source. Le code existant est assemblé de manière continue et transparente « Commit» avec le nouveau code. Git GitHub GitLab 66 Continous Development Continuous Testing Continuous Integration Continuous Deployment Le développement continu regroupe la planification et le codage. La portée du projet est déterminée pendant la planification et les développeurs construisent le code. Les tests continus sont la phase au cours de laquelle l'application est rigoureusement testée pour détecter les bugs. Le code existant est assemblé de manière continue et transparente « Commit» avec le nouveau code. Le déploiement continu signifie que le code mis en œuvre (implemented code) est correctement déployé sur tous les serveurs de production. Le nouveau code est déployé en permanence, et des outils de configuration sont nécessaires pour le gérer efficacement. La conteneurisation joue un rôle essentiel dans le processus de déploiement. 67 Continous Development Continuous Testing Continuous Integration Continuous Deployment Continous Monitoring Le développement continu regroupe la planification et le codage. La portée du projet est déterminée pendant la planification et les développeurs construisent le code. Les tests continus uploads/Societe et culture/ intro-devops.pdf

  • 30
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager