L’automatisation dans le démarche DevOps

L’automatisation est l’une des clés de la réussite d’une démarche DevOps.

Automatiser n’implique pas une déshumanisation des processus, bien au contraire.
Les équipes travaillent sur un recueil commun d’outils automatisés et contribuent ensemble à son évolution et à sa maturation.
Les modifications sont effectuées par petits lots dans un processus d’amélioration continue.

 L’automatisation utilise des outils sur lesquels ils faut se former mais c’est aussi une culture d’entreprise qu’il faut diffuser dans les équipes. 

Enfin l’automatisation permet d’intégrer la sécurité de manière systématique et harmonisée pour l’ensemble des éléments d’une chaine automatisée, à la manière d’une librairie. Il est ainsi plus aisé de garantir une sécurité élevée.

Comment automatiser, avec quels outils ?

Le principe fondamental pour l’automatisation est de stocker l’intégralité du code (infrastructure, applications, tests, déploiement,…) dans un outil de gestion de code source. Chaque modification est ainsi enregistrée et versionnée. 

Voici des exemples d’outils de gestion du code source:
  • Gitlab
  • Bitbucket
  • Github (cloud)
 
L’intégration continue (CI) permet l’automatisation des tests après modifications sur le code source.
Le déploiement continu (CD) permet l’automatisation du déploiement après l’étape CI réussie. 
 
 Voici des exemples d’outils pour le CI/CD:
  • Jenkins
  • GitlabCI
  • Bamboo
  • TeamCity
  • Concourse
  • CircleCI
  • Travis CI
  • Google Cloud (outils intégrés dans le cloud)
  • AWS (outils intégrés dans le cloud)

L’automatisation de l’infrastructure et la gestion de la configuration permet la mise en place et la configuration automatique des serveurs ainsi que l’automatisation des actions post-installation (comme le déploiement de kubernetes).

Voici des exemples d’outils:

  • Terraform (provisioning d’infrastructure)
  • Ansible (gestion de la configuration)
  • Puppet (gestion de la configuration)
  • Salt (gestion de la configuration)

Au final que gagne-t-on ?

L’automatisation des processus a de nombreux avantages:

  • sécurisation et uniformisation des builds et déploiements
  • diminution des erreurs
  • rollbacks plus rapides
  • réduction des tâches répétitives
  • les équipes se concentrent davantage sur la valeur ajoutée
  • sécurité intégrée et harmonisée

Feesh vous accompagne dans la mise en place des processus d’Intégration continue, livraison Continue, déploiement continu, tests, etc.

Nous nous attachons à réaliser ces évolutions suivant des objectifs raisonnables et réalistes: condition importante pour réussir la mise en place du DevOps.

Sélection des outils avec le client, formation des équipes et transfert de compétences.