Comment faire

Comment l’automatisation est-elle appliquée dans la pratique DevOps

Automatisation dans DevOps :

Dans le dernier tutoriel, nous avons appris l’importance du contrôle de source dans DevOps. Ici, dans ce tutoriel, nous allons en apprendre davantage sur l’automatisation dans DevOps.

L’automatisation est le besoin ultime de la pratique DevOps et « Tout automatiser » est le principe clé de DevOps. Dans DevOps, l’automatisation commence à partir de la génération de code sur la machine des développeurs jusqu’à ce que le code soit poussé vers le code et même après cela pour surveiller l’application et le système en production.

Lecture suggérée => Série de didacticiels informatifs sur le DevOps

L’ensemble du pipeline DevOps contenant l’intégration continue, les tests continus et le déploiement continu, y compris la surveillance des performances des applications en direct, est automatisé.

L’automatisation de l’installation et des configurations de l’infrastructure et du déploiement du logiciel est le point culminant de la pratique DevOps. La pratique DevOps dépend fortement de l’automatisation pour effectuer des livraisons sur une période de quelques heures et effectuer des livraisons fréquentes sur toutes les plateformes.

Ainsi, l’automatisation dans DevOps favorise la vitesse, une plus grande précision, cohérence, fiabilité et augmente le nombre de livraisons. En fin de compte, l’automatisation dans DevOps encapsule tout, de la création, du déploiement et de la surveillance.

VIDEO Partie 2 Bloc 3 : Automatisation DevOps – 16 minutes 40 secondes

Laissez-nous comprendre l’importance de l’automatisation dans la pratique DevOps en détail dans ce didacticiel.

Ici, nous discuterons :

  • Comment l’automatisation est-elle appliquée dans la pratique DevOps ?
  • Besoin et rôle de l’automatisation ?
  • Quoi automatiser ?
  • Outils et framework, tests continus ?
  • J’ai un peu peur de parler d’automatisation. Parce que, combien je parle d’automatisation, selon moi, ce n’est jamais complet du tout.

    Inutile de dire que l’automatisation consiste simplement à s’éloigner des tâches manuelles. Les gens veulent réduire leur implication dans les tâches de routine banales et utiliser leur temps et leur intelligence dans quelque chose de nouveau ou d’innovant.

    Cela dit, le rôle de l’automatisation dans DevOps est très important et crucial pour fournir de la valeur au client en continu.

    Répondons ensemble à la manière dont l’automatisation est appliquée dans la pratique DevOps et à ce qu’il faut automatiser, car ces deux questions reçoivent une réponse commune.

    Quoi automatiser ?

    Je ne pense pas que beaucoup d’explications soient nécessaires pour répondre à cette question à l’ère de l’automatisation. Partout où nous allons, nous voyons des choses qui sont automatisées, avec une intervention humaine minimale ou sans aucune intervention humaine. Ainsi, DevOps n’est pas une exception à cela.

    Dans une méthode de développement de logiciel traditionnelle, c’était uniquement l’équipe de développement et ses activités qui étaient automatisées, en particulier les tests. Auparavant, l’automatisation signifiait tester et automatiser les cas de test, cela aussi uniquement les cas de test fonctionnels, mais pas même les tests non fonctionnels comme les performances et la sécurité.

    Et aucune des autres activités, en particulier les activités opérationnelles, n’était automatisée. Échec du déploiement manuel sur un énorme cluster qui impliquait 8 serveurs et la perte qu’il a occasionné est un très bon Exemple de complexité impliqués dans les déploiements et il explique clairement le besoin d’automatisation pour les activités Devops.

    J’ai moi-même constaté que des organisations embauchaient des personnes hautement qualifiées et intelligentes en payant un salaire énorme, pour configurer les réseaux et les environnements, ce qui était le cas auparavant en fonction de leur intelligence, de leurs connaissances dans le domaine respectif, de leur expérience et de leur expertise, ce qui était un travail manuel complet.

    La configuration manuelle est toujours sujette aux erreurs, comme tout le monde le sait. Ce qui se passait généralement dans le cas d’une configuration manuelle, c’est que, sur une période de temps, après avoir fait le même travail encore et encore, ces personnes intelligentes, les configurateurs de réseau utilisent pour s’ennuyer de ces activités et finissent par commettre des erreurs en raison de à la négligence.

    Vous savez qu’ils sont très brillants et que ces activités seront très simples et inintéressantes pour eux et qu’ils ont besoin de nouveaux défis chaque jour, et non de cette tâche ennuyeuse.

    Ainsi, l’introduction de l’automatisation pour l’installation du logiciel et le contrôle de la version de la partie infrastructure est devenue un gain énorme et a réduit de nombreuses erreurs humaines en plus de gagner du temps et de permettre à tout homme ordinaire de le faire, éliminant ainsi la dépendance vis-à-vis des travailleurs qualifiés.

    De plus, en parcourant les processus si un nouvel environnement doit être mis en place, comme augmenter le ticket pour la mise en place d’un nouvel environnement, l’équipe informatique travaillant par derrière pour le configurer, tous ces tracas sont supprimés.

    Ainsi, les membres individuels de l’équipe sont habilités à effectuer les tâches. Imaginez la vitesse, la fiabilité et la cohérence obtenues par l’automatisation. Ainsi, l’automatisation a terriblement augmenté, le nombre de livraisons à la production.

    Alors maintenant, dans la pratique DevOps, l’équipe des opérations a également commencé à automatiser tous ses travaux, ce qui est devenu la clé du succès de DevOps.

    En fait, dans la pratique DevOps, l’automatisation commence à partir de la génération de code sur la machine des développeurs jusqu’à ce que le code soit mis en production et même après cela dans la surveillance de l’application en direct. Il s’agit d’un cycle DevOps typique.

    L’équipe de développement et d’exploitation vérifie le code et les configurations d’environnement dans le contrôle de source, à partir duquel l’automatisation démarre pour déclencher la construction, exécuter des cas de test unitaires et d’autres qualités de code de base, des cas de test de couverture, des cas de test liés à la sécurité, etc.

    Une fois le code terminé, le code est automatiquement compilé, stocké dans le contrôle de version et automatiquement déployé sur les autres environnements pour des tests supplémentaires et finalement vers la version de production.

    Nous pouvons voir l’automatisation s’effectuer à chaque phase du développement à partir du déclenchement de la construction, de la réalisation des tests unitaires, de l’empaquetage, du déploiement dans les environnements spécifiés, de la réalisation des tests de vérification de la construction, des tests de fumée, des cas de test d’acceptation et enfin du déploiement jusqu’à l’environnement de production final.

    Même quand on dit automatisation des cas de test, il ne s’agit pas seulement des tests unitaires mais des tests d’installation, des tests d’intégration, des tests d’expérience utilisateur, des tests d’interface utilisateur, etc.

    DevOps oblige l’équipe d’exploitation, en plus des activités de développement, à automatiser toutes leurs activités, comme l’approvisionnement des serveurs, la configuration des serveurs, la configuration des réseaux, la configuration des pare-feu, la surveillance de l’application dans le système de production.

    Par conséquent, pour répondre à ce qu’il faut automatiser, il s’agit du déclencheur de construction, de la compilation et de la construction, du déploiement ou de l’installation, de l’automatisation de l’infrastructure configurée en tant que script codé, des configurations d’environnement en tant que script codé, inutile de mentionner les tests, la surveillance des performances de vie post-déploiement dans la vie, surveillance des journaux, surveillance des alertes, diffusion des notifications en direct et obtention d’alertes en direct en cas d’erreurs et d’avertissements, etc.,

    En fin de compte, automatiser tous les documents liés au projet.

    Donc, je peux dire que l’automatisation dans le langage DevOps signifie, l’intégration continue, les tests continus, le déploiement continu et la livraison continue. Nous étudierons chacun d’eux en détail dans les prochaines parties.

    Dans l’ensemble, DevOps permet chaque activité de développement et d’exploitation, dans la mesure du possible, celle qui est automatisable, celle qui est reproductible, où la précision est requise, celle qui prend du temps est automatisée.

    Néanmoins, si l’on ne mentionne pas les outils à utiliser pour l’automatisation, la discussion sur l’automatisation est incomplète.

    Ainsi, la sélection d’un cadre et d’un outil d’automatisation appropriés est l’exigence clé pour l’automatisation dans DevOps.

    Il existe de nombreux outils disponibles sur le marché, à la fois open source et sous licence, qui prennent en charge l’automatisation de bout en bout de l’ensemble du pipeline de livraison, y compris les activités effectuées par l’équipe d’exploitation, les machines d’approvisionnement, les serveurs automatisés en rotation, la configuration des réseaux, les pare-feu, et même surveiller les performances du logiciel.

    De plus, certaines organisations ont développé leur propre cadre afin d’intégrer le processus de bout en bout de DevOps qui commence de la validation du code au déploiement du code, y compris la documentation qui est un outil intégré unique et l’équipe n’a pas à sortir du cadre pour quoi que ce soit en rapport. pour programmer, qu’il s’agisse de contrôle de version, d’écriture de cas de test, de révision, de vidage des résultats de cas de test, d’analyse, etc.,

    Par exemple: marionnette, Azure Resource Manager, chef etc.,

    Avantages de l’automatisation dans DevOps

    Nous avons vu des versions antérieures, en l’absence d’automatisation prenant des années pour entrer dans la production et aussi récemment avec agile, que ce soit lean, scrum ou safe, et avec un pourcentage d’automatisation amélioré, les délais de publication sont ramenés à quelques mois ou semaines.

    Mais l’automatisation est absolument indispensable afin de rendre les sorties aussi rapides que possible en quelques heures. Donc, je pense qu’il est impossible de faire des versions aussi rapides et fréquentes à moins de mettre en place une automatisation tout au long du pipeline.

    Donc, bien évidemment, si nous voulons atteindre les objectifs de DevOps, de haute qualité et de valeur délivrée aux clients via des livraisons fréquentes et rapides, tout automatiser est un must.

    De toute évidence, nous savons maintenant que l’automatisation supprime les erreurs manuelles, la dépendance à l’égard d’un individu, fonctionne plus rapidement et atteint la précision, obtenant ainsi cohérence et fiabilité. Par conséquent, tout automatiser permet l’objectif de devops d’une livraison de haute qualité, permet des versions fréquentes et plus rapides.

    En un mot, l’automatisation,

  • Supprime les erreurs manuelles
  • Les membres de l’équipe sont habilités
  • Dépendance supprimée
  • Latence supprimée
  • Augmente le nombre de livraisons
  • Réduit le délai
  • Augmente la fréquence des sorties
  • Fournit une rétroaction plus rapide
  • Permet la vitesse, la fiabilité et la cohérence
  • Donc, en bref, l’automatisation dans DevOps encapsule en fin de compte tout, de la création, du déploiement et de la surveillance.

    PRÉC Tutoriel | SUIVANT Tutoriel

    Back to top button