Mon salon ... linux (1/2)

le 18/04/2009 par Gabriel Guillon
Tags: Software Engineering

Les 31 Mars, 1er et 2 Avril se tenait le salon Solution Linux OpenSource. J'y suis allé faire un tour non seulement pour voir d'anciens collègues et visiter les stands des associations, mais surtout pour assister à une table ronde et des tutoriels qui m'intéressaient ce jour: Comment gérer son infrastructure virtuelle (table ronde du matin), le framework AJAX OpenExt et les RIA industrialisés avec PHP (tutoriels de l'après-midi). Je voulais voir comment ces sujets industriels allaient être traités par le Monde Libre.

Je vais scinder en 2 billets, afin de rendre la lecture plus digeste, et commencer, partie 1, par...

Comment gérer son infrastructure virtuelle

Table carré ronde avec comme intervenant: Oracle, Red Hat, Microsoft, Sun, Novell, Ikoula et Arkea.

Oui, il manque Citrix et surtout VMWare. On pourrait débattre longtemps sur leur absence et la présence de Microsoft, mais disons pour l'instant que ni l'un ni l'autre n'offre de solution open source et n'ont donc pas de raisons d'être présent à ce salon.

L'ambiance était assez étrange, ça m'a fait penser à un marché où chacun disait "ils sont beaux, mes poivrons!": chacun cherchait clairement à défendre et vendre sa solution. Pour autant, chacun était respectueux des autres (il n'y a pas eu de lancé de troll)

D'Oracle, RedHat, Microsoft, Sun et Novell, chacun avait sa solution de virtualisation.

Présentation des chevaliers et de leurs armes:

  • Virtualisation de serveur pour Oracle. Avec haute disponibilité de la base de données (par exemple) J'avoue ne pas avoir vraiment compris à quel niveau et de quelle manière Oracle faisait de la virtualisation. Ils disent 'paravirtualisation', mais ils n'ont pas cité d'OS. Quid des autres applications, dans ce cas? Supporte-t-ils tous les OS? Beaucoup de questions sans réponses...
  • KVM pour RedHat: Pour rappel, KVM est un module noyau Linux qui permet à ce dernier de faire de la virtualisation et d'utiliser les instructions de virtualisations fournies par Intel (Intel-VT) et AMD (AMD-V). RedHat supporte donc KVM, en plus de Xen.
  • Microsoft a sa propre solution: Hyper-V. Téléchargeable gratuitement. Microsoft est surtout fier de son module d'administration: System Center Virtual Machine Manager (est-il possible des pendre des marketeux pour manque d'imagination dans le choix des noms de produit?)
  • Sun propose xVM: une famille de 4 produits: xVM Server, xVM VirtualBox, xVM Ops Center et VDI software, qui n'est "pas sec" (sic!).
  • Novell propose Xen plus des outils d'administration, obtenus lors de l'achat de PlateSpin. Notamment Orchestrate.
  • Ikoula, qui est un hébergeur, jouait le rôle de contre-pouvoir: Ikoula est "utilisateur" de la virtualisation.
  • Arkea, éditeur de solutions de sauvegarde.

Débats

Une fois passé la présentation des éditeurs et de leurs solutions, plusieurs thèmes ont été abordés, dont voici quelques grandes idées:

  • Ne pas tout virtualiser pour le plaisir (et surtout la base de données, en fait le seul mini troll de la table ronde),
  • Penser à sécuriser physiquement (l'alimentation, par exemple). Virtualiser, c'est bien, mais ça rend l'infrastructure d'autant plus sensible au matériel,
  • Problème de compétences internes. Virtualisation, donc nouvelle technologie. A-t-on les compétences en interne? Choix éditeur ou open source?
  • Problème de coût de licences vs. coût du matériel. A étudier de prêt,
  • Problème de stockage: les images disque prennent de la place...

Un point intéressant a été soulevé: celui du cycle de vie des machines virtuelles.

Comment les sauvegarder, par exemple? Cette question explique la présence d'Arkea, qui propose une solution de sauvegarde. Il faut penser à sauvegarder l'image de la VM mais aussi les données des applis qu'elle héberge: une image disque n'est qu'un gros fichier; endommagé il ne sert plus à grand chose. Et un fichier s'endommage plus facilement qu'un disque dur...

Mais aussi comment gérer leur prolifération? la tendance est à la multiplication des VM puisque c'est facile à mettre en œuvre. Microsoft annonce que le nombre de licences commandé à augmenté (je n'ai plus le chiffre en tête)"grâce" à la virtualisation. J'y vois là un symptôme: où avant on s'arrangeait avec l'OS qu'on avait installé, maintenant on virtualise ... quitte à racheter une licence (virtualisation = facilité? quitte à payer? on n'est pas censé être en crise économique, normalement? :) )

Comment gérer un parc vieillissant? La virtualisation permet de garde en vie de vieilles applications, dispensant ainsi de les refactorer. Ça peut être un problème, ou pas, mais il faut avoir conscience que maintenir ainsi une vieille application sous perfusion virtuelle n'est pas forcément le meilleur moyen de la rendre pérenne, et n'est sans doutes que repousser l'échéance du refactoring... Et quid d'une VM qui n'a pas été allumée depuis des mois, de son patchage, de la mise à jour de ses applications et de l'OS? Cela ne va-t-il pas ouvrir une faille de sécurité dans votre SI, cet OS/appli non à jour?

Les ressources particulières que nécessite la virtualisation (stockages, formations, prévisions, ...) nécessitent un capacity planning que les entreprises effectuent bien trop rarement.

Ikoula, une fois de plus pragmatique, suggère d'y aller calmement, de faire une étude sur la nécessité de virtualiser, sur les capacités du matériel à encaisser des VM:  10 VM sur une machine réelle ne communiquent que par 1 câble réseau réel qui n'aboutit qu'à un seul switch réel, d'où possibilité d'engorgement et d'atteinte des limites du ... câble! Je n'avais effectivement pas réfléchis à cet aspect: tout virtuel qu'il soit, l'OS est hébergé par du matériel réel, qui a ses limites en termes de bande passante (réseau, I/O), stockage, mémoire, ...

Conclusion

Je m'attendais, plein d'illusions, à de vrais débâts, j'ai assisté à un concours de "moi aussi je sais le faire". Seul Ikoula apportait du réalisme face aux sirènes des éditeurs. Mais dans un tel schéma (une table de 7 éditeurs sur une estrade face une salle, pendant 2h) pouvait-il en être autrement? Le débat pouvait-il vraiment naître?

Pour autant les points soulevés étaient intéressants, et m'ont appris quelques choses:

  • La virtualisation est un domaine relativement mature pour lequel il y a de l'offre, du déploiement jusqu'à la sauvegarde en passant par l'administration,
  • Il faut se poser quelques questions de bon sens avant de virtualiser: coût (des licences OS et logiciel de virtualisation), compétences, matériel, nécessité, ...

Moralité, la virtualisation n'est pas la solution à tous les problèmes, comme on aurait tendance à le croire. Les offres sont séduisantes, et plus matures que ce que je le pensais, mais ce n'est pour autant qu'il faut se jetter dessus, ce que j'ai l'impression que tout le monde fait. Avant de penser "aller hop hop hop zou je virtualise!" il convient de se demander si ça en vaut vraiment le coup/coût et si vous avez les capacité de gérer sur le long terme cette technologie particulière.