mardi 15 janvier 2013

Serveurs physiques Versus Serveurs virtuels

0°) Introduction

L'objectif de cet article est de vous faire partager mon retour d'expérience sur la migration de l'hébergement de nos serveurs physiques vers un hébergement virtualisé.
Je me suis rendu compte à travers mes recherches que même si on parlait énormément de technologie "Cloud" et "IAAS", il n'était pas vraiment évident de si retrouver dans la jungle des offres disponibles, même pour un professionnel.
Il est possible que la problématique exposée dans cet article soit particulière et ne réponde pas à l'ensemble de vos interrogations. Mais globalement si vous gérez aujourd'hui des serveurs physiques et que vous louez une ou plusieurs baies dans une salle machine, cet article vous donnera un aperçu et surtout un exemple réussi de migration de serveurs physiques vers des serveurs virtuels.

1°) L'état des lieux

Depuis 1998, les serveurs de la société NAOS sont hébergés chez INTERNET-FR. Dans une de leurs salles machines ultra sécurisées, nous avons bénéficié pendant plus de 14 ans d'une qualité de services exceptionnelle. Que ce soit au niveau des caractéristiques techniques mises à notre disposition pour notre hébergement que de la qualité relationnelle avec les équipes techniques. A tel point qu'il ne nous était jamais venu à l'esprit de chercher une autre solution pour l'hébergement de nos serveurs.

Le seul point d'ombre à cela, c'est que nous n'avions pas accès à nos serveurs 24H/24 et 7J/7. Mais, nous avions fait avec. Les pannes étant assez rares, nous avons compensé ce léger souci d'accès par la mise en place de serveurs de secours (1 serveur de secours pour 2 serveurs en production) avec des procédures de bascule en cas de plantage, pour assurer à nos clients un taux de disponibilité le plus élevé possible. Concrétement, comme nous avions à notre disposition une plage de 32 adresses IP, nous avons attribués une adresse IP pour chaque service et une adresse IP pour chaque serveur. Ainsi, il suffisait de reconfigurer les cartes réseaux des serveurs de secours pour que les services soient relancés.

Cette stratégie avait quand même ses limites. En effet, il fallait être sûr que le serveur en panne ne soit pas redémarré, sinon des collisions et des pertes de paquets réseaux risquer de créer de gros souci si sur le même réseaux nous avions configuré la même adresse IP sur 2 cartes différentes.
Mais cela ne c'est jamais présenté.

Malheureusement, toute bonne chose a une fin. Fin Mai 2011, INTERNET-FR est racheté par la société PROSODIE. Jusque-là, pas d'affolement, même si nous nous posons pas mal de questions... L'inquiétude vient d'une annonce deux mois plus tard, mi-juin 2011 sur le rachat de PROSODIE par CAP GEMINI.  Là, nous comprenons que notre aventure avec notre hébergeur est sur sa fin....

Bon, c'est la vie....

Fataliste, même si à ce moment là, nos interlocuteurs privilégiers chez INTERNET-FR se veulent rassurants, nous entamons quand même à notre grand regret notre quête du Saint Graal : 

2°) A la recherche d'un nouvel hébergeur !

Avant d'entamer mes recherches, je fais un état des lieux des prestations que nous disposions afin d'essayer de trouver quelque chose d'approchant. Bien sur, nous avions conscience qu'il serait très difficile de retrouver l'équivalent rapport qualité/prix.
L'état des lieux fût assez rapide :
  • 6 serveurs (double alimentation 500Wx2, et oui les serveurs ne sont pas tous jeunes...)
  • 32 adresses IP
  • 2 routeurs (un réseau local + un réseau public)
  • 1 baie 42U
  • très bonne bande passante
Tant qu'à changer, autant aussi gommer les lacunes de notre précédent hébergement, donc en plus nous voulions :
  • accès à nos serveurs 24h/24 et 7j/7
  • reboot physique à distance
Voilà, YaPluKa

Je commence mes recherches en mars 2012 et elles s'avèrent très difficiles :
  1. Trouver des sociétés qui gèrent des salles machines d'hébergement sur Paris, Ile de France.
  2. Qui sont intéressées par louer 1 seule baie ou 1/2 baie.
  3. Dont le prix de la location n'est pas fonction de la consommation des ressources mais forfaitisé.
  4. Trouver des sociétés qui veulent faire un devis
  5. ...
Je me rends compte que c'est la jungle.... et j'ai énormément de mal a avoir un début de réponse, même en appelant directement les personnes. C'est assez exaspérant et surprenant. Malgré tous j'obtiens 2 devis, de la part de Céleste et de Téléhouse : un grand merci
Mais malheureusement leurs propositions ne correspondent pas à nos attentes.

Devant ce constat d'échec, nous devions changer de stratégie et commencer à penser à abandonner nos machines au profit de machines de locations chez un hébergeur. Là, du coup c'est beaucoup plus facile à trouver car les offres sur ce sujet sont pléthoriques...

3°) Dans le vif du sujet

Depuis quelques années maintenant, j'avais une position assez tranchée sur la mise en place de serveurs virtuels. Mes arguments (pour les environnement Linux) étaient les suivants :
  • Ajout d'un surcouche à l'OS : ce qui ne peut que pénaliser les performances.
  • Ajout d'un SPOF (Single Point Of Failure) : Mettre plusieurs serveurs virtuels sur une seule machine physique.
  • Démultiplication des serveurs : ce qui se traduit par l'accroissement du travail d'administration, de déploiement, de supervision, etc...
  • L'optimisation et la gestion des ressources physiques devient de plus en plus difficile et ce fait uniquement par accroissement des dites ressources...
Donc j'étais plutôt adepte d'optimiser les ressources d'une machine avec un bon OS plutôt que de multiplier l'installation de plusieurs serveurs.

Fin Septembre 2012 un événement va remettre à plat toutes mes convictions : un plantage hardware d'un serveur de production...
  • Impossible de rebooter, 
  • les délais d'intervention de mon hébergeur ont frôlé les 24h
  • la carte réseau du serveur continuait de répondre donc impossible de passer sur le serveur de secours. 
Bilan, chez NAOS on commence à se poser des questions sur l'hébergement de machines physiques. Pourquoi pas s'intéresser au marché de l'hébergement des serveurs virtuels ?
Là aussi, les offres sont pléthorique et nous avions du mal à nous y retrouver, et pourtant l'informatique c'est notre métier, je n'osais même pas imaginer si nous n'avions pas eu les compétences requises pour effectuer ce type de démarches....
Nous avions quand même une assez bonne idée de ce que nous cherchions et nous avions du mal à trouver chaussure à notre pied. Jusqu'à ce que je me rende compte en lisant mes emails, que la société GANDI (le registrar de l'ensemble de mes domaines) était un acteur assez actif dans le marché du Cloud et plus particulièrement dans le domaine du IAAS. Et, ô miracle, fin septembre 2012, GANDI annonce la mise à disposition de la distribution OpenSuse 12.1. Tous les signes étaient au vert pour faire notre choix...

Un tour d'horizon rapide du service proposé par GANDI me permet de constater dans un premier temps que cela peut répondre à nos attentes. Donc, il ne nous restait plus qu'à tester.

Et là, je commence à être assez bluffé par la simplicité et l'accessibilité du service. Comme à son habitude, GANDI travaille essentiellement sur le net. Donc, l'ensemble des opérations s'effectuent via une interface web, qui est assez simple et suffisamment ergonomique. Ce qui m'allait très bien :
  • Pas besoin d'attendre des semaines un hypothétique devis.
  • Aucun engagement dans le temps.
  • Une offre technique très claire et sans surprise.
  • Une offre financière claire et surtout très abordable.
  • ...
Le principe choisi est assez déroutant au début, mais on s'y habitue rapidement. En mode serveur, vous achetez des parts de ressources. A ce jour, une part correspond à :
  • 1 coeur
  • 512 Mo de mémoire
  • 12Go d'espace disque (SAS en Raid 10)
  • 10Mbps de bande passante

Bon, je ne vais pas décrire ici l'ensemble des avantages et des possibilités de la solution GANDI. Le mieux est de se rendre sur leur site pour le découvrir ...

De notre côté, après une quinzaine de jours de tests, nous avons complètement adopté la solution et pris la décision de migrer l'ensemble de nos services.
Avec cette expérience, j'ai remis mes convictions au goûs du jour et aujourd'hui, je commence (enfin! diront certains) à appréhender les bénéfices du cloud pour notre entreprise.

Plusieurs avantages pour nous, que je vais essayer d'énoncer et de commenter (peut-être pas de manière exhaustive) ci-dessous par degré d'importance  :

4°) Zéro serveurs physiques

Le fait de ne plus avoir de serveurs physiques, corrige deux freins majeurs dans notre mode de fonctionnement et dans nos offres de services.
Notre premier frein était lié au coût d'acquisition et de maintenance d'un serveur physiques. Lors de la mise en place de nouveaux services et/ou de propositions de nouvelles prestations, nous étions obligés :
  • d'intégrer dans nos coûts et/ou propositions, l'amortissement de l'achat des serveurs. Pour une proposition, il fallait demander à notre client, un engagement minimum de 36 mois (comptablement, c'est le délai nécessaire pour l'amortissement d'une machine). 
  • de contracter un crédit pour financer cet achat. 
  • de proposer des délais de mise en service pouvant s'étaler sur plusieurs mois (acceptation du crédit, délais de livraison des serveurs, mise en production des services, etc...).
  • de prévoir l'espace nécessaire dans notre baie d'hébergement et le cas échéant d'intégrer un coût supplémentaire de location d'une nouvelle baie.
Le second frein venait de la gestion des ressources de nos serveur et de la gestion de l'obsolescence de notre parc. Concernant l'optimisation des ressources, nous avions des serveurs qui étaient toujours surdimensionnés afin d'éviter de se retrouver sous-dimensionné après quelques mois d'exploitation. Il était très difficile après la mise en production de modifier les caractéristiques physiques d'un serveur :
  • difficulté d'accéder à la salle machine,
  • dans la majorité des cas, l'intervention nécessitait un arrêt des services,
  • risque non négligeable de générer des problèmes collatéraux suite à l'intervention.
Donc comme vous l'aurez compris, aujourd'hui, avec nos serveurs virtualisés, nous avons déporté l'ensemble des problèmes énoncés ci-dessus auprès de notre nouveau prestataire. Plusieurs gains financiers notables très rapidement:
  • réduction de notre TCO (notre coût de possession).
  • suppression de l'ensemble des contrats de maintenance hardware de nos serveurs.
  • réduction de notre facture d'hébergement.

Maintenance et  sauvegarde des données améliorés

5°) Agilité de l'entreprise.

La première conséquence évidente et mesurable induite par le choix de passer à des serveurs virtuels est d'avoir introduit une forme d'agilité dans les "futur services" que nous pourrons proposer.
En effet, la mise en production d'un serveur peut s'effectuer en quelques jours (uniquement liée à la complexité des services à installer).  Le choix de fonctionnement de notre prestataire va nous permettre de proposer à  nos clients de pouvoir s'engager sur des périodes inférieures ou égales à 12 mois.

A titre d'exemple, vous trouverez ci-dessus les délais qui ont été nécessaire pour la migration de notre serveur de supervision basé sur NAGIOS :
  • Délai d'acquisition des ressources auprès de GANDI : 1h
  • Installation d'OpenSuse 12.1 (image GANDI) : 1h
  • Configuration spécifique du serveur : 2h
  • Installation de NAGIOS et configuration des machines et services à superviser : 6h
  • Tests de validation et correction des problèmes : 5h
  • Mise en production : 1h
Soit un total d'environ 16h (deux grosses journées) de travail pour migrer un serveur NAGIOS. Honorable non ?

La deuxième conséquence concerne la gestion et l'évolution des ressources des serveurs. Bon, je n'ai pas une grosse expérience des serveurs virtualisés, mais je trouve que le concept mis en place par GANDI est assez séduisant. Concernant les ressources attribuées, vous avez les ressources propres au serveur (CPU, mémoire) et les ressources externes (carte réseau, espace disque).
Les cartes réseaux et les espaces disques sont attachés à un serveur.
Dans l'exemple ci-dessous, j'ai un serveur 3 cœurs avec 4Go de mémoire auquel est attaché une interface réseau.



Sur ce serveur, j'ai attaché 2 disques :
Un disque qui contient le système d'exploitation et un autre qui contient les données des services qui tournent sur ce serveur.
Premier avantage, en supposant que je dispose de l'espace disque nécessaire, je peux à tout moment faire un spnashot des mes disques très simplement.
Je peux aussi agrandir la taille du disque, à priori sans avoir à redémarrer le serveur. Mais je me suis rendu compte que même en effectuant un resize2fs, j'avais besoin de faire un reboot (qui ne dure que quelques secondes).
Ce qui est séduisant, c'est que je peux détacher les ressources associées à un serveur et les rattacher à un autre serveur (mais je n'ai pas encore testé). Idem pour l'interface réseau (mais je n'ai pas encore testé aussi). Ce qui ouvre des perspectives de garanties de services assez intéressantes.
Avec un peu d'organisation et de rigueur, nous allons améliorer considérablement le taux de disponibilité de nos services (même si celui si était quand même assez bon), offrir aussi des garanties plus importante sur la pérennité des données qui nous sont confiées.

Donc vous l'aurez compris, nos limites en terme de ressources seront étroitement liées à celles de notre prestataire...

6°) Conclusions.

Pour conclure, même si je suis énormément séduit pas les nouvelles perspectives qui me sont aujourd'hui offertes les services virtualisés, je suis quand même conscient que cela soulève certains nouveaux problèmes :
  • une très forte dépendance vis-à-vis de mon prestataire.
  • mes serveurs ne sont plus sur le même réseau.
  • impossible d'installer un réseau privé entre l'ensemble de mes serveurs, donc le trafic même intra-serveur passe par le réseau public.
  • accroissement nécessaire des règles de sécurité et de cryptage des données échangées entre les serveurs.
  • quid des garanties des données en cas de pertes suite à un problème grave sur l'infrastructure du prestataire ?
  • ...
Il faut malgré tous rester réaliste, aujourd'hui il est impossible d'avancer et de proposer des services innovant sans dépendre d'un prestataire... Donc le tous c'est de prévoir des plans de sorties en cas de problèmes.
Nous nous sommes déjà affranchi (du moins nous le pensons ???) des problèmes de sécurités en durcissant et en affinant les règles de nos pares-feux, et des problèmes de confidentialités d'échanges de données intra-serveurs en cryptant ces échanges via OpenSSL (cela fera l'objet d'un autre post concernant la mise en place de crytpage avec MySQL).

Pour les autres nouvelles contraintes, nous allons pour l'instant, déjà profiter des plus apporter par ces nouvelles technologies et nous essayerons dans le futur de palier aux nouveaux problèmes induits par les choix qui ont été fait.

Aucun commentaire:

Publier un commentaire