Prizee

Fondé en 2000 par Tristan Colombet, Prizee est un créateur et éditeur de jeux en ligne primés et gratuits, d’adresse, de réflexion et de chance. En 12 ans, Prizee.com s’est forgé une place de leader français et compte aujourd’hui plus de 30 millions de membres. Historiquement web et francophone, l’offre s’affiche désormais sur les réseaux sociaux, les plateformes mobiles et se décline à l’international. Prizee utilise la solution MongoDB depuis 2010 sur plusieurs de ses jeux phares comptant plusieurs centaines de milliers d’utilisateurs : Prizee Jackpot, Inkazee, Enovaa, Solitary, Bubble Adventure et Pop'Candiz. Depuis juin 2012, la société Prizee a rejoint le groupe Digital Virgo avec pour ambition l’extension vers l’international en 2013.

Le problème

Jusqu’en 2010, les bases de données de Prizee étaient gérées par un serveur MySQL, se montrant rapidement insuffisant pour faire face à la charge et exigeant une importante intervention humaine.

Avec la montée en puissance du Cloud Computing et le développement du social gaming, la concurrence s’est amplifiée et de nouveaux besoins en termes de gestion de charges sont apparus. Il est alors rapidement devenu nécessaire de gagner en agilité afin de pouvoir développer rapidement et régulièrement de nouveaux jeux de qualité pour ne pas perdre de parts de marché.

De plus il fallait stocker et analyser de plus gros volumes de données. L’administration de ces « Big Data » est à l’origine d’enjeux forts de performance pour Prizee qui doit assurer des temps de réponse faibles à ses utilisateurs et faire face à de vrais enjeux de scalabilité en interne.

En effet, pour Prizee, toutes les différentes opérations marketing doivent être opérées sur un temps court, tout en maitrisant les coûts des serveurs. L’évolution du stockage des données ne devait pas compromettre la haute disponibilité offerte à ses clients.

Pourquoi MongoDB ?

COMMUNAUTÉ

La taille et la portée de la communauté autour de MongoDB a représenté un véritable gage de confiance pour Prizee. MongoDB a de très belles références clients à fort trafic, rassurant l’éditeur de jeux en ligne quant à la capacité de MongoDB à répondre à ses besoins.

FLEXIBILITÉ

D’autres critères techniques sont également entrés en ligne de compte. Tout d’abord, la solution MongoDB offre aux développeurs travaillant sur PHP une solution stable, pérenne et opensource pour gagner en flexibilité et faire évoluer rapidement les jeux. MongoDB doit en effet pouvoir supporter beaucoup d’écritures et de réécritures, sans toutefois générer des latences trop importantes.

POSSIBILITES DE REPLICATION DES DONNEES & SHARDING

MongoDB satisfait aux exigences de haute disponibilité des sites de Prizee. De plus, la solution offre des possibilités de sharding pouvant être mises en place rapidement et facilement dès que Prizee le souhaite. Cette fonctionnalité phare de MongoDB qui intéresse le leader français des jeux en ligne pourra permettre d’assurer la cohérence des données redondantes en les dupliquant sur plusieurs périphériques. Avec la réplication des données, la fiabilité, la tolérance aux pannes et l'accessibilité aux sites peuvent ainsi être améliorées et les besoins d’une intervention humaine deviennent quant à eux limités.

La gestion interne du « sharding » ou partitionnement des données proposé par MongoDB peut se révéler intéressante face aux besoins croissants de stockage. En découpant la base de données, MongoDB réduit le nombre de données par serveurs, permettant ainsi de libérer de l’Input/Output et de la RAM et de maintenir des performances d’accès aux données maximales.

Résultats

Les résultats obtenus par Prizee sont à la hauteur de ses attentes. Grâce à une prise en mains facile, une documentation dense et un accompagnement de l’équipe MongoDB, l’implémentation de la solution s’est faite le plus naturellement possible et a porté rapidement ses fruits.

MongoDB a contribué à l’amélioration des performances globales des jeux et à la réduction des coûts de serveurs de Prizee. Les développeurs ont gagné en temps et en flexibilité, pouvant ainsi se consacrer à la réflexion et l’analyse. Ils ont pu ainsi améliorer les schémas et régler les problématiques annexes, notamment sur l’historisation des données. Les nouvelles méthodes de travail des développeurs ont eu un impact positif sur les parts de marché puisque les équipes ont pu développer et lancer des sites plus rapidement. Aujourd’hui, Prizee est capable de gérer environ 3 millions de parties par jour tous sites confondus.

Depuis l’intégration de MongoDB, Prizee a pu créer des sites sans maintenance pour l’historisation des données là ou avant il fallait fermer les sites pendant quelques minutes. Les utilisateurs finaux ne sont donc plus confrontés aux éventuelles interruptions de service, notamment nocturnes, et bénéficient également de meilleures performances, sensibles en terme de fluidité.

Perspectives

Toutes les bases de données de Prizee n’ont pas migrées en NoSQL. En effet, une telle migration exigerait une charge de travail supplémentaire alors que la mise en place d’une base de donnée NoSQL directement se fait très simplement. Compte tenu des bons résultats obtenus avec l’équipe MongoDB, tous les prochains jeux du leader français seront à présent gérés par MongoDB.