« back

Vers le déploiement continu ?

De l’intégration continue…

Aujourd’hui, l’utilisation d’un serveur d’intégration est de plus en plus courante en entreprise pour suivre le développement logiciel. Sa tâche est de vérifier la compilation du code, l’execution des tests unitaires, le packaging, le déploiement et l’execution des tests dans un environnement d’intégration contrôlé et standardisé.

Il propose donc un environnement standardisé, séparé des configurations de développement, pour tester l’évolution d’un logiciel dans un environnement préprogrammé, proche de la configuration de déploiement, et permettre aux développeurs de pouvoir suivre l’évolution de leur travail. Il permet aussi de mettre en place des processus prédéfinis et facilement répétables. Une fois passées toutes les étapes du processus d’intégration, la plate-forme produit un code packagé, prêt à être déployé sur toutes les plate-formes, y compris la production.

continuous_delivery

… à l’automatisation du déploiement

Dans la suite du serveur d’intégration, il devient possible d’aller encore plus loin dans le processus d’automatisation, en s’occupant de tâches encore réalisées manuellement par l’équipe d’exploitation telles que la gestion de la base de données.

Il s’agit de remplacer des tâches longues et possiblement complexes par des tâches automatisées afin d’accentuer la fiabilité des processus de déploiement, ainsi que d’accélérer ces processus pour arriver plus rapidement à la validation utilisateur. Cette automatisation peut être de simples scripts de déploiement, ou tenter de reproduire un environnement de production complet grâce notamment à des outils tels que Puppet ou encore Docker.

Cette automatisation ne peut prendre place qu’avec une collaboration des équipes de développement et d’exploitation.

Une fois ces processus automatisés, le déploiement en intégration est automatique, ce qui permet d’en accélérer la fréquence – tant que l’impact ne dépasse pas l’équipe de développement.

Mais pour l’instant, le passage en production reste encore une opération manuelle. Cela permet cependant de rassurer les différents acteurs, de l’équipe du projet aux clients.

Acceptation automatisée

Il est encore possible de réduire le temps pris par le développement en se consacrant à l’automatisation des tests d’acceptation. Au lieu de répéter des séries de tests prédéfinies encore et encore, l’équipe de tests créerait une série de tests d’acceptation automatisés. Les bénéfices sont importants: une meilleure qualité des tests et une meilleure couverture de l’application, ce qui garanti une meilleure application pour les clients. Cela se fait de manière couplée à un déploiement automatisé de l’application, et donc réduisant encore le temps nécessaire avant la livraison.

Déploiement continu ?

L’intégration continue est aujourd’hui bien installée: elle permet des cycles de développement plus court tout en assurant une qualité logicielle supérieure, et deviens même un pré-requis des développement logiciels. L’automatisation des déploiements en intégration se met aussi en place et permet une meilleure vision pour les développeurs.

Les tests d’acceptation se voient moins souvent automatisés, bien que cela permettrait de réduire encore le temps nécessaire au déploiement en poussant encore plus loin l’automatisation.

Une fois que tous ces éléments sont automatisés, il ne reste qu’une étape finale pour arriver à un cycle de déploiement totalement automatisé: la mise en production automatisée. Seulement certains acteurs ont adopté cette technique, vu leur activité (Google, Twitter, Amazon, …). Cependant, l’impact de cette automatisation complète est grand, d’un point de vue humain comme technique. Bien que cette étape ne soit pas facile à franchir à cause de problèmes organisationnels, ainsi qu’une difficulté pour les entreprises d’en voir le bénéfice c’est souvent un élément clé dans l’accélération des cycles de mises en production et donc dans la productivité globale.

Iguane Solutions

Lorsque vous commencez à travailler avec nous, nous construisons avec votre équipe le système de déploiement le plus adapté pour améliorer votre productivité et automatiser le déploiement de votre application. Notre équipe est composée de profils expérimentés incluant de nombreux architectes et dev-ops qui vous conseillent sur les technologies de déploiement en « cloud » et sur les concepts de dimensionnement horizontal/vertical.

Si vous avez besoin de plus d’informations, vous pouvez contacter sales@iguanesolutions.com.

Laisser un commentaire