devops tutorial ultimate guide devops
Il s'agit d'une série complète de didacticiels DevOps de plus de 25 didacticiels texte et vidéo couvrant tous les aspects du DevOps, tels que Qu'est-ce que DevOps, les principes DevOps et son architecte.
Liste des didacticiels de la série de formations DevOps:
#1) Introduction à DevOps (Ce tutoriel)
#deux) DevOps et tests logiciels
Tutoriels VIDÉO DevOps:
# 3) Tutoriel vidéo 1: Contexte, définition, valeur, avantages, habitudes et meilleures pratiques DevOps
- Partie 1 Bloc 1 - Démystifier DevOps
# 4) Tutoriel vidéo 2: Pratiques DevOps basées sur les principes Agile, le contrôle de code source et l'automatisation DevOps
Ce didacticiel vidéo est divisé en 6 blocs:
- Partie 2 Bloc 1 - Pratique DevOps basée sur le Manifeste Agile
- Partie 2 Bloc 2 - Contrôle de la source et de la version dans DevOps
- Partie 2 Bloc 3 - Automatisation dans DevOps
- Partie 2 Bloc 4 - Petits incréments de livraisons dans DevOps
- Partie 2 Bloc 5 - Collaboration dans les équipes DevOps
- Partie 2 Bloc 6 - Comment développer la collaboration dans les équipes DevOps
# 5) Tutoriel vidéo 3: Processus DevOps Intégration continue, tests continus et livraison continue
Ce didacticiel vidéo est divisé en 4 blocs:
- Partie 3 Bloc 1 - Intégration continue dans DevOps
- Partie 3 Bloc 2 - Livraison continue dans DevOps
- Partie 3 Bloc 3 - Déploiement continu dans DevOps
- Partie 3 Bloc 4 - Test continu dans DevOps
# 6) Tutoriel vidéo 4: Gestion de la configuration DevOps et surveillance des performances des applications en direct
Ce didacticiel vidéo est divisé en 3 blocs:
- Partie 4 Bloc 1 - Gestion de la configuration dans les pratiques DevOps
- Partie 4 Bloc 2 - Gestion des versions dans DevOps
- Partie 4 Bloc 3 - Surveillance des performances des applications dans DevOps
# 7) Tutoriel vidéo 5: Récapitulatif de l'ensemble du cours.
- Partie 5 Bloc 1 - Récapitulatif des didacticiels vidéo DevOps
Tutoriels texte:
# 8) Test de décalage vers la gauche
# 9) Comment améliorer la qualité des logiciels grâce à l'intégration continue
# dix) Processus de livraison continue
Outils DevOps:
#Onze) Outils DevOps
N ° 12) Installation et configuration des outils DevOps open source couramment utilisés
N ° 13) Meilleurs outils d'intégration continue
N ° 14) Meilleurs outils de livraison continue
Tutoriel Microsoft VSTS:
#quinze) Microsoft VSTS partie 1
N ° 16) Microsoft VSTS partie 2
Outils AWS DevOps:
# 17) Outils AWS DevOps, partie 1 (CodeCommit)
N ° 18) Outils AWS DevOps, partie 2 (CodeBuild)
# 19) Outils AWS DevOps, partie 3 (CodeDeploy)
#vingt) Déploiement d'application Web .NET à l'aide d'AWS Elastic Beanstalk
Ansible pour DevOps:
#vingt-et-un) Ansible Partie 1: Installation et configuration
# 22) Ansible Partie 2: Automatisation des tâches à l'aide de Playbooks
# 2. 3) Ansible Partie 3: Rôles Ansible et intégration avec Jenkins
# 24) Intégration de Jenkins avec Selenium
# 25) Outil d'intégration continue Hudson
N ° 26) Fournisseurs de services DevOps
N ° 27) Questions d'entretiens chez DevOps
Commençons par le premier didacticiel de cette série.
Ce que vous apprendrez:
- Introduction à DevOps
- Présentation d'Agile et DevOps
- DevOps concerne-t-il uniquement les outils?
- Composants de DevOps
- Résumé
- lecture recommandée
Introduction à DevOps
DevOps ne concerne pas seulement les outils, il comprend également un ensemble de bonnes pratiques qui permettent de combler le fossé entre les équipes de développement et d'exploitation dans les domaines de l'intégration et du déploiement continus en utilisant un ensemble d'outils intégrés pour automatiser la livraison de logiciels.
meilleur système de point de vente pour ipad
Il est impératif que les développeurs comprennent le côté opérationnel et vice versa. Ainsi, l'objectif de DevOps est simplement d'aider toute organisation à fournir des applications rapidement aux utilisateurs finaux et à permettre une rétroaction plus rapide des utilisateurs finaux, ce dont toute entreprise a besoin aujourd'hui.
Présentation d'Agile et DevOps
Il n'y a aucune différence entre Agile et DevOps. Au lieu de cela, ils se complètent. Commençons par examiner le modèle Waterfall où toutes les exigences sont figées, et la conception et le développement se font l'un après l'autre jusqu'à ce qu'un produit stable soit disponible.
Le problème ici est donc que s'il y a un changement dans le besoin du client à ce stade, il n'y a aucun moyen d'inclure et de répondre au besoin modifié.
Afin de mieux répondre au problème de l'adaptation aux besoins du client, les changements ont été adoptés par la méthode en cascade. L'idée ici était de développer un logiciel dans des sprints ou des itérations plus petits, disons environ 2 à 3 semaines, ce qui a aidé les équipes de développement à travailler sur les commentaires des utilisateurs finaux et à intégrer les changements dans les nouvelles versions.
Par conséquent, les équipes de développement et d'exploitation doivent être agiles dans leurs domaines de travail etDevOpsest né pour permettre une meilleure collaboration entre eux.
Agile apporte des processus comme XP, SCRUM etc. et DevOps apporte des pratiques telles que l'intégration continue, la livraison continue, les tests continus et la surveillance continue que nous verrons en détail au fur et à mesure que nous avancerons dans ce tutoriel.
DevOps concerne-t-il uniquement les outils?
D'une certaine manière, vous pouvez affirmer que pour implémenter DevOps, vous avez besoin d'outils. C'est vrai mais les outils ne sont que des accélérateurs.
Mais en fait, il s'agit des 3 aspects suivants:
Gens :Il est très important de former et d'avoir une équipe de personnes très motivée pour pouvoir communiquer et collaborer efficacement tout au long de tout ce voyage de changement culturel.
Traiter: Comme nous parlons de changement culturel pour la mise en œuvre de DevOps, il est absolument nécessaire d'avoir des pratiques et des stratégies qui apportent de la valeur au client. Une bonne façon de le faire serait de faire une évaluation de la maturité AS-IS, d'examiner les lacunes et de proposer une feuille de route pour la mise en œuvre des recommandations appropriées.
Je ne parlerai pas en profondeur de la façon dont j'ai fait ces évaluations, mais je serai heureux de partager mes contributions sur le même sujet.
Outils: Enfin, il s'agit d'utiliser les accélérateurs en automatisant le processus à l'aide des outils DevOps standards disponibles aujourd'hui. Cela peut être Open-Source (Jenkins, Git etc.), Commercial (Microsoft TFS, VSTS, IBM Rational, Jira etc.) ou un mélange des deux.
Composants de DevOps
J'espère que vous auriez maintenant une idée de ce qu'est DevOps.
Examinons maintenant les 4 composants suivants de DevOps qui constituent le noyau du point de vue de la mise en œuvre et les organisations ont également développé de bons cadres d'automatisation autour de la même offre en tant que service à leurs clients.
youtube to mp3 convertisseurs en ligne avis
- Intégration continue
- Test continu
- Livraison continue
- Contrôle continu
J'ai vraiment cru que si un développeur doit travailler dans ce mode, alors il devrait y avoir un élément d'exécution comme une tâche ou un défaut (dans Agile, cela peut faire partie de User Story) qui lui est assigné pour lui permettre de livrer le travail dans le calendrier du sprint.
Ainsi, même avant que les étapes énumérées ci-dessus puissent être implémentées, ces tâches ou défauts de développeur doivent être planifiés dans un Sprint. Ainsi, des outils tels que JIRA, IBM Rational Team Concert, Microsoft TFS / VSTS, etc. aident à créer les plans Agile Release / Sprint.
Examinons maintenant chacun de ces composants en détail.
# 1) Intégration continue
En tant que développeur, vous travaillez sur les tâches ou les défauts attribués et enregistrez le code dans un référentiel partagé plusieurs fois par jour. De même, les autres membres de l'équipe archivent également le code dans le référentiel partagé.
Vous intégrerez alors réellement tout le travail effectué par les membres de l'équipe dans un serveur de build commun et effectuerez une build automatisée. La réalisation régulière de ces intégrations et de ces builds automatisés s'appelle l'intégration continue.
Cette pratique permet de détecter les problèmes très tôt et garantit également que tous les modules intégrés fonctionnent selon les besoins. Donc, si vous ne suivez pas cette approche, l’intégration du travail de l’équipe peut se produire une fois par mois, ce qui peut être tardif pour trouver et résoudre les problèmes d’intégration.
Exemple de workflow d'intégration continue:
# 2) Livraison continue
La livraison continue est la prochaine étape après l'intégration continue. L'objectif de la livraison continue est de pousser l'application intégrée en production le plus rapidement possible. Au cours de ce processus, il passe par différentes étapes du cycle de vie de la livraison, c'est-à-dire QA, Staging, environnements de production, etc.
Ce processus de livraison régulière des applications intégrées en différentes étapes est connu sous le nom de livraison continue.
La livraison continue aide à accélérer la mise sur le marché par rapport aux méthodes traditionnelles, à réduire les risques, à réduire les coûts en encourageant plus d'automatisation dans le processus de lancement et, surtout, à obtenir des commentaires plus rapides des utilisateurs finaux pour produire un produit de qualité.
D'après mon expérience, j'ai vu que ce processus fonctionne bien pour tout type de développement d'applications Web.
J'ai également effectué un bon nombre d'évaluations sur les implémentations DevOps pour les organisations du secteur des semi-conducteurs, mais en raison de leur cycle de libération ce domaine de la livraison continue ne semble pas lui convenir car il s'agit davantage d'un processus en cascade qui est suivi et les déploiements sont effectués au fur et à mesure des besoins dans un environnement client.
Exemple de workflow de livraison continue:
Dans le diagramme ci-dessus, vous pouvez examiner différents environnements disponibles et ainsi ce provisionnement de l'infrastructure pour les environnements peut également être automatisé au cours de ce processus de livraison continue.
# 3) Test continu
À partir des 2 pratiques ci-dessus, nous avons appris que CI et CD aident à déployer l'application ou à modifier la production. L'ensemble de ce processus implique une bonne validation du code et son intégration avec tous les composants impliqués pour s'assurer que l'application fonctionne comme prévu et qu'elle est exempte de bogues ou de défauts.
Ainsi, le test continu est le processus d'exécution de divers types de tests automatisés en commençant par le processus CI jusqu'au moment où l'application est enfin déployée en production.
Vous pouvez voir à partir du diagramme précédent que dans l'étape d'intégration continue, nous intégrons tous les développeurs travaillent dans un serveur de construction commun et que pendant cette étape, les développeurs exécuteraient un certain nombre de tests unitaires.
Une fois que ces intégrations et ces tests fonctionnent sans aucune erreur, alors seulement l'application ou les modifications sont déployées dans l'environnement QA après avoir demandé ces critères de qualité et ces approbations.
Dans l'environnement QA, les tests fonctionnels sont exécutés et à nouveau en fonction des approbations, ils seraient déployés dans un environnement de préparation qui serait à parité comme les systèmes de production et les tests d'acceptation exécutés. Une fois cette activité terminée, l'application ou les modifications sont finalement déployées dans les systèmes de production.
On peut donc noter ici que le test continu en tant qu'activité commence à partir de l'étape CI elle-même et est une étape très obligatoire tout au long du processus de livraison continue.
Exemple de workflow de test dans le processus de livraison continue:
# 4) Surveillance continue
Au fur et à mesure que l'application ou les modifications sont déployées dans l'environnement de production, l'équipe d'exploitation cherchera à surveiller l'application et l'environnement du point de vue de la disponibilité, de la stabilité et de la disponibilité. Ce processus est appelé surveillance continue.
Les équipes opérationnelles disposeront de leurs propres logiciels pour surveiller l’environnement, mais devront également jouer leur rôle pour surveiller les applications déployées en cas de problème. Pour cela, ils auraient besoin de travailler avec les équipes de développement afin de construire certains outils d'analyse des problèmes applicatifs.
Ainsi, les problèmes d'infrastructure, d'environnement et d'applications sont tout ce qui est surveillé dans le processus de surveillance continue.
Résumé
Dans ce didacticiel, nous avons appris en quoi consistait exactement le processus DevOps, y compris les différents composants impliqués. Ces composants contribuent à accélérer la livraison des applications et à gagner du temps sur le marché, ce qui est aujourd'hui le besoin des entreprises d'un point de vue concurrentiel.
Dans la prochaine série de tutoriels sur le segment DevOps, vous aurez un aperçu des différentes vidéos / outils DevOps probables que les équipes peuvent utiliser ainsi que de la mise en œuvre de DevOps à l'aide de certains outils pour on-premise et cloud.
Et comme dit et fait, j'ai trouvé la mise en œuvre de DevOps comme une mise en œuvre passionnante, dans la manière de regarder à partir d'un changement organisationnel.
Notre prochain tutoriel vous expliquera tout sur le DevOps et les tests logiciels.
lecture recommandée
- Tutoriels Eclipse détaillés pour les débutants
- Livraison continue dans DevOps
- Déploiement continu dans DevOps
- Tutoriel de test DevOps: quel sera l'impact de DevOps sur les tests d'assurance qualité?
- Intégration continue dans DevOps
- Test continu dans DevOps
- Récapitulatif des didacticiels vidéo DevOps
- Tutoriel AWS CodeCommit pour l'implémentation DevOps dans le cloud