A propos du cloud computing

La SOA est morte en début d’année, la nature ayant horreur du vide notre industrie se devait de trouver un nouveau moteur de croissance. Le cloud semble être l’heureux élu. Plus un éditeur ou intégrateur qui ne s’affiche pas comme leader de son marché en matière de cloud computing ! Les équipes marketing ayant fait leur travail le concept de cloud a rejoind la métaphore, il apparait comme fumeux pour beaucoup de monde. Pourtant, passé cet écran de fumée il y a bien une révolution en marche pour notre industrie. Je ne tenterais pas de vous donner une définition, si vous en chercher une, prenez la définition du cloud computing du NIST. Un bel exercice de synthèse mais qui se place uniquement du point de vue du consommateur de service dans les nuages. Pour comprendre le cloud computing il est nécessaire de se placer du point de vue des fournisseurs de service dans les nuages et de revenir sur leurs origines. Historiquement le nuage est le symbole utilisé dans les schémas d’architecture pour représenter les réseaux longues distances (WAN), Internet étant le réseau des réseaux, le cloud computing n’est rien d’autre que l’informatique des acteurs de l’Internet avec au premier plan Google, Amazon et Salesforce.

Les acteurs historiques de l’informatique comme IBM, Microsoft, Oracle ou SAP ont peu de légitimité pour parler de cloud computing et énormément d’handicaps pour en faire.

Les acteurs de l’Internet ont du réinventer tout leur système d’information pour répondre à des besoins auquels l’informatique traditionnelle n’était pas capable de répondre. Quels sont ces besoins ? L’environnement dans lequel évoluent les acteurs de l’internet est très particulier:

  • La concurrence n’est jamais à plus d’un click ;
  • Les réputations se font et se défont en quelques jours.
  • Le nombre d’utilisateurs potentiels se compte en centaines de million ;
  • Les quantités de données à gérer sont en croissance exponentielle ;
  • Les pics de monté en charge peuvent être démentiel (effet slashdot).
  • Les attaques informatiques de toutes sortes sont incessantes ;

En conséquence leur système d’information doit:

  • Monter en charge à l’échelle d’Internet autant techniquement qu’économiquement ;
  • Garantir un très haut niveau de sécurité et de disponibilité ;
  • Supporter des développements agiles ;
  • Respecter le Web.

Les technologies habituellement utilisées en entreprise ne sont pas capables de répondre à ces contraintes.

Monter en charge à l’échelle d’Internet

Le problème de la monté en charge fait une première victime: la base de données relationnelle. Disons le une bonne fois pour toute, contrairement à ce que prétendent les pubs d’Oracle, une base de données relationnelles est limité dans sa capacité à monter en charge (les jointures font que l’on peut monter en charge verticalement mais pas horizontalement). Faite lire à un DBA le papier d’Amazon à propos de dynamo, ça risque de lui faire drôle. Monter en charge à l’échelle de l’Internet ne se limite pas à une solution technique.  La monté en charge doit aussi être compatible économiquement avec un déploiement sur des milliers de serveurs, la conséquence est qu’il n’est pas concevable :

Ainsi les serveurs de Google tourne sur Linux, la virtualisation d’Amazon fonctionne avec Xen. Vous pouvez utilisez leurs services immédiatement, tout le provisionning ainsi que la facturation sont entièrement automatisés.  Après votre DBA c’est le gestionnaire de votre datacenter restera interloqué par la manière dont Google conçoit ses datacenter : Designs, Lessons and Advice from Building Large Distributed Systems

Garantir un très haut niveau de sécurité et disponibilité

Le choix du logiciel libre par les acteurs d’Internet n’est pas uniquement économique mais aussi stratégique. Sur Internet on ne parle pas de vendre un logiciel mais de fournir un service, donc de qualité de service. Comment garantir un SLA si on ne maitrise pas de bout en bout la chaine de fourniture du service? Imaginez une solution SaaS qui ne respecte pas son SLA à cause d’un bug dans une solution propriétaire… Les acteurs du Cloud ne sont pas juste très compétents avec les technologies Web. Ils maitrisent autant  le hardware et le software que le réseau, pré-requis indispensables pour revenir au sens premier du terme informatique: le traitement automatique de l’information au lieu du traitement manuel de problèmes d’informatique. Là où l’informatique d’entreprise consiste à maintenir en vie des bases de données, faire fonctionner des ERPs, construire un système de GED ou un portail, l’informatique du cloud consiste à construire Gmail (et maintenant wave) lancer le Kindle pour Amazon ou Itunes pour Apple (aucun doute sur le fait qu’Apple soit un acteur du cloud)

Un acteur du cloud doit maitriser à la fois le hardware le software et le réseau.

Rien de surprenant donc concernant la rumeur d’une alliance EMC-VMware-Cisco (ce n’est plus une rumeur)

Supporter des développements agiles

La base de donnée relationnelle est assasinée une seconde fois par le besoin d’agilité, lorsque l’on gère des centaines de million d’enregistrements on y réfléchit à deux fois avant d’ajouter ou de modifier un index. Cette contrainte n’est pas acceptable dans le context Internet comme le montre l’exemple de Friendfeed. On en est même arrivé au point où un mouvement noSQL c’est crée ! L’eternel béta de la pluspart des services Web2.0 fait couler beaucoup d’encre. Mais le béta des acteurs du cloud ne veut pas dire la même chose que le béta d’un éditeur traditionel (un logiciel en béta contient encore de nombreux bug). Le béta du Web2.0 signifie que les fonctions du service ne sont pas encore figées, le service fonctionne sans bug mais il peut encore évoluer en fonction de l’usage qui en est fait. Google appel celà la réaction intelligente. En entreprise se sont les méthodes de développements agiles qui gagnent peu à peu leurs lettres de noblesse. Mais l’agilité du cloud ne se limite pas à la phase de développement elle va jusqu’à la production. En tan qu’architecte technique j’ai la reponsabilité de définir la plateforme physique qui accueillera une solution logiciel, dans ce domaine le surdimensionnement est la norme. Choisir, commander, installer, configurer des serveurs physique est un processus long et rigide. Une fois les choix fait on reste avec pour au moins 4-5 ans le temps d’amortir les investissements consentit. La plateforme Amazon EC2 fait exploser cette contrainte, sur le cloud on et libre de changer l’architecture physique (qui est virtualisée) tout les jours si besoin

Les acteurs du cloud sont agiles de la conception à la mise en production.

Respecter le Web

Comme indiqué en introduction le cloud computing est l’informatique de  l’Internet et du Web. Les acteurs du cloud sont les sociétés qui ont réussi sur le Web, sans le Web elles n’existeraient tout simplement pas. La promotion du Web et de ses technologies et donc une composante stratégique des acteurs du cloud. C’est sans surprise que Google base ses API d’accès aux données sur Gdata (un protocol RESTful basé sur Atom)

Une stratégie cloud qui ne place le Web au centre n’a pas de sens.

Conclusion

Méfiez vous des contrefaçons. Il y a un fossé culturel et technique entre l’informatique telle qu’elle est pratiquée aujourd’hui en entreprise et l’informatique que proposent les acteurs du cloud. Ce qui est vendu comme du cloud aujourd’hui est bien souvent la même chose qu’hier avec une petite dose de virtualisation et une grosse couche de marketing. Pour répondre à des besoins grands public les acteurs du cloud ont dû réinventer l’informatique, il en resort une véritable rupture technologique. Les acteurs de l’Internet ne fonctionne pas à la même échelle que les acteurs “enterprise” il y a plusieurs ordres de grandeur qui les séparent (Google disposerait de 8pétabytes (1000 tera, 1 000 000 GigaOctect) de stockage mais en mémoire pas sur disque !!

Pour résumer dans l’ADN du cloud computing on trouve:

  • de l’open source
  • de l’agile
  • du web
  • de l’innovation de rupture

2 thoughts on “A propos du cloud computing

  1. brice

    Dans le cadre des mes études, je réalise un mémoire de fin d’année de master sur la qualité dans les systèmes de cloud computing.

    Il m’est nécéssaire d’avoir un retour d’expérience de la part d’utilisateurs, d’administrateurs et de DSI sur l’utilisation d’une solution de cloud.

    Dans cette optique, votre aide me serait précieuse en remplissant le formulaire à l’adresse suivante :

    http://tinyurl.com/Questionnaire-Cloud-Computing

    Vous pouvez répondre à ce questionnaire de façon complètement anonyme.

    N’hésitez pas à le faire suivre.

    Je vous en remercie par avance.

Comments are closed.