IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Voir le flux RSS

Blog de Hinault Romaric (.NET Core, ASP.NET Core, Azure, DevOps)

[Actualit�] DevOps sur Microsoft Azure � Partie 1 : Introduction � DevOps

Note : 5 votes pour une moyenne de 4,60.
par , 13/07/2017 � 03h57 (11110 Affichages)
Nom : img1.PNG
Affichages : 104960
Taille : 36,3 Ko

Pourquoi DevOps ?

Le cycle de d�veloppement en cascade a �t� pendant de nombreuses ann�es le standard de l�industrie du d�veloppement logiciel. Ce dernier pr�ne le d�coupage du cycle de d�veloppement en phases, devant �tre effectu�es de fa�on s�quentielle.

La premi�re �tape dans ce mod�le est la d�finition du produit, ensuite l��quipe peut se lancer dans la conception, avant de d�buter avec l�impl�mentation. C�est lorsque la solution logicielle a �t� mise en place que d�butent les tests et v�rifications, qui vont permettre de d�couvrir des bogues qui seront corrig�s dans la phase de maintenance.

Ce mod�le a rapidement montr� ses limites : d�tection tardive des anomalies, gros retard dans la livraison de la solution, livraison d�un produit qui ne correspond pas aux besoins des utilisateurs, etc.

Nom : img2.PNG
Affichages : 9952
Taille : 33,3 Ko

Pour pallier les faiblesses du mod�le en cascade, plusieurs autres mod�les traditionnels ont vu le jour, dont le mod�le en V ou encore le mod�le it�ratif.

Toutefois, ces mod�les appliqu�s aux projets informatiques donnent toujours lieu � un taux d��chec consid�rable. Forts de ce constat, d'imminents informaticiens ont travaill� en commun pour produire un document d�finissant des principes simples et r�alistes pour la mise en place d�une application.

C�est alors que le mouvement agile a commenc� � prendre de l�ampleur. En pr�nant un cycle de d�veloppement centr� sur l�utilisateur et ses r�trospections, l�agilit� permet de livrer des solutions qui r�pondent aux besoins des utilisateurs et d�tecter et corriger les anomalies plus t�t.

Nom : img3.PNG
Affichages : 10037
Taille : 56,9 Ko

Parall�lement l��cosyst�me de l�IT a continu� � �voluer, avec des mutations consid�rables li�es � l�essor d�internet. Ce dernier est pr�sent dans pratiquement tous les domaines et touche toutes les couches sociales. C�est d�sormais un �l�ment cl� utilis� par les entreprises pour �tre proche de leurs clients.

La digitalisation vient acc�l�rer le rythme de l�innovation technologique. Les entreprises pour rester comp�titives et saisir les opportunit�s du march� doivent non seulement r�duire le Time To Market (TTM), mais �galement s'assurer de livrer une solution robuste correspondant aux besoins des utilisateurs.

L�agilit� permet de gagner en robustesse et qualit�. Cependant, les �quipes projets ne sont pas en mesure de livrer rapidement les applications. Le principal goulot d��tranglement est la barri�re qui existe entre les d�veloppeurs et les charg�s d�op�ration. Les d�veloppeurs veulent d�ployer en production rapidement, et ceci � moindre cout. De leur c�t�, les charg�s de l�infrastructure veulent maintenir l��tat et la stabilit� du syst�me. D�un c�t�, la livraison rapide peut se faire au d�triment de la qualit�, ce qui impacte la stabilit� du syst�me, alors que de l�autre c�t�, les contraintes impos�es par les charg�s d�op�ration se font au d�triment des co�ts et du temps.

Nom : img4.PNG
Affichages : 10384
Taille : 83,0 Ko

Pour briser cette barri�re, le concept du DevOps a vu le jour. Ce dernier s�appuie sur l�agilit� et la d�marche Lean pour offrir plusieurs m�thodes permettant une meilleure coh�sion entre l�ensemble des �quipes du syst�me d�information, favorisant ainsi l�atteinte d�un objectif commun : livrer rapidement une solution fiable et robuste. � Les �quipes du syst�me d�information ï¿½ fait r�f�rence � la fois aux d�veloppeurs, aux charg�s d�infrastructures et toute autre personne pouvant intervenir dans la cha�ne de livraison. Ce qui n�est pas le cas avec l�agilit�, qui n�int�gre pas les charg�s d�op�ration dans les �quipes agiles.

DevOps c�est quoi ?

Le terme DevOps est la concat�nation entre Dev (qui fait r�f�rence aux �quipes de d�veloppement) et Ops (pour les charg�s d�op�ration). Cependant, il existe de nombreuses divergences dans la d�finition et la description du terme. Les marketeurs vont faire passer celui-ci pour une boite � outils qu�on peut acheter et utiliser, certaines personnes pour un processus ou une m�thodologie. DevOps, c�est avant tout une culture, qui fait intervenir des personnes, des processus et des outils, dans le but de r�aliser un objectif commun. La d�finition qui r�sume parfaitement DevOps selon moi est la suivante : � DevOps c�est l�union des personnes, des processus et des outils pour livrer de fa�on continue et efficace de la valeur ajout�e aux clients. ï¿½

Les cinq piliers du DevOps

DevOps repose sur cinq piliers qui ont �t� d�finis autour de l�acronyme CALMS (Culture, Automation, Lean, Measurement, Sharing).

La culture

DevOps est une approche extr�mement centr�e sur les personnes. La mise en place de DevOps se fait avec des personnes qui sont pr�tes � faire face aux changements. Si des outils d�automation et des processus ont �t� adopt�s par l�entreprise, sans des personnes capables d�exploiter de fa�on efficiente ces derniers, ils ne seront d�aucune utilit�. C�est pourquoi il est primordial avant toute mise en place de DevOps d�accompagner au changement. Cela permettra de briser l�organisation h�rit�e des mod�les traditionnels (Waterfall, Cycle en V, etc.). Les �quipes doivent �galement �tre sensibilis�es sur l�int�r�t des tests (unitaires, int�grations, performances, etc.), l�automatisation, etc.

L�automatisation

L�automatisation est l�un des aspects cl�s de la mise ne place de DevOps. Des outils doivent �tre disponibles pour mettre en place une chaine de livraison, du d�veloppement jusqu�� la production, passant par des environnements de tests. De ce fait, il est indispensable d�avoir une infrastructure d�int�gration et de la livraison continue.

Par ailleurs, il est recommand� de maintenir une similitude entre les diff�rents environnements (Dev, Test, Pr�-prod, Prod). Le meilleur moyen d�y parvenir c�est le recours � des environnements scriptables (Infrastructure as Code) et proc�der � leur configuration en ayant recours � des scripts (Configuration as Code). Toute intervention manuelle doit �tre proscrite.

Lean

Comme je l�ai dit plus haut, DevOps s�inspire en partie de la culture Lean. Cette derni�re est centr�e sur l�objectif � atteindre, tout en �vitant les pertes de temps. DevOps se focalise donc sur la livraison de la valeur ajout�e aux utilisateurs, en �liminant tout ce qui n�est pas utile pour ceux-ci. Les livraisons doivent �tre fr�quentes et Just in Time.

Mesure

Dans un projet DevOps, les parties prenantes doivent s�am�liorer de fa�on continue. Il est quasi impossible d�apporter des am�liorations sans �tre en mesure d��valuer de fa�on fiable ce qui a �t� fait. C�est pourquoi il est recommand� de disposer des indicateurs permettant de mesurer les performances de l�application, d��valuer la qualit� des livrables, etc. M�me lorsque l�application est en production, des indicateurs de performances et de qualit� doivent permettre de mesurer la qualit� de l�application.

Partage

DevOps vise une meilleure coh�sion entre les �quipes autour du m�me but. La circulation des informations entre celles-ci est donc primordiale pour l�atteinte de l�objectif commun. Les �quipes doivent communiquer et �tre soud�es. Un probl�me ne doit pas �tre imput� � une personne. Mais, l�ensemble des parties prenantes doit collaborer pour offrir une solution rapide et fiable.

Nom : img5.PNG
Affichages : 15619
Taille : 73,2 Ko

Les diff�rentes pratiques de DevOps

Faire du DevOps c�est appliquer un ensemble de bonnes pratiques et recettes. Parmi celles-ci, il y en a qui existent depuis belle lurette. Il s�agit notamment de l�int�gration continue ou encore des tests automatis�s. Ci-dessous un ensemble de pratiques pouvant �tre appliqu�es par une �quipe DevOps.

Nom : img6.PNG
Affichages : 10504
Taille : 56,9 Ko

Dans les prochaines parties, je reviendrai de fa�on plus d�taill�e sur certaines de ces pratiques et comment elles peuvent �tre mises en �uvre en utilisant des services offerts par la plateforme Cloud Microsoft Azure.

DevOps et Cloud

Les pr�curseurs du DevOps sont les g�ants du Web. NetFlix est l�une des premi�res firmes � adopter DevOps. L�approche a �t� largement adopt�e par la suite par les acteurs du cloud, qui se livrent une concurrence f�roce. D�ailleurs, pendant un certain moment, DevOps �tait per�u comme un march� de niche pour les acteurs du cloud et les g�ants du Web.

Sur une infrastructure traditionnelle, les �quipes DevOps sont confront�es � plusieurs situations qui peuvent avoir un impact non n�gligeable sur le temps de livraison et sur la qualit� de l�application. Il s�agit entre autres du temps d�automatisation, du provisionnement des environnements, ou encore le maintien des �tats identiques entre les environnements. Les plateformes cloud offrent des outils permettant de mieux surmonter ces contraintes.

Temps d�automatisation

DevOps n�cessite le recours � des outils qui vont permettre la gestion de versions, l�automatisation des builds, l�ex�cution des tests unitaires, l�ex�cution des tests de performance, la g�n�ration des artefacts, le d�ploiement, etc. Ces outils ex�cutent de nombreuses t�ches qui, selon la taille de l�application, peuvent �tre gourmandes en ressources. Sans une infrastructure ad�quate, le temps d�automatisation peut devenir un v�ritable goulot d��tranglement pour l��quipe. Ce qui va impacter le temps de livraison des nouveaut�s.

La mise en place d�une infrastructure locale peut �tre assez dispendieuse. De nos jours, de nombreux �diteurs de logiciels offrent des plateformes d�int�gration et de la livraison continue h�berg�es dans le cloud. On peut citer entre autres Visual Studio Team Services, Pipelines ou encore Travis.

Ces plateformes offrent d�assez bonnes performances avec des tarifications souples.

Provisionnement des environnements

Dans une infrastructure traditionnelle, le provisionnement des environnements est parfois tr�s long. Lorsqu�une demande est faite par l��quipe projet, le retour des charg�s d�op�ration avec l�environnement demand� peut facilement prendre quelques jours. DevOps vise la r�duction de toute perte de temps inutile. Avec une plateforme cloud, en quelques �tapes, il est possible de cr�er et provisionner un environnement qui correspond � ses besoins.

Maintien des �tats identiques entre les environnements

Dans un projet DevOps, les environnements de d�veloppement, de tests, de pr�production et de production doivent �tre identiques. Une diff�rence entre ces environnements peut entra�ner des probl�mes de qualit�, car le d�veloppeur ne sera pas en mesure d��valuer son application telle qu�elle sera en environnement de production, par exemple. Maintenir le m�me �tat dans une infrastructure traditionnelle n�est pas �vident.

Le cloud, par contre, offre une certaine flexibilit� et agilit� permettant de provisionner et maintenir un �tat identique entre les environnements assez facilement.

Quelques services DevOps de Microsoft Azure

La plateforme cloud de Microsoft offre plusieurs services permettant de mettre en place un pipeline de d�veloppement et de livraison DevOps. Parmi ceux-ci, on peut citer :

  • Azure ARM ;
  • Azure Automation DSC ;
  • Azure Application Insights ;
  • Visual Studio Team Services ;
  • Azure Container Services;
  • Azure Container Registry ;
  • etc.


Dans les prochains billets de blogs, je vais revenir en d�tail sur chaque service, avec des impl�mentations concr�tes.

Restez connect� !

Envoyer le billet � DevOps sur Microsoft Azure � Partie 1 : Introduction � DevOps � dans le blog Viadeo Envoyer le billet � DevOps sur Microsoft Azure � Partie 1 : Introduction � DevOps � dans le blog Twitter Envoyer le billet � DevOps sur Microsoft Azure � Partie 1 : Introduction � DevOps � dans le blog Google Envoyer le billet � DevOps sur Microsoft Azure � Partie 1 : Introduction � DevOps � dans le blog Facebook Envoyer le billet � DevOps sur Microsoft Azure � Partie 1 : Introduction � DevOps � dans le blog Digg Envoyer le billet � DevOps sur Microsoft Azure � Partie 1 : Introduction � DevOps � dans le blog Delicious Envoyer le billet � DevOps sur Microsoft Azure � Partie 1 : Introduction � DevOps � dans le blog MySpace Envoyer le billet � DevOps sur Microsoft Azure � Partie 1 : Introduction � DevOps � dans le blog Yahoo

Mis � jour 30/08/2017 � 01h46 par Hinault Romaric

Cat�gories
Microsoft Azure , DevOps

Commentaires