demystifying devops video tutorial
Tutoriels vidéo DevOps:
exemples de cas de test dans les tests de logiciels
Dans notre tutoriel précédent, nous avons appris l'impact de DevOps sur les tests d'assurance qualité . Ici, dans ce didacticiel, vous apprendrez tout sur DevOps avec une vidéo incluse.
(Faites défiler vers le bas pour commencer avec la première vidéo de cette série)
Lecture recommandée => Série de formations DevOps
De nos jours, DevOps est le sujet brûlant et le mot à la mode dans l'industrie informatique.
Avec la demande croissante pour les livraisons de logiciels, la méthodologie de livraison des logiciels est en train de changer afin de répondre aux attentes exigeantes des clients.
Ainsi, DevOps est un moyen amélioré et le plus récent de fournir le logiciel aux clients, en particulier pour les solutions basées sur le cloud où les livraisons de logiciels devraient se produire rapidement.
De nombreuses organisations avancées ont déjà commencé à adopter la manière DevOps de fournir des logiciels aux clients. Et beaucoup d'autres sont en train de l'adopter. De plus, de nos jours, la majorité des opportunités informatiques exigent des connaissances DevOps.
Il est donc essentiel que chacun démystifie les «DevOps».
Démystifier DevOps - Tutoriels vidéo
Objectif des didacticiels vidéo de formation DevOps:
- Connaître DevOps pour marcher vers sa mise en œuvre.
- Comprendre comment DevOps apporte des changements dans la façon actuelle de travailler et d'effectuer des livraisons.
- Créer une compréhension de base du concept DevOps.
Teneur:
Il contient,
- Tout sur DevOps.
- Qu'est-ce que la collaboration et comment amener la collaboration entre Dev et Ops?
- Processus clés de DevOps, intégration continue, tests continus et déploiement continu.
- Concepts clés de DevOps, gestion des versions, gestion de la configuration et surveillance des applications.
Principaux enseignements:
- Capable de définir DevOps.
- Pourquoi une organisation a besoin de DevOps?
- Comment démarrer avec DevOps?
- Comment réunir l'équipe de développement et d'exploitation?
Disposition:
- Ce tutoriel complet est structuré en 4 parties, part1, part2, part3 et part4 puis une fermeture ou récapitulation part5.
- Chaque partie est subdivisée en blocs de vidéos plus petites avec l'intention que tout le monde puisse bien comprendre.
- Dans chacune de ces vidéos, il y a un récapitulatif de ce qui a été couvert dans la vidéo précédente et de ce qui va être couvert dans la vidéo suivante.
- La vidéo est très simple, avec un langage simple et des diapositives PowerPoint avec quelques dessins utiles à expliquer si nécessaire.
- Chaque vidéo est indépendante par elle-même pour comprendre son concept et n'a pas besoin de faire référence à d'autres vidéos. Mais il est logique de passer dans l'ordre de la partie 1 à la partie 4 pour une meilleure compréhension du sujet.
Couverture:
Partie 1 : (Ce didacticiel)
Introduction à DevOps. Son historique, sa définition, sa valeur, ses avantages, ses habitudes et ses bonnes pratiques de DevOps.
Partie 2 :
Pratiques DevOps basées sur les principes Agile, l'importance des processus clés comme le contrôle de code source et l'automatisation et la manière dont il est appliqué à DevOps.
Partie 3 :
Détails sur les processus clés de DevOps comme,
- Intégration continue,
- Test continu et
- Déploiement continu.
Partie 4 :
Importance de quelques autres processus clés de DevOps,
- Gestion de la configuration,
- Gestion des versions et
- Surveillance des performances des applications dans Live.
Partie 5 :
Récapitulatif de l'ensemble du cours.
*******************************************
Commençons par le premier didacticiel vidéo de cette série:
Dans cette première partie de la vidéo de ce tutoriel, vous apprendrez,
- Quel est le contexte de DevOps et des pilotes pour introduire cette nouvelle façon de fournir le logiciel?
- Qu'est-ce que DevOps, pourquoi il n'y a pas de définition unique pour définir DevOps? Est-ce une méthode, un processus, une culture?
- Bien que nous ayons compris ce qu'est DevOps, il est essentiel de savoir ce que DevOps n'est pas.
- Les avantages de la mise en œuvre de DevOps dans une organisation.
- Et les différentes pratiques et habitudes de la pratique DevOps.
- Les métriques clés du DevOps.
VIDEO Partie 1: Introduction- 21 minutes 46 secondes
Eh bien, aujourd’hui, je vais parler du sujet «Démystifier le DevOps», qui est un sujet très brûlant dans l’industrie informatique ces jours-ci.
Nous entendons ce mot à la mode très souvent à tous les endroits. De plus, de nos jours, la majorité des opportunités d’emploi dans l’informatique recherchent les connaissances et l’expérience «DevOps» et il est donc très important de les connaître.
Allez!! Comprenons en quoi consiste ce DevOps.
Aperçu
Cette série, «Démystifier DevOps» est répartie en 4 parties, ce qui, à son tour, rendrait le public peu à l'aise pour comprendre chaque partie du DevOps lentement et régulièrement.
À la fin de cette série, je suis sûr que vous serez en mesure de définir ce qu'est DevOps? pourquoi avons-nous besoin de DevOps? quels sont ses avantages? Comment une organisation peut-elle adopter DevOps pour ses engagements? et quel est le rôle du testeur dans l'ensemble de la pratique DevOps?
Alors que la pratique agile accélérait rapidement le processus de développement et que l'équipe logicielle commençait à le livrer aux opérations dans le délai spécifié, le secteur informatique était toujours confronté à des défis pour préparer la production de logiciels et l'ouvrir aux clients.
Les opérations ont vraiment pris beaucoup de temps pour le produire avec beaucoup de va-et-vient entre l'équipe du logiciel et l'équipe des opérations avec la difficulté d'installer le logiciel, de le rendre opérationnel et de gérer la performance.
L'industrie a lentement compris la déconnexion entre le développement et les opérations et l'écart dans la collaboration entre les parties prenantes, en particulier les opérations, les développeurs, les analystes commerciaux et les testeurs pour obtenir le délai d'exécution du logiciel et fournir le logiciel de qualité, ce qui s'est avéré vraiment coûteux. .
Et lentement, cet écart a conduit à l'introduction de la pratique appelée «DevOps» qui s'est développée au-delà de la pratique et des principes agiles qui visaient à fournir un logiciel de qualité. Ou en d’autres termes, «offrir de la valeur aux clients» dans un court laps de temps de manière plus efficace et fournir ce que les clients voulaient réellement.
Qu'est-ce que DevOps?
Maintenant, après avoir compris le contexte de l'introduction de DevOps, il nous devient facile de définir ce qu'est DevOps. En ce qui concerne la définition de DevOps, il n'y a pas de définition standard pour cela. Mais je parie que beaucoup donneront leur propre version des définitions.
Comme nous avons compris le but et l'intention de l'introduction de DevOps, nous pouvons clairement dire que DevOps est une pratique de collaboration claire entre les parties prenantes du développement logiciel, pas seulement les développeurs et les opérations, mais avec le reste de l'équipe, afin de permettre la livraison de la valeur au client plus rapidement et mieux.
Ici, quand je dis le reste de l'équipe, cela comprend les chefs de projet, les analystes d'affaires, les personnes qui rassemblent les exigences, ceux qui maintiennent l'application, les gens du service client etc.,
Devops comble principalement les lacunes qui existaient auparavant en raison du manque de communication et de collaboration et qui à son tour entraînait une mauvaise qualité du logiciel, beaucoup de retard dans les déploiements et des clients insatisfaits également.
Eh bien, DevOps n’est pas seulement la collaboration, mais aussi la combinaison d’un bon ensemble de personnes, d’un bon ensemble de processus et d’un bon ensemble d’outils pour permettre la fourniture continue de «valeur aux clients». Ici, je continue à insister sur le mot «valeur pour les clients» car le seul et ultime objectif de DevOps est de préparer la production de logiciels afin de fournir de la valeur aux clients.
C'est une grande différence et l'aspect clé de DevOps.
Enfin, Devops est une culture qui permet aux gens de se concentrer sur,
- Client
- Livraison à la production,
- Automatisation
- Rétroaction et mesure
Qu'est-ce que DevOps?
Après avoir compris ce qu'est DevOps, il est également préférable de comprendre ce qui n'est pas DevOps, afin d'éviter les confusions.
DevOps n'est pas un outil open source ou sous licence, qui sera disponible sur le marché, de sorte que l'on puisse aller, acheter, installer et utiliser et vous avez tous les résultats disponibles. Il ne s'agit pas non plus d'une spécification standard ou d'un livre de règles permettant de suivre et d'obtenir le résultat souhaité.
comment imprimer un élément d'un tableau en java
Ce n'est pas non plus un ensemble de processus comme ISO, CMMI pour que l'on puisse s'adapter et obtenir la certification.
En plus de la collaboration manquante entre le développement et les opérations, avec les besoins changeants du marché, il y avait beaucoup plus de points douloureux dans la méthode de développement logiciel traditionnelle et même dans la méthodologie agile, qui devait être traitée, et qui est devenue les principaux moteurs. de la pratique DevOps.
Eh bien, la nécessité d'améliorer constamment la qualité et les performances de l'application était la plus importante. L'augmentation des attentes et des demandes des clients et la satisfaction de l'expérience client attendue ont été un véritable défi dans la méthode traditionnelle de développement s / w.
La pression et la concurrence sans cesse croissantes sur le marché pour une libération de plus en plus rapide ont été un autre facteur clé.
Avec la gamme actuelle de prise en charge de plusieurs systèmes d'exploitation et plates-formes, il ne suffit pas de développer le logiciel pour qu'il fonctionne sur une seule plate-forme ou système d'exploitation et, par conséquent, le processus de développement logiciel était nécessaire pour prendre en charge plusieurs plates-formes simultanément.
De plus en plus de logiciels pour accéder aux solutions basées sur le cloud exigeaient des tests continus, un déploiement continu et une automatisation, afin de réduire le temps de cycle.
Augmentation du nombre de programmes, de solutions et d'infrastructures informatiques complexes et complexes pour le déploiement et le support requis à travers les zones géographiques pour les maintenir à travers un défi majeur pour le développement logiciel.
Valeur de DevOps
Après avoir compris les principaux moteurs du DevOps, il devient facile de comprendre la valeur du DevOps qu'il apporte à l'organisation qui le pratique.
DevOps comble principalement le fossé entre les parties prenantes et améliore ainsi la communication et la collaboration tout au long du cycle de vie du développement des applications. DevOps améliore les délais et réduit les délais de livraison des logiciels. Le délai d'exécution est le temps écoulé entre la validation du code et le code livré avec succès à la production.
Donc, dans l'ensemble, DevOps inhibe une culture qui change toute l'organisation et amène leurs employés à se concentrer sur la fourniture de logiciels qui apportent de la valeur aux clients.
En d'autres termes, livrer plus petit, mieux et plus rapidement est le secret total de DevOps.
Avantages de DevOps
Ayant répondu au besoin de l'heure de la demande du marché, la pratique DevOps a fait ses preuves avec l'augmentation de la satisfaction client, ce qui a entraîné une augmentation de la base de clients.
Quels que soient les principaux moteurs de la pratique du DevOps, ils ont été couronnés de succès, comme une amélioration de la qualité et des performances grâce à un processus continu de test et de rétroaction.
L’introduction du principe «automatiser tout», ainsi que la fourniture de l’infrastructure et de la configuration sous forme de code, ont permis de minimiser les erreurs humaines, d’assurer une mise sur le marché plus rapide et d’effectuer des versions plus fréquentes.
Le contrôle de version a permis au logiciel de prendre en charge sur plusieurs plates-formes et des tests précoces et continus ont entraîné des défauts moindres et des taux de défaillance moindres dans la production.
En raison du déploiement continu, il a fallu plus de temps pour résoudre les problèmes et les libérer plus rapidement. Alors évidemment, on peut continuer à ajouter les avantages à la liste.
Pratiques de DevOps
Les ingrédients clés de DevOps sont les meilleures pratiques qui sont mises en œuvre tout au long du cycle de vie du développement des applications, ce qui aide à inculquer la culture requise dans l'équipe et conduit l'équipe à tirer parti des avantages de la mise en œuvre DevOps.
# 1) Gestion de la configuration: Savoir clairement ce que nous déployons, comment nous déployons et quelle configuration va passer en production est la clé de la gestion de la configuration qui est totalement contrôlée par version.
# 2) Gestion des versions : Découper clairement, comment construisons-nous un pipeline de versions et comment les gérer est l'aspect clé de la gestion des versions.
# 3) Intégration continue: Il garantit que chaque validation de code est contrôlée, testée et compilée en version et que la base de code est maintenue propre et nette à tout moment.
# 4) Déploiement continu: Il cible le déploiement du code compilé en continu, du test à l'environnement de production.
L'automatisation des tests est la pratique importante et critique de DevOps qui s'applique tout au long du cycle de vie. Ensuite, fournir une «infrastructure sous forme de code» est l’un des points forts de la pratique DevOps.
Ainsi, plus tard, une fois le code déployé en production, il est essentiel de s'assurer que le logiciel fonctionne correctement, en collectant les données de performance, les erreurs survenues dans le système ainsi que les données d'utilisation de l'utilisateur final via les outils et méthodologies de surveillance des applications. .
Ce sont donc les pratiques incontournables et les plus importantes appliquées et adoptées par l'équipe tout au long du cycle de développement des applications, ce qui leur garantit d'atteindre l'objectif DevOps.
Habitudes de DevOps
Comme le dit Aristote, «Nous le sommes. Ce que nous faisons à plusieurs reprises… L'excellence n'est donc pas un acte mais une habitude.
Alors, je les appelle des «habitudes» parce que nous les pratiquons à plusieurs reprises.
Par conséquent, ces habitudes régulières doivent être développées dans l'équipe sans aucun compromis tout en ayant l'intention de livrer le logiciel de qualité à plusieurs reprises.
# 1) Gestion de la dette technique:
La gestion régulière de la dette technique est l'un des aspects clés, s'il n'est pas fait, il ralentit considérablement la progression du logiciel. Par conséquent, la dette technique doit toujours être réduite et la base de code doit être maintenue aussi propre que possible. La base de code propre facilite le déploiement du code à tout moment.
Comme je l'ai mentionné à plusieurs reprises, se concentrer sur la valeur pour un client est l'état d'esprit de l'équipe et c'est l'aspect culturel clé de DevOps, qui oblige constamment l'équipe à faire tout ce qui est souligné pour apporter de la valeur au client.
Avec cet état d'esprit, les individus pensant que leur travail est terminé et se jetant sur les autres pour aller plus loin seront arrêtés. Et tout le monde commence à penser que le but ultime est de livrer à la production et de ne s'attribuer le mérite que lorsque le client fournit les commentaires ou l'appréciation après avoir utilisé le logiciel dans la production.
Par conséquent, se concentrer sur la valeur pour les clients motive et enrichit l'équipe pour qu'elle fasse de mieux en mieux à chaque fois.
# 2) Développement basé sur des hypothèses :
En plus de bien comprendre les exigences, comprendre ce que fait réellement le client en direct et quel est le modèle d'utilisation d'une fonctionnalité particulière et développer le code en conséquence est un «développement basé sur des hypothèses».
Donc, il est très important de s'engager activement avec les clients dès le début pour comprendre comment ils utilisent le logiciel et s'assurer que les bonnes choses sont développées en premier lieu lui-même et c'est encore une habitude DevOps.
# 3) Mesure du déploiement:
Mesurer en permanence les performances de la livraison et rechercher le retour d'expérience du déploiement est une autre habitude importante qui aide l'équipe à travailler à l'amélioration du logiciel et à apporter de la valeur aux clients.
# 4) Culture du site en direct :
La culture du site en direct consiste à s'imprégner de l'état d'esprit de chacun, à savoir que quoi que nous développions, nous devons le mettre en production sans aucun problème.
C'est la culture de faire comprendre à tout le monde dans l'équipe que `` si ce n'est pas dans le site en direct, il n'est nulle part '' et il n'y a aucun intérêt ni aucun avantage si nous ne pouvons pas le faire en direct et donc nous ne pourrons pas atteindre à nos utilisateurs finaux s'il n'est pas en direct.
# 5) Infrastructure en tant que ressource flexible:
La gestion de l'infrastructure en tant que ressource flexible est un aspect très important de DevOps car, à tout moment, nous devrions être en mesure de nous débarrasser de l'infrastructure existante et d'en créer une nouvelle, c'est parce que nous avons défini notre infrastructure comme un code avec beaucoup de facilité.
Cet aspect de DevOps nous aide à rendre notre logiciel compatible multiplateforme et multi-version.
# 6) Collaboration d'équipe:
À présent, nous savons tous clairement que ce ne sont pas seulement les outils ou les processus qui conduisent le développement logiciel. C’est l’équipe qui doit collaborer entre elles et s’aligner sur l’objectif commercial.
Ainsi, la collaboration d'équipe est l'aspect clé de la culture DevOps qui comble tout écart de compréhension entre eux et le programme.
Par conséquent, ces attitudes, comportements et habitudes sont les principaux aspects fondamentaux de la culture DevOps.
Métriques DevOps
Il est révolu le temps où nous avions l'habitude de rassembler uniquement les mesures traditionnelles liées au développement et aux tests, qui se concentraient uniquement sur le développement et les tests de logiciels en interne. Au fur et à mesure que l'objectif de la livraison a changé, les mesures recueillies ont également été alignées sur la recherche de valeur pour le client.
Bien que les mesures à collecter varient légèrement d’une organisation à l’autre en fonction de la priorité du client, la mesure de l’agilité et de la fiabilité du logiciel est l’objectif principal de DevOps.
Et ces métriques pourraient être mesurées du point de vue de la «valeur pour le client» et elles définissent comment l’équipe se débrouille par rapport à la réalité. Implémentation DevOps.
Fondamentalement, les métriques d'agilité sont de mesurer l'efficacité du développement et la fiabilité est de mesurer l'efficacité des opérations.
# 1) Métriques d'agilité:
Et le nombre de déploiements sur une période donnée.
(je) Nous savons que DevOps consiste à livrer de plus petits morceaux et à livrer rapidement.
Donc, cette métrique d'agilité consiste à vérifier, combien de fois l'équipe a pu effectuer les déploiements et quelle est la fréquence des déploiements.
Le suivant est le «Temps nécessaire pour déployer les modifications»:
(ii) Nous savons également à quelle fréquence les vues des clients changent entraînant des demandes de changement et l'intention de DevOps est de renverser ces changements dans la production au minimum.
Par conséquent, l'aspect suivant des mesures d'agilité consiste à vérifier, quel est le temps nécessaire pour déployer les demandes de changement en production?
# 2) Mesures de fiabilité:
Les métriques de fiabilité consistent à mesurer la fiabilité du logiciel après le déploiement.
Les mesures de fiabilité comprennent,
- Le taux d'échec des versions et
- Il est temps de détecter les problèmes et de les résoudre.
#1) Le taux d'échec des versions est de mesurer, à quelle fréquence échouons-nous par rapport à nos déploiements? Ici, l'objectif est de faire en sorte que, sur une période de temps, cette métrique particulière se mette à zéro et que l'équipe s'habitue à se déployer avec succès à chaque fois et à passer plus souvent en production devient une habitude.
cycle de vie des défauts dans les tests logiciels
#deux) Désormais, le temps de détection et de résolution des problèmes consiste à mesurer le temps nécessaire pour détecter la panne et la résoudre. Cette métrique vise également à vérifier, à quelle vitesse sommes-nous en mesure de comprendre ce qui se passe dans la production, de détecter de manière proactive les problèmes, de les corriger en fournissant la solution de contournement et de l'acheminer vers le cycle de développement en tant que correctif.
Cette métrique se concentre non seulement sur la résolution rapide de la production, mais permet également à l'équipe d'éviter que de tels problèmes ne se produisent à l'avenir en apportant les modifications appropriées que ce soit dans la conception, l'architecture, le pipeline de tests automatisés, etc.
Donc, idéalement, ce sont les métriques qui aident l'équipe à atteindre la culture et la livraison DevOps.
Faisons un bref récapitulatif:
- Qu'est-ce que DevOps?
- Qu'est-ce que DevOps n'est pas?
- Quels sont les avantages de DevOps?
- Quelles sont les pratiques et habitudes DevOps?
- Et quelles sont les métriques clés du DevOps?
Qu'est-ce que DevOps? DevOps est une culture dans l'organisation pour se concentrer sur la création de valeur pour le client grâce à une collaboration constante du développement, des opérations et du reste des parties prenantes.
Qu'est-ce que DevOps? DevOps n'est pas un produit sous licence ou open source, ni une spécification ni une norme.
Quel est l'avantage de DevOps? DevOps apporte une livraison de haute qualité, une livraison plus rapide, des déploiements fréquents, de petits déploiements, moins de taux d'échec en production, etc.,
Quelles sont les pratiques de DevOps? Les pratiques DevOps sont l'intégration continue, l'automatisation des tests, le déploiement continu, l'infrastructure en tant que code, la gestion de la configuration, la gestion des versions et la surveillance des performances des applications.
Quelles sont les habitudes de DevOps? Les habitudes DevOps sont la gestion de la dette technique, l'accent mis sur la création de valeur pour le client, la culture du site en direct, la collaboration d'équipe, la gestion de l'infrastructure en tant que ressource flexible, le développement basé sur des hypothèses et les mesures de la production.
Quelles sont les métriques de DevOps? L'agilité et la fiabilité sont les indicateurs clés de DevOps.
À propos de l'auteur des didacticiels vidéo sur DevOps:
Gayathri Subrahmanyam, membre de l'équipe STH, est une experte en tests de logiciels avec plus d'une décennie et demie d'expérience dans la réalisation de projets de tests de logiciels pour divers clients mondiaux dans divers domaines. Elle a livré des logiciels, a beaucoup travaillé sur les méthodologies de développement de logiciels traditionnelles et agiles (SCRUM, SAFE) et a récemment travaillé sur la méthodologie DevOps.
Dans notre prochain didacticiel vidéo, nous allons apprendre les pratiques DevOps basées sur les principes Agile.
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Tutoriel de test DevOps: quel sera l'impact de DevOps sur les tests d'assurance qualité?
- Tutoriels Eclipse détaillés pour les débutants
- Récapitulatif des didacticiels vidéo DevOps
- Tutoriel DevOps: Le guide ultime de DevOps (plus de 25 tutoriels)
- Tests continus dans DevOps
- Tutoriel AWS CodeCommit pour l'implémentation de DevOps dans le cloud
- Livraison continue dans DevOps
- Tutoriel sur les tests destructifs et les tests non destructifs