Aller au contenu
KésacoDevOpsBack

Le DevOps, pourquoi faire ?

Pourquoi appliquer la philosophie DevOps dans vos projets ?

DevOps, pourquoi faire ?

Pour savoir ce qu'est le DevOps, vous pouvez aller lire la définition dans l'article dédié.

Quand elles sont séparées, les équipe Dev et les équipes Ops ont des problématiques antagonistes :

  • les Devs veulent pouvoir faire des mises à jour régulières
  • les Ops veulent garantir une certaine stabilité et peu de changement

Le DevOps (en tant que philosophie) cherche alors à réconcilier les deux. En effet, l'équipe va apporter les outils permettant l'automatisation des processus via les outils d'intégration et déploiement continu, ainsi que des outils d'Infrastructure As Code, permettant d'augmenter sensiblement la fiabilité des déploiements. Est ajoutée à cela la surveillance étroite de l'application et la production de métriques pertinentes.

Le DevOps est très lié à la notion de CI (Intégration Continue)/CD (Livraison Continue).
L'intégration, plutôt côté Dev, comprend les phases de planification, développement, build, test et release. S'ensuit alors la Livraison côté Ops qui comprend le déploiement, les opérations et le monitoring. Une nouvelle phase d'intégration peut alors commencer, constituant un Cycle DevOps.

Le cycle de la méthodologie Devops est composé de huit étapes principales:

  • Plan: Il s’agit de définir les objectifs, les exigences, et les priorités du projet, ainsi que de planifier les tâches, les ressources, et les délais.
  • Code: Il s’agit de développer le code source du logiciel, en utilisant des bonnes pratiques de programmation, des outils de collaboration, et des standards de qualité.
  • Build: Il s’agit de compiler le code source en un artefact exécutable, en utilisant des outils d’intégration continue, de gestion des dépendances, et de vérification de la syntaxe.
  • Test: Il s’agit de vérifier le fonctionnement, la performance, et la sécurité du logiciel, en utilisant des outils de test automatique, de couverture du code, et de détection des anomalies.
  • Release: Il s’agit de préparer le déploiement du logiciel en production, en utilisant des outils de gestion des configurations, de contrôle des versions, et de livraison continue.
  • Deploy: Il s’agit de mettre en ligne le logiciel en production, en utilisant des outils de déploiement automatique, de gestion des environnements, et de supervision des infrastructures.
  • Operate: Il s’agit de maintenir le bon fonctionnement du logiciel en production, en utilisant des outils de monitoring, de logging, et de résolution des incidents.
  • Monitor: Il s’agit de mesurer la performance, la disponibilité, et la satisfaction du logiciel en production, en utilisant des outils de collecte des données, de visualisation des indicateurs, et de feedback des utilisateurs.

Intégré à une méthode Agile, le DevOps va permettre la production d'applications plus fiables. En effet, à chaque fin de sprint, l'application pourra être intégrée, déployée et testée afin de trouver les bugs au plus tôt.

La sécurité devenant aussi une problématique prenant de plus en plus de place dans nos systèmes, il est apparu qu'il était opportun de l'intégrer au plus tôt dans le développement de l'application ainsi que dans la construction de son infrastructure. On pourra donc trouver le terme DevSecOps pour illustrer une équipe construite autour de ces problématiques.

Dernier