Cloud
Déployer ses applications sur le cloud
Par La rédaction, publié le 01 septembre 2011
L’époque des pionniers s’estompe. Le cloud computing est devenu une plate-forme de développement et de déploiement comme une autre. L’outillage pour les développeurs et les exploitants a gagné en maturité, les plates-formes techniques sont en voie de stabilisation.
Aujourd’hui, près de la moitié des entreprises interrogées par IDC considère le cloud comme une plate-forme de déploiement à part entière pour leurs applications. Mieux, Forrester Research a fait du cloud computing l’un des cinq changements majeurs dans ce domaine en 2010. Développer pour le cloud est désormais une réalité : Salesforce.com revendique déjà 200 000 développeurs sur sa plate-forme force.com, pour 13 500 applications commercialisées. Selon Evans Data Corp, 48,9 % des développeurs travaillent aujourd’hui sur des applications amenées à être déployées dans un cloud privé cette année. Une vague de fond, et une véritable rupture pour ce métier. Les contraintes inhérentes au cloud computing ont d’abord fait voler en éclats certains fondements de l’informatique d’entreprise, en particulier la suprématie des bases de données SQL. Inadaptées aux architectures massivement distribuées du cloud, elles devaient céder le pas au stockage par blocs de données. Il fallait aussi coller aux contraintes spécifiques des services cloud, facturés aux ressources consommées et bridés sur certains aspects.
Minimiser les changements pour les développeurs
Depuis, Google s’est rallié les suffrages des développeurs en ajoutant Java à Python dans App Engine. De même, les bases SQL ont opéré leur grand retour. Amazon a complété son offre d’une solution SQL, Amazon SimpleDB. Parti tard, Microsoft a élargi son offre Azure tous azimuts : vers les SGBD traditionnels avec SQL Azure et, comme l’a annoncé Ray Ozzie en novembre lors de la conférence développeurs PDC 2009, vers le concept Iaas (Infrastructure as a service), à la façon d’Amazon EC2. Enfin l’éditeur a ouvert Azure aux développeurs PHP et Java en leur proposant les SDK et plug-in Eclipse adéquats.
Les fournisseurs de clouds ajustent donc leurs offres en fonction des remarques des développeurs et des critiques adressées par les entreprises. C’est notamment le cas sur la sécurité, le frein numéro un à l’externalisation de leurs données. Amazon a lancé VPC, une version durcie d’EC2 accessible par VPN IPsec. Microsoft, lui, a décidé de muscler le contrôle d’accès aux données d’Azure : c’est l’objet de son projet Vidalia. Toutefois, pour les utilisateurs européens, le problème de la localisation des données à l’étranger reste entier. Et même si Microsoft, Google, et peut-être un jour Salesforce.com, construisent des centres de données en Europe, le problème ne sera pas forcément résolu, les réplications de données entre centres étant la règle.
L’autre obstacle majeur à l’adoption du cloud est le manque de portabilité des applications. Le mouvement Open Cloud Manifesto fut un symptôme de ce malaise : développer une application Python sur Google App Engine, c’est la lier au service de Google et développer sur Force.com, c’est faire un choix qu’il sera coûteux de remettre en cause dans le futur. Nombre de directeurs techniques ont donc préféré l’approche Iaas, dans laquelle on conserve une pile logicielle connue dont on déploie une image dans le cloud, qu’il soit interne, public, privé et opéré par un tiers… Un choix avec un impact moindre du point de vue du développement et qui autorise aussi la mise en place d’architectures hybrides où les applications seront exécutées indifféremment en interne ou sur des clouds externes. L’outillage rend ce type de scénario de déploiement à portée de main.
La perception des services cloud public
Les services d’Amazon sont actuellement ceux qui bénéficient de la plus forte adoption par les développeurs. Google apparaît comme le principal challenger : son adoption devrait être équivalente dans l’année qui vient. IBM, Microsoft et VMware bénéficient aussi d’une forte attente.