Net Ask GCU: haproxy SAYMIEU ?

December 27th, 2009 par iMil

Tags: , ,

Je profite de cette periode de calme pour tenter un nouveau type de nouvelle, “Ask GCU”, à mi chemin entre le forum et l’information.
GCU, c’est au minimum 150 ingénieurs sur IRC, avec chacun leurs experiences, leur connaissances et leurs blagues toujours du meilleur goût. À travers les années, nombre de questions ont trouvé leurs réponses sur le canal, mais même si loggée si dessus, la vie du canal est bien trop mouvementée pour former une knowledge base où puiser rapidement et efficacement (si des lutins parmis vous ont une idée sur la question, j’écouterai les propositions avec intérêt).

Je me lance donc le premier avec une question pour laquelle j’ai un intérêt immédiat et réel.

J’ai démarré un nouveau job voila quelques semaines, et il m’incombe de trouver une methode fiable de Haute Disponibilité. Ma plateforme doit :

  • Répondre le plus rapidement possible
  • Être tolérante aux pannes
  • Permettre le remplacement d’équipement de façon la plus transparente possible
  • Être scalable, là encore de manière transparente

Les services visés en premier lieu sont des serveurs HTTP/HTTPS, mais la solution devra probablement assez rapidement pouvoir gêrer d’autres types de services (SMTP,DNS,IMAP…).

Il y a quelques années, dans un autre boulot, c’étaient des Switchs Load Balancers de type Foundry, grâce au protocole VRRP pour la redondance, qui prenaient en charge ces opérations. Dans mon précédent job, c’étaient des machines GNU/Linux équipées d’IPVS affublées d’un script maison pour assurer un semblant de redondance.

Aujourd’hui, des lutins du canal m’ont parlé du couple HAProxy / keepalived qui semble présenter un nombre important d’avantages, comme notamment le fait qu’il fonctionne parfaitement sous Xen (au contraire d’IPVS) ou encore sa capacité à gêrer la persistance de session.

Et vous, avez-vous mis en place ce type d’architecture ? Si oui, quel menu avez-vous choisi ? (réponses souhaitées en commentaire evidemment)

Posté dans Net | 9 Comments »

9 Reponses pour “Ask GCU: haproxy SAYMIEU ?”

  1. KmiKze Says:

    Ici on utilise le couple Alteon Application Switch pour les Load Balancers en vrrp et Alteon SSL pour le HTTPS, c’est à dire que les serveurs HTTP ne recoivent jamais de SSL, c’est au matos de chiffrer/déchiffrer.

    Les Load Balancers gèrent la persistance de session, et le renvoi les flux https vers les alteons SSL grace à un filtre kivabien qui eux renvoient à leur tour vers le backend HTTP.

    Voila en gros ce qu’on utilise chez nous.

  2. djo Says:

    Pour les services HTTP(s)/MAIL/DNS j’ai longtemps utilise des ServeIron (XL et 4GS-SSL) de chez Foundry/Brocade. Comme specifie dans le comment precedent ces petits equipements son bourres de fonctionnalites et il est possible de realiser de la haute disponibilite, de la tolerance de panne et aussi de la “scalabilite” horizontale.

    Apres, il faut se poser la question du stockage :
    - Pour les services qui s’y apprettent, du stockage NFS (Typiquement HTTP(s)/MAIL)
    - Pour les Windowsries et ben CIFS… mais a tester a fond la caisse avant : beaucoup d’aleas au niveau des parametres de securites sur les applis .Net et touti conti.
    - Pour les services qui s’y apprettent un backend BDD type SQL ou LDAP (DNS, DHCP)

    Evidemment, apres il faudra securiser les backend type (BDD ou stockage) eux meme :
    - Pour les BDD M$ (SQL server) la meilleur technique c’est les techno a base de Windows Cluster. Ca marche tres bien en Fail-Over.
    - Pour les BDDs MySQL/Postgres et les services de fichiers type NFS/CIFS : Pas teste autre chose que RedHat Cluster Suite mais ca marche tres bien et c’est bien stable (si on ne rajoute pas la composante GFS, sinon on passe de bien stable a tres tres instable :) ) Et la j’en profite pour lancer un appel a tous les BSDistes qui lises ces lignes, il n’y a RIEN d’equivalent a Cluster Suite dans toutes les souches BSDs… Si je me trompe merci de bien me montrer ou je peux trouver ca (Heartbeat n’est pas une reponse valide :) )

    Pour “securiser” les “Default Gateways” VRRP marche bien.
    Pour “securiser” la presence sur Internet le MultiHoming BGP est la solution.

    etc
    etc

    Pour les petits services, la couche HA des hyperviseurs de virtualisation peuvent aussi apporter une bonne alternative mais vu les prix des licences VMwares par exemple faut bien que ca soit justifie. J’ai eu la possibilite de jouer avec ca marche tres bien.

  3. MisterG Says:

    Chez mon client actuel on a un HA Proxy / Keepalived en actif passif pour faire la communication entre les frontaux et le middleware.

    On tient plus de 300 hits/s en HTTP avec 80 instances Weblogic à alimenter. Le tout ne dépasse pas les 5-6% d’occupation CPU sur des DL-360 avec RHEL.

    On envisage même de remplacer les Alteons qui sont devant les frontaux par une ferme de Squids + HA Proxy.

  4. nico Says:

    Ici sur quelque chose de bien moins gros on a du relayd : la conf est facilement automatisable, on peut reloader tranquille, les checks sont aisement customisables et l’intégration avec PF est juste parfaite (en même temps c’est fait exprès).

  5. oliv3 Says:

    Oui bon ok, je vois venir d’ici les remarques comme quoi je proserl, mais voici déjà une solution pour le DNS

    http://eddie.sourceforge.net/what.html

  6. guiguiabloc Says:

    Attention au mélange des services… on ne lb pas tout de la même manière…
    Perso, on utilise des Alteons devant des fermes d’apache en reverse proxy qui pointent ensuite en http sur les serveurs applicatifs type tomcat.
    exemple : http://blog.guiguiabloc.fr/index.php/2008/07/04/haute-disponibilite-de-fermes-apache-et-tomcat/

    Ce n’est qu’un exemple, quel type d’applicatif rends-tu hautement disponible ?
    relayd marche également tres bien sur du statique basique, nginx aussi.
    Coté redondance de données, hadoop est une piste que tu devrais creuser..
    Bref énormément de solution mais tout dépend de l’existant et de ce que tu veux rendre Hautement-disponible (http ne veut rien dire :-p)
    Rendre hautement disponible du statique en oubliant le dynamique ou les SGBD c’est oublié des briques.
    pense SOPF, toujours ;-)

  7. pestouille Says:

    L’expérience collectée chez un gros FAI c’est :
    - beaucoup de bugs sur Altéon (notamment en HTTP/1.1 et SSL)
    - très bon résultat avec F5 BigIP

    Pour ma part dans un environnement avec des moyens moins important :
    - HAProxy (+Linux HA) + Nginx (ferme)

    Comme précisé dans un commentaire on ne LB pas n’importe quoi n’importe comment. Les exemples cités ci-dessus sont principalement en HTTP/HTTPS (même si dans la pratique ils font également du LB de niveau 4).

    Sinon on m’a présenté un produit de chez Crescendo (utilisé pour Skyblog en lieu et place de Zeus ZXTM). Le produit parait prometteur mais jamais pu tester en réel.

    Par rapport à Hadoop pour la redondance des données, je le deconseillerais pour des performances importantes.

    Mes 2 cents

  8. kbour23 Says:

    Pour apporter un peu de complément à Pestouille ,j’ai récemment participé à la mise en place d’un Crescendo. Enfin plutôt la tentative. A 3 fois , avec le service technique en live from israël … abouti sur un failed.

    Leur OS est semble-t-il buggy. Ils ont du apporté une modif de dernière minute pour un correctif niveau SSL. Connexions non établies sur les apache (de leur dire du à notre version 2.2 ?!). Suite à quoi, trop d’interruption nous n’avons pu aller jusqu’au bout.

    Malgré un projet non aboutie, le produit à l’air vraiment bien, avec un cli à la cisco simple & efficace (même en couleur :P … L’interface graphique est par contre à jeter. Visiblement ils sont en train de la refaire.

    Donc pour moi, malgré une com très très corporate, produit tjs en beta. tester en labo et sur une plate-forme plus petite -> nikel.

    Par contre je pense que ce n’est pas très transparent (pour le dev) comme techno, avec des pincettes donc pour les fournisseurs de services.

    a+
    thom

  9. Forth Says:

    Dans un précédent taff, sur des sites à fort traffic, on avait jeté les squid pour le remplacer par du varnish (http://varnish.projects.linpro.no/) : charge divisée par 10 . Varnish cestlebien, mangezen.

Répondre

Vous devez être identifié pour poster un commentaire.

Identification

Enregistrez-vous

SQUAD!

GCU live

[10:03:27] tris_ Beuhsse, tu es prié de revenir quand tu seras propre !
[10:04:19] tris_ quelqu'un pour mettre dehors Beuhsse svp ? cc iMil jaroug
<-- Beuhsse left #gcu.
[10:07:48] tris_ il s'est mis dehors tout seul
[10:08:09] moid il est parti fumer sa beuhsse
[10:22:43] Vigdis moid: y a un commiter qui s'appelle "thxbye" ?
<-- avelldiroll left irc: Quit: WeeChat 0.3.8
[10:23:40] moid non
[10:24:11] moid mais il y en a un qui s'appelle "unbreakthetree"
--> avelldiroll joined #gcu.
<-- brancaleone left irc: Ping timeout: 258 seconds

Miiissioudaaam'

Archives:

Meta:

Hosted by:

NBS-System