samedi 30 novembre 2013

L'évolution de l'infrastructure


La transformation des infrastructures au service de la virtualisation x86 est le moteur de l’industrie IT depuis une dizaine d'années.

Serveurs

Pour les serveurs d’entreprise, même si certains demandaient en 2004 à VMware de supporter Itanium. Intel persista sur le sujet jusqu’au moment où AMD réussit une belle échappée en proposant du 64 bits sur x86. Intel rattrapa son retard et x86 s’est imposé comme le standard. Proposant d’année en année, plus de performance, plus de cœurs…

Stockage

Les fournisseurs de stockage ont tout d’abord adressé les questions de performances et de redondances. Ensuite, pour se différentier, ils ont développé une multitude de fonctionnalités spécifique pour chaque type d’application critique. L’argument clé étant : « une application critique nécessite une infrastructure spécifique ». De mon point de vue, une application critique qui nécessite une architecture spécifique est surtout mal écrite. Mais, c’est un autre sujet. Bref, avec l’arrivée de la virtualisation, l’abstraction entre l’application et l’infrastructure venait troubler la fête… Cette dernière demande un espace de stockage banalisé alors que tous les fournisseurs font la course aux spécificités.

Convergé

Mettre tous les ingrédients de l’infrastructure dans une baie ne change rien à son architecture. Certes, c'est un peu plus industrialisé. Mais, cela reste complexe, difficile à mettre à jour, demande une réflexion importante à chaque évolution. On peut toujours augmenter le nombre de serveurs ou de disques. Mais, les contrôleurs de stockage restent des goulots d'étranglement.

L’approche orthogonale

Google, Facebook, Amazon… ont rapidement constaté que l’approche classique était un frein à leurs développements : trop cher, trop complexe, impossible de suivre les changements d’échelle. Ils ont décidé d’utiliser de simples machines x86 incluant les disques, et de mettre en place une distribution des traitements et des informations de manière logicielle (GFS).


Un serveur chez Google 

Mais, difficile pour l'entreprise de transformer toutes ses applications afin de les distribuer sur une telle plateforme. Issue des équipes GFS de Google, les ingénieurs de Nutanix ont imaginé un espace de stockage distribué dédié à la virtualisation x86. Comme elles sont majoritairement virtualisées, toutes les applications, sans aucune adaptation, peuvent profiter de cette nouvelle approche. 
D'autres solutions, uniquement stockage (CEPH, Isilon...) ou dédiés au Big Data (Hadoop...) avaient déjà pérennisé cette approche. Avec Nutanix, pour la première fois, les ressources de virtualisation x86 sont intégrées avec le stockage dans la même machine.

Interconnecter des serveurs x86 standard par un simple réseau Ethernet balaye d'un coup les architectures complexes. Cette nouvelle étape dans l'évolution des infrastructures sera lourde de conséquences pour l'ensemble des grands constructeurs IT. 



samedi 16 novembre 2013

Alors, vous voulez monter un Cloud ?



A chaque fois que l'on me demande d'intervenir sur un projet d'infrastructure "Cloud" (IaaS), j'ai toujours un doute sur le mouton à cinq pattes qui devrait en sortir. J’ai donc une liste de questions, non exhaustive, permettant de dessiner les contours de l'animal.

Pour commencer, la définition du Cloud par le NIST (sept. 2011) est une bonne base:

Vraiment cloud Pas vraiment cloud
On-demand self-service Chaque client pourra déployer à sa convenance des VM, réseaux, services... sans intervention humaine, dans la limite, ou non, des quotas qui lui seront associés. Nous avons un catalogue de services. Chaque demande dans ce catalogue suivra un processus de validation avant déploiement.
Broad network access Sur un projet de cloud public, l'accès par Internet est une évidence. Pour un cloud privé ou dédié, on peut comprendre que cela soit limité à l'accès depuis l'entreprise. La sécurité est notre priorité et toutes les demandes d'ouverture de flux seront validées par une équipe sécurité.
Resource pooling Peu importe où se trouvent les ressources et les données dans la plateforme du moment que l'isolation entre les clients est respectée et qu’ils sont servis correctement en ressources et en débits. Les ressources serveurs, stockage, réseaux sont dédiés à chaque client pour garantir les performances et le service offert par l'infrastructure.
Rapid elasticity Chaque client pourra changer de taille. Statistiquement, la moyenne globale permet d'absorber les pics et de se concentrer sur la tendance globale.
Le changement d'échelle de l'infrastructure devra être linéaire et sans remettre en cause de l'architecture.
A chaque demande d'évolution du client, nous aurons un délai raisonnable pour lui provisionner les équipements nécessaires.
Measured service La consommation et la réservation de ressources seront mesurées en continu. La facturation des ressources, en toute transparence, est le contre poids de la liberté. Sans cela, il n'y aurait pas de limites au gaspillage de ressources. Le contrôle des coûts se fait à chaque demande. Ainsi, nous maitrisons le budget.

Ensuite viennent les questions plus philosophiques:
Vraiment cloud Pas vraiment cloud
Gouvernance Gouvernance par délégation Gouvernance centralisée
Approche Prêt-à-porter Sur mesure
Organisation Les équipes applications sont indépendantes des équipes infrastructures. Le rôle des équipes infrastructure est de comprendre les architectures applicatives afin de mieux répondre à leurs besoins.
Gestion de projets Multiples projets en simultané, basés sur l'expérimentation. Le succès est mesuré par l'adoption. Projets planifiés basés sur des études approfondies avant mise en oeuvre.
Continuité de services sur la plateforme Les applications doivent être conçues ou transformées pour apporter de la continuité de service, quelles que soient les défaillances de l'infrastructure. L'infrastructure doit mettre en oeuvre tous les mécanismes permettant de garantir la continuité et la performance aux applications.
Nous devons accepter, sans modification, toutes les applications existantes.
Continuité de services entre plateformes Les applications sont distribuées sur plusieurs sites et les données sont propagées instantanément. C'est l'infrastructure qui assure la continuité et la reprise d'activité entre sites.
Applications critiques Le fonctionnement des applications critique est garanti par la répartition multi-datacenter. Les performances sont assumées par l'élasticité automatique. Des infrastructures dédiées sont nécessaires pour les applications critiques afin de garantir les performances et la continuité de service.
Bases de données Scale-out et "share nothing". Scale-in et clustering avec Quorum.

Mis à part pour le cloudwashing marketing, tous les projets d'infrastructures n'ont pas forcément besoin d'être "Cloud". Mais, il est bon d'appeler un chat, un chat. Chercher à obtenir les réductions de coûts et la simplicité d'un côté, et les sophistications de l'autre alimenteront encore pour longtemps les réunions de projets. Pendant ce temps, le shadow-IT sur le cloud public et les concurrents auront pris une bonne longueur d'avance.

De même, l'arrivée du "Software-Defined" ne résout pas tout, et n'est pas uniquement destinée à faire du "Cloud". D'ailleurs certains projets sont bien partis pour faire de belles usines à gaz d'orchestration (comme c'est possible, il ne faudrait pas s'en priver !). Heureusement, les applications ont entamé leurs transformations afin de ne plus rien attendre des infrastructures autres que des ressources.

mardi 12 novembre 2013

Nuta… quoi ? Nutanix ?

Retour sur l’histoire du stockage partagé pour la virtualisation

J’ai rejoint VMware en Avril 2004 pour démarrer l’activité en France. Après HA (le redémarrage de VM lors de l’arrêt d’un serveur), c’est à cette période, que sortait vMotion (Le déplacement à la volée de VM entre serveurs physiques sans interruption). L’obligation pour HA et vMotion d’avoir un stockage partagé entre les serveurs de virtualisation, imposa l’usage de SAN et NAS dans le monde virtuel x86.
Au passage, il faut se souvenir que le SAN a été inventé pour les mainframes afin d’apporter des performances, de la qualité de service et la réplication inter-sites. EMC a amorcé son activité en adressant ce marché. Ensuite utilisé pour les serveurs Unix et x86 critiques à haute performance, il n’avait pas été imaginé pour fournir un service de stockage de commodité.
Pour le NAS, beaucoup de détracteurs considéraient à l’époque que ses performances étaient inadaptées et trop en dessous du SAN. D’accord, les premiers à l’adopter étaient surtout intéressés par la facilité de gestion et la simplicité d’IP comparé à FC. Mais, avec l’arrivée du 10Gb/s Ethernet, la montée en puissance des contrôleurs et l’évangélisation du marché par Netapp, le NAS se voit maintenant utilisé majoritairement pour la virtualisation.
Bien que ces deux solutions n’étaient pas vraiment destinées à cet usage, il n’existait pas d’autres options pour partager le stockage. Avec l’adoption massive de la virtualisation, de nombreuses fonctionnalités ont été ensuite développées par les fournisseurs de matériel.

Les racines d’une nouvelle approche

Lorsqu’une technologie innovante arrive, il y a ceux qui font comme avant, sans rien changer fondamentalement, et il y a ceux qui décident d’en profiter pour faire autrement, en remettant tout en cause. Ce constat est intemporel.
Avec l’arrivée des SSD, est-il encore utile de centraliser le stockage dans une boite pour paralléliser des axes de disques afin d’obtenir redondance et performance ?
D’autre part, pour traiter des volumes démesurés de données, les architectures de Big Data placent les traitements au plus proche de l’information. Aussi, pour ne pas refondre leurs infrastructures à chaque changement d’échelle, les grands acteurs d’internet ont quitté les architectures classiques que nous connaissons en entreprise pour des architectures distribuées totalement banalisées.
Le SSD et ces conceptions nouvelles augurent d’une nouvelle façon de penser.


Bascule du stockage centralisé à distribué 

La publication par les équipes de Google des principes d’un système de fichier distribué inspira le développement d’Hadoop File System (HDFS). Les équipes Nutanix ont repris l’idée en l’appliquant à la virtualisation. Ainsi cela profite à toutes les applications sans aucune modification.

L’utilisation de stockage SSD distribué dans chacun des serveurs de virtualisation couplés avec une redondance d’information entre les serveurs pose les fondements d’une nouvelle conception des infrastructures. C’est celle de Nutanix.

Les bénéfices sont multiples : Evolution sans jamais remettre en cause son architecture, l’investissement se fait au fur et à mesure des besoins avec un niveau de performance optimal. Je reviendrai dessus dans mes prochains posts.

Finalement, j’ouvre un blog !

Durant les 9 dernières années, passées à démarrer VMware en Sud-EMEA. J’ai pu compter sur mes amis blogger et journalistes. Mais, trop de journalistes ont changé de métier avec la crise de la presse IT et beaucoup de bloggers ont rééquilibré leur vie en dehors de la toile.

Alors, c’est fait, j’ouvre ce blog. J’espère vous faire partager mes passions autour de l’IT et peut-être aussi faire des détours sur mes nombreux hobbys.