Du web classique vers le cloud computing (trois).

La série d’article du web classique vers le cloud computing se concentre sur les besoins des entreprises, sur les bonnes pratiques pour construire un site web et les besoins pour maintenir des sites existants.

Tout au long de cet article, je vais faire un focus sur le processus de construction d’un site web, sur la gestion d’un projet informatique, sur la gestion des environnements, sur la notion de « socle ».

A partir de ce constat, des pratiques de gestion des projets web classique, je vais franchir le pas, vers le « Cloud computing ».

Mon prochain article traitera la dimension sauvegarde, du PRA ( plan reprise d’activité), de la sécurité des données et des installations.

@ bientôt

Avant propos

La gestion des environnements est un terme que j’utilise pour simplifier la compréhension du sujet. En fonction de l’entreprise, on parle de plate-forme, de serveur, d’environnement, de vm (machine virtuelle). C’est un environnement d’hébergement, de travail et d’exécution d’un programme informatique. Il est constitué de une à plusieurs machines réelles ou virtuelles en production.

Cet article aborde le cloud à partir de cas concret et d’une réflexion basée sur de l’existant. Afin de présenter au mieux le sujet web classique, je suis parti d’un site de commerce électronique, avec de nombreux utilisateurs (acheteurs et fournisseurs).

Les schémas qui vont être présentés, intègrent des notions de répartition de charge (load balancing), de serveur http, de serveur de traitement et de cluster de base de données. Ils proposent des flux entrants et sortants vers des fournisseurs, vers des entreprises externes. Je vous invite à lire mes anciens articles pour comprendre les schémas. Ils sont très utiles à la compréhension des impacts et des enjeux du cloud computing.

Comparatif de la structure d’une entreprise classique VS entreprise Cloud.

Nous avons vu dans les articles précédents :

  • L’architecture d’une entreprise classique

Infrastructure multi partenaires

L’entreprise est réparti sur 3 sites ( Paris, Nantes et Rouen), elle fait appel a 2 sociétés externes. Le centre informatique est situé à Paris.

  • La même architecture dans le Cloud computing

solution cloud computing - IAAS

Le schéma ci dessus, représente la même entreprise, le site de commerce électronique migré dans le nuage (dans le cloud computing), chez un prestataire Cloud computing. Il représente l’entreprise d’un point de vue production.

Les services autour de la facturation, le service RH, le service paie ne sont pas représentés sur les schémas.

Le premier constat ?

Dans la première entreprise, l’entreprise est construite,  bâtie autour du noyau, autour du site web (de commerce électronique) et de son informatique. Le site de Paris est beaucoup plus grand.   L’informatique représente une large part de l’activité de l’entreprise. Nous avons des chefs de projets, des ingénieurs, des analystes, des experts, des techniciens réseaux, etc .. propres à l’entreprise.

Dans l’entreprise qui utilise les services Cloud computing d’un prestataire ou d’un hébergeur, l’informatique est plus diffuse. L’informatique, la technique, les machines ne sont plus le centre, le coeur ou le poumon de l’entreprise. L’activité est décentralisée par rapport au client.  Les chefs de projets sont toujours là, par contre les techniciens réseaux , les experts sont chez le prestataire de cloud computing. La population informatique a été scindée en deux partie. La partie fonctionnelle se situe prés du coeur de métier de l’entreprise , la partie technique se retrouve prés et chez l’infogérant.

La perception de l’informatique et du rôle au sein de l’entreprise sont différents. Les équipes internes n’ont plus exactement le même rôle. Il y a une transformation de l’ informatique. Dans le premier cas, elle est dans les locaux de l’entreprise (interne) , dans le deuxième cas, elle est fortement externalisée.

Je vous propose de rentrer un peu plus dans le cœur de la production informatique, de la conduite de projet, pour affiner, notre réflexion.

Les impacts sur la réalisation d’un projet cloud ?

La méthode de conduite d’un projet

Dans les entreprises, tous les projets suivent une méthode de conduite de projet (les diverses méthodes de conduite de projet).  La plus connue est la Démarche de cycle en V. Il existe de nombreuses méthodes.

La méthode de projet sert à conduire le projet informatique à son terme en respectant les impératifs de qualité, coût et délai est le découpage du projet en phases. Chaque phase est accompagnée d’une fin d’étape destinée à formaliser la validation de la phase écoulée avant de passer à la phase suivante.

Tous les projets informatique suivent une méthode de conduite de projet. Ils s’inscrivent dans les bonnes pratiques d’une entreprise. Un projet de logiciel informatique est décomposé en plusieurs phases.

Diverses phases

Pour mener à bien, la réalisation d’un projet informatique d’une certaine taille, le chef de projet doit découper le projet en plusieurs phases, et prévoir un environnement de travail et d’exécution par phase. La construction d’un environnement demande l’achat de matériel, la préparation et l’installation des divers serveurs.

Les phases d’un projet

A partir de la phase d’étude et de rédaction du cahier des charges, des spécifications générales et détaillées, le projet entame un parcours plus ou moins long. Nous avons des phases qui sont incontournables et d’autres pas.

  • La phase développement :

Le poste développeur est l’un des postes les plus difficile à représenter. Le développeur teste les nouvelles fonctionnalités au travers d’un navigateur internet. Les besoins du développeur sont simples, par contre ils sont conditionnés par les choix techniques et logiciels de la production.

  • La phase de recette :

La recette d’un projet informatique est réalisée par une ou des personnes, et aussi des automates. L’utilisation des automates permet de reproduire les cas de tests plusieurs fois. La phase de recette permet de vérifier la conformité du développement avec le cahier des charges et le cahier des tests.

  • La phase de pré production

Pre production

Elle permet de produire le livrable finale et la documentation d’installation avant la livraison finale. L’environnement de pré production ressemble fortement à la production, par contre, il n’y a pas d’utilisateurs finaux. Les équipes utilisent des bouchons pour simuler la présence d’un dispositif, d’une machine, d’un service interne ou externe à l’entreprise.

  • La phase de mise en production :

Infrastructure multi partenaires

La mise en production est l’étape ultime d’un projet. C’est le passage délicat vers la production, l’instant de vérité sur les projets.

Chaque phase a un rôle distinctif. Elle complète et valide des qualités du livrable finale, elle a une durée variable et se répète pour chaque version du logiciel.

Il est important de retenir. Chaque phase dispose d’un environnement distinct, d’une équipe de personne. Les environnements sont dimensionnés en fonction des besoins de chaque phase, des plus simples aux plus compliqués. La réalisation d’un projet informatique important demande de nombreux environnements technique et du temps de préparation (création, administration, initialisation).

La construction des environnements

La construction des environnements est un service transverse au sein d’une entreprise. Ce service est constitué de plusieurs dimensions, l’ achat des ressources, la gestion de la capacité, la construction et maintenance des environnements, la cartographie et les référentiels des machines.

La construction des environnements intègre la notion de « socle« . Un socle est un ensemble de briques logiciels et techniques pour répondre aux besoins d’un ou des projets. Le socle comprend l’achat des licences de logiciel, l’achat du matériel, le façonnage des environnements et la maintenance. Le socle est adapté et décliné sur tous les environnements d’un projet.

Tous les 5 ans environ, un entreprise doit changer et construire des nouveaux socles, pour suivre les progrès technique et mettre à jour les parties logicielles obsolètes, ou plus maintenues par les éditeurs logiciel.

Je vais citer 2 exemples de socles différents:

  • Nous avons un socle autour de Microsoft windows 2003. De nombreuses entreprises sont en train de migrer leurs sites web vers Microsoft windows 2008 en 64 bits. La solution est plus performante, elle est plus stable, etc..
  • Dans le monde des serveurs d’application Java, c’est la même chose, nous avons la pile logicielle IBM Webphere Application Serveur 5.1 (2001) vers la version 6.1 (juin 2006), vers la version 7 (septembre 2008), vers la version 8 (2011). Les diverses versions de WAS suivent et intègrent les évolutions du langage java et de la pile J2EE (Java Enterprise Edition).

Chaque nouvelle version apporte de nouveaux services, de nouvelles options, des améliorations, des évolutions, etc.. Je ne parle pas des correctifs, des fixes patchs  qui s’ajoutent à cette liste. Un socle repose sur une à plusieurs briques techniques (machine, réseau) et des briques logiciels ( un système d’exploitation (Unix, windows, Mac OS/X, Linux, AIX), un serveur de traitement,  des logiciels maison, etc ) .

La mise au point d’un socle technique est un investissement souvent important, qui demande des ressources logicielles, techniques, humaines, et du temps. La construction d’un socle à un impact majeur sur la conduite et le maintien des projets informatique.

Le rapport avec le cloud ?

Le processus de création logicielle cloud suit les phases de réalisation d’un projet classique (développement, recette, production, etc). Il faut prévoir le même nombre d’environnement sur le cloud.

Qu’est ce qui change ? Nous commençons a nous rapprocher du mystère. Je dénombre quatre changements majeurs :

  • la mise à disposition des infrastructures,
  • la gestion de l’hébergement,
  • la construction du socle,
  • la création du logiciel.

La présentation du processus de création du logiciel permet d’entrevoir ces différences.

La mise à disposition des infrastructures cloud.

La construction et la production d’environnement Cloud repose sur les infrastructures de l’infogérant. Le client doit faire une demande d’environnement détaillé, avec une typologie, le détail de chaque serveur (machine), les usages, les accès internes ou externes vers cet environnement. Le client doit procéder à la recette de l’environnement par rapport au cahier des charges et il doit s’assurer de la conformité des installations.

Le client doit s’approprier une vision de la structure informatique et l’infrastructure réseaux du partenaire « cloud », établir et cartographier l’ensemble de ses besoins  Il doit déterminer ce qu’il est possible de faire ou pas en terme de sécurité, en terme de flux, en terme de mutualisation. Il doit déterminer tel projet travaille avec tel autre projet.

La gestion de l’hébergement cloud

La disponibilité des ressources, l’optimisation des machines, le dimensionnement des machines sont régit par l’hébergeur. Il se doit de disposer de ressource sur étagère rapidement et sur demande. Il a un rôle d’anticipation par rapport aux besoins. Il échelonne les achats des machines en fonction des besoins des divers clients.

Le client bénéficie des économies d’échelle liées à l’achat groupé, à l’administration, à l’expertise groupée. Le client bénéficie des infrastructures de sauvegarde mutualisé. Il dispose d’un levier puissance et d’une facturation à l’usage. La facturation unique permet de connaître le cout d’un service, et de quantifier les efforts à faire. Le client peut à tout moment figer un environnement et reprendre plus tard les travaux.

La construction du socle technique cloud

La bataille du cloud repose sur la maîtrise du socle.

Nous avons deux types de cloud qui s’affrontent, le IAAS (Infrastructure as a service, le service c’est l’infrastructure), et le PAAS (Plateforme as a service, le service c’est la plateforme – l’environnement).

  • Les fournisseurs d’infrastructure (de type IAAS) proposent des machines virtuelles avec du disque, de la mémoire, de la puissance CPU et un système d’exploitation. La création du socle repose sur les épaules du client.
  • Les fournisseurs de plateforme (de type PAAS) proposent des solutions beaucoup plus complètes,  ils intègrent des socles cloud plus ou moins évolués. Le client doit s’adapter au fonctionnement des socles distribués (cloud).

La frontière entre les deux type de cloud à tendance à s’estomper. Les éditeurs de logiciel proposent de plus en plus des solutions cloud. Il y a une convergence entre les socles classiques et les socles cloud.

La création du logiciel cloud

La  création du logiciel est fortement liée au socle et au type d’hébergement. L’informatique, les programmes sont morcelés en programmes beaucoup plus petit. Les entreprises écrivent et migrent des morceaux de programmes vers le cloud. Elles transforment les programmes en service. Elles tissent des partenariats et gère la consommation des services à l’usage.

Les socles classiques reposent sur des systèmes d’exploitation (windows), des serveurs d’application (websphere) , et des bases de données (oracle). Ces composants sont très répandus dans les entreprises.

De l’autre côté, nous avons les socles cloud. Je vais prendre le cas de Google Application Engine (GAE), il repose sur un serveur Jetty modifié (java), sur une base de données BigTable, et sur des infrastructures de plusieurs machines. On parle de base de données NoSQL, de nuage de données, de BigData.

Une base de donnée classique se retrouve sur une ou deux machines. Une base de données cloud  est répartie sur plusieurs machines. La structure de la base de données est totalement différente et le fonctionnement aussi.

La création de logiciel sur le cloud répond à de nouvelles contraintes, la facturation à l’usage, les temps de latence réseau, la perte de localisation (stateless), l’emprunte mémoire, le nombre de connexion à la base de données, etc.

Les socles Cloud actuellement offrent de nombreux avantages, par contre ils sont limités par deux aspects ( les accès vers les bases de données, et les temps de latences) . De nombreux progrès ont été réalisés afin de réduire ces défauts.

Les socles Cloud s’adaptent de plus en plus aux besoins classiques et inversement.

Pour conclure

Je me suis forcé a rester claire tout au long de cet article, sur un  sujet compliqué. L’univers du cloud, du bigdata  est un univers passionnant, qui réserve de jolies surprises à venir.

Le cloud est une tendance de fond, lié d’une part à la virtualisation, d’une autre part à la mutualisation des ressources dans des data-center de part le monde.

Nous sommes dans un monde fini, avec des connaissances limités . Une entreprise, un département dispose de compétence dans un domaine, une autre dans un autre domaine. Le cloud permet de s’affranchir des limites et de créer du partenariat. Il permet de faire des économies autour de la conception des produits et du cycle de vie d’un projet.

Nous allons de plus en plus vers des projets hybrides (classique et cloud), vers une informatique multi-acteurs, vers une informatique de service (entreprises externes, recherche interne). Elle demande une bonne maitrise de l’existant, du fonctionnelle, une connaissance approfondie des environnements et des contraintes techniques et logicielles.

Je vous invite à réagir, à compléter et à échanger sur le sujet. Si vous avez des questions ?

A propos Duarte TERENCIO

Chef de projet et Architecte J2EE - Portail d'entreprise - Cloud computing Vous trouverez plus d'information sur la page "Me contacter"
Cet article, publié dans Cloud computing, est tagué , , , , , , , , . Ajoutez ce permalien à vos favoris.

7 commentaires pour Du web classique vers le cloud computing (trois).

  1. Ping : Du web classique vers le cloud computing (trois). | Portail d'entreprise, ITIL et cloud | Scoop.it

  2. Mahdi dit :

    Bonjour,

    En tant qu’intéressé par les différents aspects de la gouvernance des systèmes d’information. Je trouve votre article très intéressant et présentant une vision synthétique de l’architecture du cloud. Cependant, en parlant de cloud nos amis les écologistes soulignent la dimension environnementale ou Green IT qu’il faut prendre en considération dans ce genre de projets qui, il me semble, conduisent à des consommations accrues de l’énergie.

    • Grkvz dit :

      Non justement, l’avantage du Cloud est de participer au Green IT.
      Je m’explique, au lieu d’avoir des serveurs utilisant seulement 20% de leur capacité (multiplié par le nombre d’entreprise au monde qui ont leur serveur sur site). Cela fait une énorme perte, et de la consommation inutile.

      Alors que la, le principe est d’éviter le gachi de stockage, en prenant 100% des capacités serveur. Ce qui va diminuer le nombre de serveur dans le monde, puisque les prestataires (ou fournisseur de service cloud) utilise la virtualisation afin d’optimiser les capacités serveurs.

      Dans tous les cas c’est plus rentable d’externaliser via le cloud, que conserver une infrastructure classique, sauf pour le cas de la sécurité de données … qui est encore un sujet très flou dans le cloud …

  3. Ping : Du web classique vers le cloud computing (la suite). | Un regard sur le cloud

  4. Ping : Du web classique vers le cloud computing (quatre) | Un regard sur le cloud computing

  5. Ping : Du web classique vers le cloud computing. | Un regard sur le cloud computing

  6. Ping : Du web classique vers le cloud (cinq) | Un regard sur le cloud

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s