Introduction DevOps pour les débutants

DevOps est devenu un mot à la mode, ce qui signifie beaucoup de choses différentes pour beaucoup de gens.


Il est difficile de comprendre et de définir exactement ce qu’est DevOps. Et c’est pourquoi si vous connaissez les concepts fondamentaux de DevOps auxquels la plupart des gens s’associent et l’histoire de son évolution, obtenez une vue globale.

L’origine de DevOps

DevOps est un parfait exemple de développement logiciel agile. L’idée de DevOps est née de la nécessité de suivre l’augmentation de la vitesse du logiciel et de parvenir à des méthodes agiles. Les vastes avancées de la culture et des pratiques agiles au cours de la dernière décennie ont mis en évidence l’exigence d’une approche plus globale du cycle de vie de la livraison logicielle de bout en bout..

Vous vous demandez peut-être ce qu’est le développement logiciel agile –

Développement agile est un terme large pour définir plusieurs méthodologies de développement logiciel itératives et incrémentielles. Les méthodologies agiles populaires sont Scrum, Kanban, Scaled Agile Framework® (SAFe®), Lean Development et Extreme Programming (XP).

Les valeurs fondamentales et la vision de toutes ces méthodologies agiles sont les mêmes, mais chacune a une approche unique. Toutes ces méthodologies intègrent des itérations et une rétroaction continue pour affiner avec succès et fournir des logiciels évolutifs. Toutes ces méthodologies impliquent une planification continue, des tests continus, une intégration continue et d’autres formes sans fin pour le projet et le logiciel.

Contrairement aux processus classiques de type cascade, ces méthodologies agiles sont légères et sont livrées avec une nature intrinsèquement adaptable. L’une des meilleures choses à propos de ces méthodologies agiles est qu’elles se concentrent toutes sur l’autonomisation des personnes lorsqu’il s’agit de collaborer et de prendre des décisions rapides ensemble.

Image de Segue

Les idéaux de DevOps exécutent la pratique de développement agile étendu pour affiner le mouvement du changement logiciel à travers la construction, la validation, le déploiement et les différentes étapes de livraison. Il permet à l’équipe interfonctionnelle d’avoir la pleine propriété du produit logiciel, de la conception à la production.

Les défis résolus par DevOps

Processus de déploiement Les applications distribuées nécessitent souvent le déploiement des fichiers binaires et de configuration sur plusieurs serveurs. Cela devient plus difficile lorsque vous disposez d’une batterie de serveurs. Il devient difficile de comprendre quoi, comment et où déployer. Le résultat évident?

Longue attente pour obtenir les artefacts dans le prochain environnement de la route vers les causes vivantes en retardant tout comme les tests, le temps de vivre, etc..

DevOps permet au logiciel ou développeurs web et les opérations informatiques pour déployer le processus dans une session de collaboration qui est entièrement irréprochable. Cela nous permettra de vérifier ce qui fonctionne puis de passer au niveau supérieur avec l’automatisation pour mettre en œuvre un développement continu. Il crée également des pistes de développement plus fréquentes.

Objectifs DevOps

Il améliore la collaboration entre les parties prenantes de la planification à la livraison et met en œuvre l’automatisation du processus de livraison pour:

  • Améliorez la fréquence du déploiement
  • Accélérez la mise sur le marché du produit final
  • Diminue le taux d’échec des nouvelles versions
  • Il raccourcit le délai entre les correctifs
  • Améliore l’intervalle à des fins de récupération

Scénario DevOps commun

L’ensemble du logiciel arrive au point de rencontre avant de démarrer un nouveau projet logiciel. L’équipe est constituée de développeurs, de testeurs, de professionnels des opérations et du support. L’équipe fait le plan pour créer un logiciel entièrement fonctionnel qui est prêt pour le déploiement.

Chaque jour, un nouveau code est déployé une fois que les développeurs l’ont terminé. La procédure de test automatisée garantit que le code est prêt à être mis en œuvre. Une fois que le code reçoit le signal vert du processus de test d’automatisation, il est déployé auprès d’un petit nombre d’utilisateurs. Le code est surveillé pendant une courte période pour s’assurer qu’il n’y a pas de problèmes imprévus et il est stable. Le nouveau code est ensuite déployé pour le reste des utilisateurs une fois que la surveillance finale a montré que le code est stable. Une partie importante des étapes après la planification et le développement se fait sans intervention humaine.

Différentes phases de maturité DevOps

Il existe différentes phases de maturité DevOps. Voici les phrases clés que vous devez connaître.

Développement de la cascade

Avant l’époque de l’intégration continue, les équipes de développement écrivaient une énorme quantité de code, puis celles de différentes équipes ont été fusionnées pour la publication. Les versions du code étaient si différentes qu’elles nécessitaient auparavant un grand nombre de modifications.

Faire ces nombres de changements utilisés -pour prendre plus de quelques mois. Ce processus n’a pas été productif.

Intégration continue

C’est une pratique d’intégrer le code nouvellement développé avec le code principal à publier de la manière la plus rapide. Lorsqu’il s’agit de publier le code, le développement continu permet de gagner beaucoup de temps.

DevOps n’a pas introduit ce terme. L’intégration continue est une pratique d’ingénierie agile issue de la méthodologie Extreme Programming. DevOps a adopté cette pratique car lorsqu’il s’agit de réussir l’intégration continue, l’automatisation est nécessaire. L’intégration continue est souvent la première étape vers la maturité DevOps.

L’intégration continue du point de vue de DevOps comprend les étapes telles que la vérification du code, la compilation en code utilisable et l’exécution de certains des tests de validation nécessaires. «

Livraison continue

C’est une extension de l’intégration continue et aussi, la deuxième étape de DevOps.

La livraison continue vous permet d’ajouter une automatisation et des tests supplémentaires. Pour que vous ne fusionniez pas seulement le code avec la ligne de code principale rapidement, mais aussi que le code soit presque prêt à être déployé sans intervention humaine.

C’est une pratique de garder votre base de code dans un état presque prêt à être déployé.

Déploiement continu

Le déploiement continu est l’évolution avancée de la livraison continue. Cette pratique nous permet de déployer toutes les voies de production sans aucune intervention humaine.

L’équipe qui travaille sur le développement continu ne déploie jamais de code sans test. Tout le code nouvellement créé passe par des tests automatisés avant d’entrer dans la phase de production. Le code est déployé auprès d’un petit nombre d’utilisateurs, et une boucle de rétroaction automatisée surveille la qualité et les utilisations avant que le code n’atteigne le niveau supérieur..

Il existe un petit nombre d’entreprises comme Netflix, Etsy, Amazon, Pinterest, Flicker, IMVU et Google, etc., qui font un développement continu.

La valeur

DevOps se concentre fortement sur le développement d’une culture collaborative et l’amélioration de l’efficacité grâce à l’automatisation avec différents outils DevOps. Pour implémenter DevOps pour votre solution logicielle, vous devez utiliser la combinaison de la culture et des outils.

Culture DevOps

Le DevOps est une culture particulière qui aide à améliorer la collaboration, à réduire le chaos, à mieux gérer les responsabilités partagées, à mettre en œuvre l’automatisation, l’amélioration de la qualité, l’évaluation des commentaires et l’augmentation de l’automatisation.

Les méthodes agiles ont toujours été le meilleur moyen holistique de fournir des logiciels. Quand il s’agit de mesurer les progrès, l’équipe de développement agile le fait en terme de logiciel de travail. La méthode agile de la culture DevOps permet aux propriétaires de produits, développeurs, testeurs et utilisateurs UX de travailler en étroite collaboration avec le même objectif en tête.

Outils DevOps

Comprend les outils de gestion de configuration, de test et de construction de systèmes, de développement d’applications, de contrôle des versions et de surveillance. Lorsqu’il s’agit de mettre en œuvre l’intégration continue, la livraison continue et le déploiement continu, ils nécessitent des outils différents et, en même temps, ils utilisent également les mêmes outils. Vous devrez utiliser plus d’outils au fur et à mesure de votre progression dans la chaîne de livraison.

Connaissons quelques-uns des outils et pratiques populaires.

Dépôt de code source – c’est un endroit où les développeurs peuvent s’enregistrer et changer le code. Le référentiel de code source gère différentes versions du code qui est archivé afin de s’assurer que les développeurs écrivent sur le code de l’autre.

Git, Apache Subversion, IBM Rational, Artifactory, Nexus, Eclipse, etc. sont quelques-uns des outils de référentiel de code populaires.

Créer un serveur: – le serveur de build est l’outil d’automatisation qui est utilisé pour compiler le code en code source respiratoire dans la base de code exécutable. Certains des outils de serveur de construction les plus utilisés sont Jenkins, SonarQube, Artifactory.

Gestion de la configuration – Puppet, Chef, Ansible, SaltStack, Run Deck, etc. aide à gérer la configuration de l’application et de l’infrastructure pour maintenir la cohérence entre les environnements.

Infrastructure virtuelle – AWS, GCP, Azure est le troisième fournisseur de cloud public offrant presque tous les services d’infrastructure. Ils offrent une API qui vous permet de provisionner l’infrastructure et de les gérer comme un code.

Conclusion

J’espère que cela vous donne une idée de DevOps et si cela vous excite, alors vous pouvez essayer cette masterclass en ligne cours.

Article par Payal Goyal

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map