# CAS D'USAGE


Dedicated Cloud

serveurs dédiés

serveurs dédiés

vRack

IP Load Balancing

stockage

HA

scalabilité

cluster de base de données

cluster Ceph

monitoring

message queue


Wimi : une infrastructure haute disponibilité associant Dedicated Cloud et serveurs dédiés grâce au vRack


Wimi est une plateforme de travail collaboratif lancée en 2012
Les fondateurs de la startup française Wimi : Antoine Duboscqet Lionel Roux
Aperçu d’un agenda partagé dans Wimi (en haut, les tâches partagées)
Aperçu des documents d’un projet au sein de l’interface Wimi.
Aperçu de la fonctionnalité « AirTime » (visioconférence directement dans le navigateur web grâce à la technologie WebRTC).

La plateforme de travail collaboratif en ligne Wimi a été lancée en 2012. Adoptée par plus de 25 000 organisations à ce jour, elle souhaite faciliter le travail d’équipe en rassemblant au sein d’une interface conviviale l’ensemble des services essentiels à une collaboration efficace : synchronisation et partage de documents (Wimi Disk), gestion de tâches, partage d’agendas, Chat, partage d’écran, conférence audio et vidéo (Wimi AirTime)... Le tout associé à une gestion des droits d’accès adaptée à un usage professionnel. Pour héberger cette plateforme, la startup française a bâti chez OVH.com une infrastructure haute disponibilité combinant, grâce au réseau privé vRack, Dedicated Cloud et serveurs dédiés.




Informations clés


  • 70 serveurs : 8 serveurs physiques + 63 VM réparties sur un Dedicated Cloud OVH.com (4 hosts L) ainsi que sur un cluster OpenStack hébergé localement (connecté à l’infra OVH par VPN)
  • 60 000 utilisateurs dans le monde
  • 1 000 requêtes https par seconde
  • 4 000 requêtes SQL par seconde
  • Base de données de 10 Go
  • Capacité de stockage utile 33 To (réplication des fichiers 3 fois)

Cahier des charges


  • Haute disponibilité du service : l’application doit être accessible 24 h/24, 7 j/7, 365 j/an
  • Sécurité des données : objectif zéro perte de données
  • Scalabilité horizontale : il est nécessaire que l’infrastructure puisse évoluer de façon transparente et s’adapter de façon élastique au nombre d’utilisateurs connectés
  • Hébergement des données sur le territoire français : contrainte imposée par certaines sociétés/organisations et argument marketing dans un secteur où la plupart des acteurs sont américains
  • Performances : l’intérêt d’une application cloud est très réduit si elle manque de fluidité comparée à une utilisation en local (=> nécessité d’un système de cache)
  • Connexion sécurisée au service pour les utilisateurs (https) et à l’infrastructure pour les administrateurs (VPN à double authentification)




Solution déployée chez OVH





La haute disponibilité de l’infrastructure repose sur plusieurs éléments. Premièrement, le choix d’une solution nativement HA telle que Dedicated Cloud dont chaque composant est redondé (des hosts à l’alimentation électrique, en passant par la connexion réseau). Deuxièmement, le découpage de l’ensemble en services, chaque service étant assuré par un cluster de serveurs indépendant, garantit la résilience de l’infrastructure. Au sein de chaque cluster, le dysfonctionnement d’une machine (voire de plusieurs machines simultanément) est sans impact, les serveurs fonctionnels du cluster absorbant temporairement la charge supplémentaire. Par ailleurs, cette organisation est aussi le gage de la scalabilité de l’infrastructure, puisqu’il suffit, pour augmenter la capacité de l’infra, de déployer de nouvelles machines au niveau des différents points de congestion. Une opération simplifiée par l’utilisation de Puppet (remplacé par SaltStack demain) pour automatiser le déploiement et la configuration de machines virtuelles supplémentaires. Pour améliorer encore la scalabilité de l’infra, le projet est d’évoluer d’un modèle essentiellement polling (vérification des updates à intervalles réguliers) vers un modèle push avec l’utilisation de technologies telles que WebSocket + node.js. C’est-à-dire de pousser les contenus vers les utilisateurs, plutôt que d’attendre les requêtes des navigateurs lorsqu’ils rechargent la page ou que le javascript effectue des requêtes AJAX.

1 - Répartition de la charge avec 2 IP Load Balancing

2 - Front-end (Nginx + PHP-FPM)

3 - Back-end / Cache (PHP-FPM + Memcached)

4 - Bases de données (cluster Galera)

5 - Stockage de fichiers (Ceph)

6 - Message queue (Rabbit MQ)

7 - Monitoring et analyse des performances

8 - Sauvegarde

9 - Réseau interne de l’infrastructure



Retour d'expérience


« En 2012, lorsque nous avons cherché un hébergeur pour monter l’infrastructure Wimi, peu de choix s’offraient à nous. Seuls de gros acteurs proposaient des solutions d’infrastructure virtualisée associant souplesse et performances. Mais ces acteurs étaient américains, et nous souhaitions rassurer nos utilisateurs quant à la confidentialité de leurs données. Nous avons découverts OVH.com et son offre Dedicated Cloud à cette époque. L’intérêt de Dedicated Cloud, outre le fait de déléguer entièrement la gestion contraignante d’un parc de machines physiques, réside dans le fait que les ressources sont dédiées et que l’on peut ajouter des hosts et datastores au fil de ses besoins. L’arrivée du vRack a été décisive. Il nous a permis d’associer le meilleur des deux mondes, le cloud pour sa souplesse et le serveur dédié pour sa puissance brute, particulièrement utile pour accueillir des bases de données très sollicitées. Sans ce réseau privé, il aurait été impossible de mettre en œuvre des choix techniques tels que le cluster Galera de bases de données MariaDB ou encore le stockage distribué Ceph. L’interconnexion des machines aurait été possible via leurs IP publiques, mais cela aurait affecté les performances globales de l’infrastructure et soulevé des problématiques de sécurité. Notre ambition pour l’année 2015 est de développer Wimi à l’international, et plus particulièrement en Amérique. Nous étudions pour cela la possibilité d’étendre/dupliquer notre infrastructure dans le datacentre canadien d’OVH.com, BHS. »

Thomas Lemarchand (@t_lemarchand), responsable des systèmes d'information de Wimi.



L'avis d'OVH


L’infrastructure déployée par Wimi est intéressante à plusieurs titres : hybridation des ressources virtuelles et physiques pour répondre aux problématiques de haute disponibilité (HA) et de scalabilité, mise à profit des innovations les plus récentes d’OVH.com (Wimi figure parmi les premiers utilisateurs du Dedicated Cloud, du vRack, du service d’IP Load Balancing, des serveurs FS-Max…), et recours aux technologies les plus en pointe (stockage Ceph, cluster Galera de MariaDB, monitoring ELK…).

Une recommandation que nous pouvons formuler est la mise en place d’un mécanisme de provisionnement automatique de ressources supplémentaires, basé sur le monitoring et la détermination de seuils critiques. Un script pourrait ainsi lancer ou arrêter via l’API OVH de nouvelles VM en cas de dépassement d’un seuil de charge, pendant une durée prédéfinie. Les VM seraient alors configurées via Puppet (ou autre système de gestion de configuration) puis automatiquement intégrées aux clusters qui nécessitent du renfort en quelques minutes. Toutefois, Wimi est un outil de travail dont l’usage est régulier, et l’augmentation de la charge est prévisible. L’automatisation quasi intégrale de l’infrastructure permet ainsi de déployer une ressource supplémentaire en 30 minutes, ce qui est tout à fait suffisant. Dans ce contexte, l’optimisation préconisée relève du « nice to have ».

Le stockage des fichiers statiques de l’application web (codes JavaScript et CSS) pourrait également être réalisé sur le CDN, de sorte à diminuer la charge des serveurs frontaux tout en améliorant légèrement le temps d’affichage des pages. Et ce, même s’ils représentent une part mineure des requêtes globales sur l’infra.



Les éléments de l'infrastructure




1 IP Load Balancing

19,98DT HT/mois

Commander


Dedicated Cloud

Pack Enterprise L 2 hosts AMD + stockage 2 x 300 Go

1 122,00DT HT/mois

Ressources suppl. à la demande

Commander


vRack

vRack
Service inclus avec le Dedicated Cloud et les serveurs de la gamme Infrastructure


Bases de données
(Cluster Galera)

3 serveurs Gamme Infrastructure
Modèle EG-32

206,99DT HT/mois

Commander


Stockage de fichiers sous Ceph

3 serveurs gamme Stockage
FS-MAX (Pay as you grow)

685,99DT HT/mois

Disques en sus

Commander


Backup

2 serveurs gamme Stockage
Modèle FS-72T

763,99DT HT/mois

Commander