Rovio et Angry Birds passent à NoSQL avec la base Riak
L’éditeur finlandais du jeu Angry Birds a fait le choix de la base de données NoSQL Riak pour gérer les flux de données de ses utilisateurs.
Le Finlandais Rovio Entertainment, l’entreprise derrière le fameux jeu Angry Birds, a déployé la base de données distribuée Open Source Riak, développée par Basho, pour gérer les volumes de données générées par les quelque 250 millions d’utilisateurs par mois du jeu. La société revendique presque 2 milliards de téléchargements de l’application.
Créé en 2003, Rovio a connu une croissance rapide et compte désormais 700 employés. Son siège est basé en Finlande, mais la société dispose de bureaux aux États-Unis, en Suède, en Chine, au Japon et au Royaume-Uni. Cette croissance fulgurante a mis une importante pression sur la société, notamment dans sa capacité à pouvoir gérer ses données. Rovio devait assurer des niveaux élevés de qualité de services et cela, tout en garantissant un processus de maintenance efficace en termes de coûts. Pour ajouter une couche supplémentaire de complexité, la volonté de proposer des transactions de données entre plusieurs plates-formes, comme les smartphones et les tablettes, nécessitait des investissements afin de garantir une expérience continue et cohérente aux utilisateurs. Pour gérer la masse de données entrantes et les périodes de pic de charge, Rovio avait donc besoin d’une base de données capable de supporter cette croissance virale sans panne et sans interruptions de services. Dans cette même logique, dans le cas d’une demande plus faible que prévu, l’infrastructure, flexible, devait être capable de se redimensionner afin d’éviter les dépenses inutiles.
Le choix de la base NoSQL Riak
Rovio a fini par déployer la base NoSQL Open Source de Basho, Riak, sur l’infrastructure cloud d’Amazon Web Services. Cela lui a permis de gérer, d’une façon économique et efficace, le volume élevé de données, généré par l’accroissement de son activité, soutient Ari Talja, architecte serveur chez Rovio. « Nous avons commencé la conception et l’implémentation de notre solution cloud, à partir des chiffres que nous avions à disposition de nos fans. Nous savions que nous devions être préparés à un usage intensif et être prêts à dimensionner notre infrastructure lorsque cela était nécessaire, ajoute-t-il. Nous avons alors fait le choix de Riak, car il répondait bien aux critères fixés par Rovio et supportait nos différents cas d’usage ».
« Riak excelle dans sa capacité à ne pas perdre de données quelle que soit la situation et peut ainsi être utilisé pour stocker des données critiques, comme les transactions liées au paiement ; la base peut être redimensionnée de façon horizontale et supporte les ensembles de données très vastes et dynamiques ; elle n’a aucun point unique de défaillance et supporte les déploiements sur plusieurs datacenters, avec la réplication en temps réel ; elle est facile à opérer et ce depuis un cloud privé ou public ; elle est associée à un bon programme de support pour les développeurs. »
Une approche flexible pour gérer les données
L’équipe IT de Rovio est aujourd’hui capable de passer de quelques dizaines de serveurs Riak à plusieurs centaines, en fonction de la demande des clients. Rovio a également bénéficié des capacités de réduction de la latence et de réplication de données entre plusieurs nœuds, offrant ainsi un niveau élevé de tolérance aux pannes hardware, sans perdre les données critiques des utilisateurs. Si un nœud tombe, le système maintient tout de même son niveau de performance. De nombreux formats de données sont également supportés.
Depuis le déploiement de Riak, les développements internes ont été simplifiés. Une nouvelle interface utilisateur pour l’interne, Bigbird Library, a été développée au-dessus de Riak pour fournir aux développeurs de Rovio une unique interface cohérente. Cela facilite la mise en application de nouvelles fonctionnalités, ou encore permet d’ajuster celles déjà en place, précise Anna Koivu-Choo, développeuse chez Rovio. « Le cluster Riak propose différentes configurations pour répondre à plusieurs cas d’usage, car les exigences d’un service de synchronisation Cloud différent un peu de ceux d’une plate-forme publicitaire, ajoute-t-elle. Certains des clusters sont dédiés à un service unique, alors que d’autres sont partagés. Mais tous les services utilisent la même couche d’abstraction en interne, BigBird Library. »
Traduit de l’anglais par la rédaction