Aller au contenu principal

DevOps

Le DevOps est une culture et un ensemble de pratiques qui visent à unifier le développement logiciel (Dev) et les opérations informatiques (Ops).

Dans ce tutoriel, nous allons présenter les concepts fondamentaux de la démarche DevOps ainsi que les outils et technologies nécessaire à la mise en place d'une démarche DevOps efficace.

Pourquoi ?

On adopte la démarche DevOps parce que l'on désire atteindre des objectifs tels que:

  • Livrer rapidement les applications
  • Améliorer la qualité des applications
  • Renforcer la collaboration entre Développement et Opérations

Les phases du DevOps

DevOps

Intrinsèquement, le DevOps comprend 8 phases qui sont:

  • Plan: Les equipes pensent les fonctionnalités de l'application et établissent un plan de réalisation en utilisant une méthodologie Agile (SCRUM / KABAN)
  • Code: Les équipes utilisent Git comme gestionnaire de code source afin d'activer le travail collaboratif.
  • Build: Les équipes construisent l'application composant par composant
  • Test Les équipes s'assurent que tous les composants développés ont fait l'objet de tests rigoureux.
  • Release: Dans la phase release, les équipes construisent un ou plusieurs artefacts (ex. IMAGE Docker) de livraison pour le projet.
  • Deploy: Il s'agit maintenant pour l'équipe de livrer l'artefact (l'application) sur son environnement d'exécution.
  • Operate: Ici on s'assure que l'environnement est installé, configuré et saint.
  • Monitor: Enfin on surveillance nos environnements dans le but le grarantir un service de qualité.

Comment mettre en place le DevOps ?

Pour atteindre rapidement ces objectifs, il faut penser Automatisation. C'est à dire qu'il faut identifier tous les processus qui peuvent être automatisés et les automatiser afin d'amélioer l'éfficacité des équipes.

Pour se faire, nous allons regrouper les phases du DevOps en 4 grands domaines automatisables:

  • Développement (Plan, Code, Build, Test)
  • Intégration (Release)
  • Déploiement (Deploy)
  • Monitoring (Monitor)

Chacun de ces domaines se matérialise par la mise en place de technologies et outils spécifiques.

Pour aller plus loin, https://about.gitlab.com/topics/devops/