Les enjeux de l’automatisation

Technique

22 jan, 2020

L’automatisation des processus des services informatiques est bien plus qu’un simple atout.
Aujourd’hui, elle est devenue un élément indispensable pour une entreprise qui dispose de services informatiques ayant pour but d’améliorer la qualité et l’efficacité du développement de travail de son équipe. L’objectif ? Optimiser ses prestations avec le moins de ressources possibles.

C’est ce que permet l’automatisation : moyennant des efforts en termes d’implantation, de gestion de planification et de modélisation, elle peut offrir jusqu’à 15% de gain d’efficacité ainsi que 90% de réduction du temps de résolution d’incidents ou demandes. 

L’automatisation permet à tous les biens, logiciels, matériels et processus de fonctionner ensemble pour améliorer la gestion informatique. Les processus manuels effectués par les équipes de développement sont automatisés et leur permettent d’effectuer des tâches supplémentaires, augmentant ainsi l’efficacité et réduisant le nombre de commandes et erreurs.

Les avantages de l’intégration continue

Améliorer la productivité des développeurs : l’intégration continue permet à l’équipe de développeurs de gagner en productivité en automatisant les tâches obsolètes et en limitant les tâches manuelles. Elle permet aussi de réduire le nombre d’erreurs et les bugs dans les versions publiées grâce aux phases de tests. 

Recherche et correction des bugs accélérée : grâce aux tests automatisés, l’équipe de développeurs a un retour détaillé et peut corriger plus rapidement, évitant ainsi que l’erreur ne prenne de l’ampleur. 

Livraisons de mises à jour plus régulières : l’intégration continue offre la possibilité de mettre en place un système de livraison, ce qui aide les développeurs à livrer plus de mises à jour.

De récentes recherches ont révélé les trois bénéfices principaux qui poussent les entreprises à mettre en place l’automatisation dans leur service informatique :
– Gain d’efficacité (78 %)
– Réduction des coûts informatiques (58 %)
– Limitation des risques informatiques (40 %)

Que peut-on automatiser ?

automatisation ti Les enjeux de l’automatisation

Dans un premier temps, il est essentiel d’identifier ce que l’on veut automatiser et de s’assurer que cela est conforme aux normes et possibilités d’automatisation. Cette phase d’identification et d’analyse des processus établis dans l’entreprise est primordiale et prendra la forme d’une liste de tâches, telle que celle-ci :
– Approbations de commentaires ou autres types de contenus demandant l’approbation manuelle d’un des membres de l’équipe.
– Envoi d’emails récupérant des variables à envoyer ou des résultats de tests.
– Statistiques (SLA) qui permettent d’avertir les utilisateurs lors de l’approche ou le dépassement de temps.
– Changements de priorité sur certaines tâches.
– Requêtes récurrentes demandées par les utilisateurs qui peuvent être triées.
– Renouvellements de contrats de services automatiquement validés.
– Gestion des accès en attribuant un rôle à un utilisateur en fonction de son adresse email.

Comment automatiser ?

test automisation Les enjeux de l’automatisation

Pour automatiser simplement chaque processus, il convient de suivre quelques étapes clés.

Dans un premier temps, il est très important d’analyser la situation actuelle.

Dans un second temps, il faudra identifier les processus qui peuvent être automatisés et organiser leur automatisation en sélectionnant une ou plusieurs actions, ou automatiser complètement le processus dans certains cas.

Ensuite, il est nécessaire de trouver le logiciel d’intégration continue qui pourra nous permettre d’automatiser les processus ou les actions.

Pour finaliser la mise en place de l’automatisation, des conditions seront définies, sous la forme de triggers qui démarreront l’automatisation. C’est le point le plus important car c’est celui qui lancera les actions à effectuer lors d’un évènement et s’ils ne sont pas mis en place correctement, l’automatisation tombera à l’eau !

Les outils d’intégration continue

Aujourd’hui, on trouve de nombreux outils d’intégration continue différents sur Internet. Ils ont tous vocation à aider les développeurs dans la mise en œuvre de l’intégration continue et y parviennent de différentes façons avec des fonctionnalités bien spécifiques. Mais les outils IC ne se distinguent pas uniquement par l’étendue de leurs fonctionnalités, on constate également de grandes différences en termes de prix et licence.

Jenkins

Le logiciel Jenkins est probablement l’un des outils IC les plus connus sur le marché. Depuis 2005 (à l’époque sous le nom de Hudson), le logiciel a été constamment amélioré. Aujourd’hui, ce logiciel programmé sous Java offre de nombreuses fonctionnalités et interfaces contribuant à faciliter non seulement l’intégration continue, mais aussi la livraison et le déploiement continus.

jenkins tool Les enjeux de l’automatisation

Travis CI

Les personnes travaillant avec GitHub préféreront certainement Travic CI, car cet outil CI fonctionne parfaitement avec ce système populaire de gestion des versions. Le logiciel est paramétrable à l’aide d’un simple fichier YAML hébergé dans le répertoire racine du projet de développement. GitHub informe Travis CI de chaque modification apportée dans le dépôt et maintient toujours le projet à jour.

travisci tech Les enjeux de l’automatisation

Bamboo

La société Atlassian, qui propose également aujourd’hui le service d’hébergement de fichiers Bitbucket, distribue depuis 2007 l’outil d’intégration continue Bamboo. À l’instar de Jenkins, Bamboo assiste les développeurs dans l’intégration mais offre également des fonctionnalités pour le déploiement et la gestion des versions. Le travail avec cet outil s’effectue via une interface en ligne simple.

Outils DISKO

Chez DISKO, nous avons pour projet d’implémenter ce genre d’outils dans nos processus. Néanmoins, ce n’est pas toujours facile pour les clients de comprendre l’intérêt de cette démarche et ils choisissent souvent la case TMA (préférant payer pour corriger des problèmes directs et palpables plutôt que d’investir dans les tests et le “au cas où”).

Malgré cela, DISKO investit de l’énergie pour industrialiser les processus internes de développement, les outils et les méthodes afin de se libérer du temps et améliorer la qualité.

C’est ainsi que certains outils que nous utilisons tous les jours, comme Docker, Symfony ou WordPress se sont vus dotés de fichiers d’installation industrialisés pour générer la majeure partie de nos développements avec du code déjà testé et rodé. En outre, cela nous permet de garantir la qualité et de nous concentrer sur les nouvelles fonctionnalités, et de les tester au maximum.

Concernant les déploiements, nous passons la majeure partie du temps avec des solutions Saas comme DeployBot grâce auquel nous pouvons nous adapter au serveur client et faire le lien avec notre GitLab. On garde à l’esprit que rien ne sert de réinventer la roue. Si quelque chose marche, alors on l’utilise.

L’automatisation occupe une place énorme dans la gestion de code source d’un développement d’un projet informatique. Testé et envoyé en production sans le moindre effort (ou presque simple smile Les enjeux de l’automatisation …) de la part des développeurs, ceux-ci pourront ainsi passer plus de temps sur le développement afin d’améliorer les fonctionnalités.

Alors, pour le bon déroulement de vos projets : 1, 2, 3 prêts ? Automatisez !

Sources
IPE
Dunforce
Journal du net
ITPro
Ionos
Blog du web design

Laisser un commentaire.