devops

Le DevOps au coeur de la transformation numérique

De plus en plus d’entreprises ont décidés de faire appel au « DevOps » pour mieux anticiper la transformation digitale en cours. Mais que représente exactement ce terme ? Petite explication de la tendance organisationnelle des cinq dernières années…

Un peu comme pour le growth-hacking que nous avions vu ici, le DevOps est un « terme valise » qui représente un concept, une technique de travail, un ensemble d’outils ou encore une forme de culture d’entreprise. Alors que toujours plus d’entreprises l’adoptent, je constate parfois chez certains une légère confusion quand il s’agit de définir ce terme. D’où l’idée de cet article qui leur permettra, je l’espère, de se faire une idée plus précise du DevOps…

AAEAAQAAAAAAAAQLAAAAJGNjYzVlMjExLWZlZDEtNGQ4MC04ZTQxLWMxYzJmOTlkNDA2MA Le DevOps au coeur de la transformation numérique Tout Internet Culture

Qu’est ce que le DevOps?

L’évolution rapide des nouvelles techniques de communication ont poussés les entreprises à revoir leur méthodes de travail. Né de ce constat, le mouvement DevOps vise à améliorer la communication, la collaboration et l’intégration entre les équipes de développement (les Dev Engineers ou software developers) et les équipes d’exploitation (les Ops Engineers ou IT operations). Alors qu’autrefois nous avions l’habitude de cloisonner ces deux services, le mouvement DevOps reconnait l’interdépendance qui les unis et permet la mise en place d’une organisation de service et de production logicielle plus efficace.

DEVOPS-Team-300x165 Le DevOps au coeur de la transformation numérique Tout Internet Culture Pour comprendre ce terme il me semble important d’en expliquer un autre, l’Agile Development. En effet, apparu pour la première fois en 2009 après de longs débats entre passionnés, le mouvement DevOps vise à appliquer les principe du « développement agile » en entreprise. Le « manifeste pour un développement agile de logiciels » explique le principe d’Agilité par le respect de quatre valeurs fondamentales déclinées en douze principes desquels découlent une base de méthodes et de pratiques, soit communes, soit complémentaires:

  • 1: Les Valeurs. On parlera de philosophie générale qui dicte l’Agile Development. Elles sont quatre, dictées sur le manifeste tel que: l’équipe (favoriser l’individu et les interactions plutôt que le process et les outils), l’application (préférer les logiciels fonctionnels et pratiques plutôt que la documentation fouillée), la collaboration (tendre vers la collaboration avec l’utilisateur plutôt que la négociation contractuelle) et enfin l’acceptation du changement (répondre de manière efficace aux changements plutôt que suivre un plan établi).
  • 2: Les Principes. Ils sont douze et permettent de mieux comprendre le fonctionnement du développement agile. Pas besoin de souscrire à chacun de ces principes, mais moins vous en appliquez, plus vous vous éloignez du développement agile. Ces douze principes sont: satisfaire le client en priorité, accepter les demandes de changement, livrer rapidement et régulièrement des versions opérationnelles du logiciel, assurer la coopération permanente entre le client et l’équipe projet, se construire autour de personnes motivées, privilégier les conversation en face à face, mesurer l’avancement du projet en termes de fonctionnalités de l’application, garder un rythme d’avancement soutenable et constant, toujours assurer une excellence technique, faire le plus simple possible, responsabiliser un maximum les équipes et enfin ajuster à intervalles réguliers son comportement et ses processus pour être plus efficace.
  • 3: Les Methodes. Il s’agit des différentes méthodes de travail permettant d’appliquer les principes cités ci-dessus. En d’autres ce sont les outils qui permettent d’établir les marches a suivre pour mettre en place un développement agile. Elles sont diverses et leur nombre ne cesse de croitre. Parmi les plus célèbres on pourra citer la méthode RAD (développement rapide d’applications), le SCUM, l’XP (pour Extreme Programing) ou encore le Crystal clear. J’approfondirais celles-ci dans un futur article…
  • 4: Les Pratiques. Ce sont l’ensemble des techniques et des outils utilisés lors de la mise en place d’un développement agile et, par extension, l’ensemble des pratiques favorisant la modernisation de l’infrastructure générale. On citera notamment la virtualisation, l’utilisation du cloud ou d’outils de management avancés, des backlogs

devops-book-141016183914-conversion-gate01-thumbnail-4-194x300 Le DevOps au coeur de la transformation numérique Tout Internet Culture Alors, concrètement, quels sont les moyens d’optimiser la synergie entre les services Développement et Intégration? Dans leur livre DevOps for Dummies, Sanjeev Sharma et Bernie Coyne donnent quelques pistes en indiquant que le DevOps passe par:

  • un déploiement régulier des applications, la répétition contribuant à fiabiliser le processus ;
  • un décalage des tests « vers la gauche », autrement dit de tester au plus tôt ;
  • une pratique des tests continus dans un environnement similaire à celui de production ;
  • une boucle d’amélioration courte (un service QA ou un système de feed-back rapide des utilisateurs) ;
  • une surveillance étroite de l’exploitation et de la qualité de production factualisée par des métriques et indicateurs « clé ».
Le DevOps, ce n’est pas…

Parce-que le terme même de DevOps reste au coeur de nombreux débats, parcqu’il reste  relativement complexe à définir, je propose d’aider ceux qui restent dans le vague et voyant ce que le DevOps n’est pas… Ça peut sembler tout bête mais ce fonctionnement par l’inverse permet souvent de mieux comprendre un terme, donc je m’y engouffre…

devops-1 Le DevOps au coeur de la transformation numérique Tout Internet Culture

Le DevOps, ce n’est pas:

  • … juste une culture. Certains affirme qu’il s’agit d’une culture, d’une façon de penser, difficilement transposable au schéma organisationnel d’une entreprise. Avec son ensemble d’outils analytiques, ses techniques de travail et d’organisation en équipe, ces processus d’automatisation, les exemples nous ont montrés que le DevOps dépassait le simple cadre de la culture d’entreprise.
  • … la simple association de deux services. En simplifiant au maximum, certains expliquent que le DevOps définit l’association des developpeurs et de opérateurs/ingénieurs… et puis c’est tout. Mais cela ne suffit pas. La bonne application du principe DevOps implique l’adoption d’un ensemble de processus et de techniques dans toutes les étapes du canal de production. L’Intégration Continue et la Livraison Continue (deux processus DevOps) impliquent par exemple une réorganisation générale de nombreux services impliqués dans toutes les étapes de la conception à la sortie d’un logiciel, avec de nombreux outils spécifiques.
  • … la fin du service exploitation. Parce-que le mouvement DevOps cherche à rassembler au maximum les services Développement et Exploitation, certains pensant qu’il s’agit, ni plus ni moins, de la mise à mort orchestrée du service Exploitation, alors qu’il n’en est rien. Le DevOps doit plutôt permettre de réorienter les problématiques propre a chaque services, véritable frein à la productivité, vers les problématiques communes propres à l’entreprise et aux objectifs globaux. Le succès général du mouvement DevOps implique bien souvent des équipes avec d’excellentes compétences en développement et en exploitation travaillant conjointement afin de créer le meilleur logiciel possible.
  • … juste un outil. Mettre en place une organisation DevOps ne se résume pas à mettre en place un ensemble d’outils. S’il est vrai que certains outils d’automatisation ou de gestion tels que Chef ou Jenkins facilitent la tache, ils sont tout aussi dangereux s’ils sont mal utilisés. Ainsi, sans technique de travail adéquat et sans outils d’analyse adaptés, les outils peuvent rapidement devenir obsolètes et surtout contre-productifs.
  • … juste un titre ou une équipe toute seule. On serait vite tenté de mettre sur pied une équipe DevOps afin d’adopter rapidement les différents points cités dans la première partie. Malheureusement, cela est souvent source de confusion, surtout si la mission n’est pas clairement définie. S’il arrive parfois que la mise en place d’une équipe DevOps sur le court terme soit utile, la clé d’une bonne stratégie DevOps passe par la collaboration entre service dans un but d’amélioration perpetuel.
DevOps_18 Le DevOps au coeur de la transformation numérique Tout Internet Culture

Exemple d’organisation DevOps agile (source: fortolab)

Je vous proposerais bientôt quelques articles relatifs au DevOps, que cela concerne des techniques (comme le SCUM) ou des proccess (le déploiement continu). En attendant, si vous désirez plus de précisions, vous pouvez toujours me contacter en cliquant ici.


Source

TheAgileAdmin
sei.cmu.edu
wikipedia

Laisser un commentaire