devops automation how is automation applied devops practice
Automatisation dans DevOps:
Dans le dernier tutoriel, nous avons appris l'importance de Contrôle de code source dans DevOps . Ici, dans ce didacticiel, nous allons en apprendre davantage sur l'automatisation dans DevOps.
L'automatisation est le besoin ultime de la pratique DevOps et «Automatiser tout» est le principe clé de DevOps. Dans DevOps, l'automatisation démarre à 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 DevOps informatifs
L'ensemble du pipeline DevOps contenant une intégration continue, des tests continus et un déploiement continu, y compris la surveillance des performances des applications en direct, est automatisé.
L'automatisation de la mise en place et des configurations de l'infrastructure et du déploiement de logiciels est le point fort de la pratique DevOps. La pratique DevOps est fortement dépendante 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 englobe tout, de la construction, du déploiement et de la surveillance.
VIDEO Partie 2 Bloc 3: Automatisation DevOps- 16 minutes 40 secondes
Expliquons en détail l'importance de l'automatisation dans la pratique DevOps dans ce didacticiel.
Ici, nous discuterons:
- Comment l'automatisation est-elle appliquée dans la pratique DevOps?
- Besoin et rôle de l'automatisation?
- Que 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 s'éloigne simplement 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 apporter de la valeur au client en permanence.
Répondons ensemble, comment l'automatisation est appliquée dans la pratique DevOps et ce qu'il faut automatiser, car ces deux questions sont traitées ensemble.
Que 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 nulle. Donc, DevOps ne fait pas exception à cette règle.
Dans une méthode de développement de logiciel traditionnelle, c'était juste l'équipe de développement et ses activités qui étaient automatisées, en particulier les tests. Auparavant, l'automatisation signifiait tester et automatiser des cas de test, cela aussi seulement des cas de test fonctionnels mais pas même des 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 provoquée est un très bon Exemple de complexité impliquée dans les déploiements et explique clairement le besoin d'automatisation des activités Devops.
meilleur téléchargeur youtube gratuit pour pc
Je me suis vu que les organisations embauchaient des personnes hautement qualifiées et intelligentes en payant un énorme salaire, pour configurer les réseaux et les environnements, ce qui était autrefois basé sur leur intelligence, leurs connaissances dans le domaine respectif, leur expérience et 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 en cas de configuration manuelle, c'est que, sur une période de temps, après avoir fait à plusieurs reprises le même travail encore et encore, ces personnes intelligentes, les configurateurs de réseau utilisent pour s'ennuyer de ces activités et finir par commettre des erreurs dues à la négligence.
Vous savez qu'ils sont très brillants et que ces activités seront très simples et sans intérêt pour eux et 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 version de la partie infrastructure est devenue un énorme gain et a réduit beaucoup d'erreurs humaines en plus de gagner du temps et permet à tout homme ordinaire de le faire, supprimant ainsi la dépendance à l'égard des travailleurs qualifiés.
En outre, courir autour des processus si un nouvel environnement doit être mis en place, comme augmenter le ticket pour la configuration 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é l'automatisation dans tous ses travaux, ce qui est devenu la clé du succès de DevOps.
En fait, dans la pratique DevOps, l'automatisation démarre à partir de la génération de code sur la machine des développeurs jusqu'à ce que le code soit sorti 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 des opérations vérifie le code et les configurations de l'environnement jusqu'au contrôle de code source, à partir duquel l'automatisation intervient pour déclencher la construction, exécuter des cas de test unitaires et d'autres qualité de code de base, des cas de test de couverture, des cas de test liés à la sécurité, etc.
Une fois que le code est terminé, le code est automatiquement compilé, stocké dans le contrôle de version et est automatiquement déployé sur les environnements supplémentaires pour des tests supplémentaires et finalement vers la version de production.
Nous pouvons voir l'automatisation effectuée à chaque phase du développement à partir du déclenchement de la construction, de la réalisation de tests unitaires, de l'empaquetage, du déploiement sur les environnements spécifiés, de la réalisation de tests de vérification de construction, de tests de fumée, de cas de test d'acceptation et enfin du déploiement. sur l'environnement de production final.
Même lorsque nous parlons d'automatisation des cas de test, ce ne sont pas seulement les tests unitaires, mais les tests d'installation, les tests d'intégration, les tests d'expérience utilisateur, les tests d'interface utilisateur, etc.
DevOps oblige l'équipe d'exploitation, en plus des activités de développement, à automatiser toutes ses 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 de déclencheur de construction, de compilation et de construction, de déploiement ou d'installation, d'automatisation de l'infrastructure mise en place sous forme de script codé, de configurations d'environnement sous forme de script codé, inutile de mentionner les tests, le suivi des performances de vie après le déploiement dans la vie, enregistre la surveillance, surveille les alertes, pousse les notifications en direct et reçoit des 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 toutes les activités de développement et d'exploitation, dans la mesure du possible, selon ce qui est automatisable, selon ce qui est répétable, partout où la précision est exigée, ce qui prend du temps est automatisé.
Néanmoins, si nous ne mentionnons 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 la condition clé de 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 Ops, 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.
En outre, 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 de code au déploiement de code, y compris la documentation qui est un seul outil intégré et l'équipe n'a pas à sortir du cadre pour tout ce qui est lié 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.,
java passe le tableau à la méthode par valeur
Par exemple: marionnette, gestionnaire de ressources Azure, 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 pour rendre les versions aussi rapides que possible en quelques heures. Donc, je pense qu'il est impossible de faire des versions aussi rapides et fréquentes sans mettre en place une automatisation tout au long du pipeline.
Alors, bien évidemment, si nous voulons atteindre les objectifs du DevOps, haute qualité et valeur livrée aux clients via des livraisons fréquentes et rapides, Automatiser tout est un must.
De toute évidence, nous savons maintenant que l'automatisation supprime les erreurs manuelles, la dépendance à un individu, fonctionne plus rapidement et atteint la précision, assurant ainsi cohérence et fiabilité. Par conséquent, l'automatisation de tout permet d'atteindre l'objectif devops d'une livraison de haute qualité, permet des versions fréquentes et des versions 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 les délais
- Augmente la fréquence des rejets
- Fournit une rétroaction plus rapide
- Permet vitesse, fiabilité et cohérence
Bref, l'automatisation dans DevOps englobe tout, de la construction, du déploiement et de la surveillance.
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Importance de petits incréments de livraisons dans DevOps
- Contrôle de la source ou contrôle de version dans DevOps (Tutoriel vidéo Partie 2 - Bloc 2)
- Tutoriel DevOps: Le guide ultime de DevOps (plus de 25 tutoriels)
- Pratique DevOps basée sur le manifeste Agile (Partie 2 - Bloc 1)
- Tutoriel de test DevOps: quel sera l'impact de DevOps sur les tests d'assurance qualité?
- Tutoriel AWS CodeCommit pour l'implémentation de DevOps dans le cloud
- Tutoriel SeeTest Automation: Un guide de l'outil d'automatisation des tests mobiles
- Livraison continue dans DevOps