Loading search data...

Lexique Devops

Publié le : 30 décembre 2020 | Mis à jour le : 27 juin 2023

logo

On me fait souvent la remarque qu’on ne comprend pas tout ce que je raconte, car j’emploie un vocabulaire propre au domaine du Devops. Je vous propose un lexique qui va s’enrichir au fil du temps.

Agile

Une méthode agile est une méthode utilisée dans le cadre du développement d’un produit, centrée sur l’humain et la communication. Cette méthode recommande un développement itératif en découpant un projet en sous-projets pour lequel on se fixe des objectifs à court termes atteignables. Ces sous-projets sont appelés des sprints et sont de courtes durées.

Le but d’une méthode agile est de livrer rapidement au client une première version du produit qui correspond à ses besoins, qui évoluera ensuite au fil des versions.

Méthodes agiles : Scrum, eXtrem Programming, …

Automatisation

Fonctionnement d’un système sans intervention humaine, automatisation d’une suite d’opération.

Build

Le build est la phase appelée aussi intégration. Elle consiste à assembler le code des développeurs avec toutes ses dépendances afin de fournir un livrable de l’application. Dans cette phase, on retrouve, l’analyse du code (lint), les tests unitaires et la compilation.

Déploiement Continu

Déploiement ou livraison continue est une méthode de développement de logiciels dans le cadre de laquelle les modifications de code sont automatiquement préparées en vue de leur publication dans un environnement de production. La livraison continue étend le principe de l’intégration continue en déployant tous les changements de code dans un environnement de test et/ou de production après l’étape de création. Lorsque la livraison continue est correctement implémentée, les développeurs disposent en permanence d’un artefact de génération prêt pour le déploiement qui a été soumis avec succès à un processus de test standardisé.

Infrastructure as Code

Une infrastructure en tant que code (Infrastructure as Code) est une infrastructure informatique virtuelle qui peut être créée, configurée et approvisionnée automatiquement via du code.

Cette approche vient résoudre le problème de la dérive des environnements de production, ce qu’on appelle des systèmes mutables.

Intégration Continue

CI ou intégration continue est une méthode de développement avec laquelle les développeurs intègrent régulièrement leurs modifications de code à un référentiel centralisé, suite à quoi des opérations de création et de tests sont automatiquement menés. L’intégration continue désigne souvent l’étape de création ou d’intégration du processus de publication de logiciel et implique un aspect automatisé. Les principaux objectifs de l’intégration continue sont de trouver et de corriger plus rapidement les bogues, d’améliorer la qualité des logiciels et de réduire le temps nécessaire pour valider et publier de nouvelles mises à jour de logiciels.

Mutabilité vs Immutabilité

Immutabilité : Caractère de ce qui ne peut changer.

Une infrastructure mutable est un système qui évolue de manière incrémentale et donc mis à jour de manière continue. L’état de l’infrastructure est le résultat d’une accumulation d’opérations pouvant être pour certaines manuelles.

Par contre, une infrastructure immutable est un système qui n’est jamais modifié après son déploiement. Ce système devra en conséquence avoir le moins de mutation possible, voire aucune.

Par exemple, pour construire des images de VM immutables vous pouvez utiliser Packer d'HashiCorp pour ensuite les enregistrer en les versionnant dans votre gestionnaire d’Artéfacts.

Idempotence

En algèbre, l'idempotence est la propriété d’une opération, d’avoir le même effet qu’on l’applique une ou plusieurs fois. Par exemple, la valeur absolue est idempotente : abs(abs(−5)) = abs(−5), les deux membres étant égaux à 5.

En programmation une fonction est idempotente si l’état du système reste le même après un ou plusieurs appels.

Déclaratif vs Impératif

Dans une approche déclarative, le code de configuration décrit l’état dans lequel l’environnement de production doit se trouver, sans prendre en compte les étapes pour y arriver. Le système fait en sorte que l’infrastructure atteigne l’état désiré.

Dans une approche impérative, le fichier de configuration définit les commandes et les étapes nécessaires pour que l’environnement parvienne à l’état désiré. Le système réalise les commandes indiquées. Exemple : Ansible

Orchestration

L’orchestration est un processus automatique de gestion d’un système informatique.

Provisioning

Le provisioning est un processus d’allocation automatique de ressources informatiques.

Mots clés :

devops

Si vous avez apprécié cet article de blog, vous pouvez m'encourager à produire plus de contenu en m'offrant un café sur  Ko-Fi. Vous pouvez aussi passer votre prochaine commande sur amazon, sans que cela ne vous coûte plus cher, via  ce lien . Vous pouvez aussi partager le lien sur twitter ou Linkedin via les boutons ci-dessous. Je vous remercie pour votre soutien.

Autres Articles


Commentaires: