La plupart des solutions d'entrepôts de données concurrentes nous auraient coûté jusqu'à 1 million USD par an. Amazon Redshift nous coûte en tout et pour tout seulement 100 000 USD, ce qui représente une économie totale d'environ 90 %. 
Joel Cumming Responsable des données

La société Kik Interactive a été fondée en 2009 par un groupe d'étudiants talentueux de l'université de Waterloo, au Canada. Le service de messagerie de l'entreprise, Kik Messenger, est désormais utilisé par plus de 275 millions d'abonnés, principalement aux Etats-Unis. Outre ses nombreuses fonctionnalités gratuites de messagerie textuelle, photo et vidéo, Kik Messenger intègre un navigateur qui permet de rechercher et de consulter du contenu Web. Kik propose également des outils destinés aux développeurs qui permettent aux organisations d'optimiser leur contenu Web et de le proposer aux abonnés de sa plate-forme.  

Pour fidéliser les abonnés existants et favoriser une croissance durable, Kik doit s'assurer que son service de messagerie est rapide, réactif et disponible en permanence pour les abonnés. Comme l'explique Chris Fairles, chef de l'équipe DevOps de Kik : « Nos abonnés comptent sur nous pour transmettre systématiquement leurs messages en temps réel, et nous prenons cette responsabilité très au sérieux. Pour garantir la qualité de nos services, nous investissons dans des technologies suffisamment fiables, sûres et flexibles pour répondre à l'évolution des besoins de nos abonnés. »

Kik doit relever un autre défi : être à l'écoute de ses abonnés et répondre à leurs besoins grâce aux dernières améliorations de produit. « Nous disposons de nombreuses données sur les clients et sur la manière dont ils utilisent nos services, mais ces données sont souvent "enfouies" dans des fichiers journaux ou d'autres systèmes au sein de l'entreprise », indique Fairles. « Pour transformer ces données en de réelles connaissances commerciales et pour nous assurer que toutes les décisions que nous prenons en matière de développement reposent sur des éléments solides, nous réalisons d'importants investissements dans les techniques et technologies Big Data. »

Pour offrir aux abonnés la meilleure expérience possible, Kik combine des serveurs internes avec une infrastructure hébergée sur le cloud Amazon Web Services (AWS). Comme l'explique Fairles : « Nous utilisons AWS pour proposer à nos abonnés un large éventail de fonctionnalités, des photos de profil à la messagerie photo, en passant par la messagerie vidéo et la gestion de compte. »

L'architecture AWS de Kik intègre Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service (Amazon S3) et Amazon Virtual Private Cloud (Amazon VPC) à Amazon CloudFormation pour mettre en service et déployer une infrastructure basée sur le cloud à la demande. « Grâce à AWS CloudFormation, nous avons adopté ce que nous appelons une architecture "microservice". Toute notre infrastructure AWS est définie sous forme de code », explique Fairles. « Dans un futur proche, nous adopterons également Amazon CodeDeploy qui nous permettra de lancer rapidement et facilement des stacks informatiques standardisées, pratiquement sans aucune intervention manuelle. »

Grâce à AWS, Kik peut également offrir à ses abonnés une expérience de service rapide et réactive. « Nous utilisons Amazon Direct Connect pour accélérer l'échange de données entre notre ferme de serveurs interne et le cloud AWS, ce qui réduit la latence et l'instabilité », indique Fairles. « Nous faisons également appel à Amazon CloudFrontet à Amazon Route 53 pour diffuser du contenu vers les points périphériques les plus proches des abonnés, ce qui permet à notre application d'être extrêmement rapide et réactive, quel que soit l'endroit où se trouvent les utilisateurs. »

Grâce à l'architecture microservice, Kik a également créé une plate-forme d'analyse de données avancée sur AWS pour offrir à l'entreprise de nouvelles perspectives à valeur ajoutée et pour optimiser l'expérience des abonnés. La plate-forme repose sur Amazon EC2, Amazon S3 et Amazon VPC, Amazon Redshift fournissant la principale fonctionnalité d'entreposage de données.

Les données sources des activités d'analyse proviennent à l'origine de centaines de téraoctets de données de fichier journal précédemment stockées dans des buckets (compartiments) Amazon S3. Des scripts Amazon Elastic Map Reduce (Amazon EMR) et Hadoop Pig ont été utilisés pour résumer et traiter les fichiers journaux avant qu'ils ne soient chargés dans Amazon Redshift, où ils ont été à nouveau compressés. « Au départ, nous devions traiter 500 téraoctets de données. Nous ne gérons désormais plus que 50 téraoctets, ce qui nous facilite grandement la tâche. »  

L'infrastructure AWS de Kik, qui intègre Auto Scaling, permet à l'entreprise de proposer des services de messagerie et d'autres contenus à un coût bien moindre et de payer uniquement pour les ressources de calcul et de stockage qu'elle utilise. « Notre architecture AWS procède automatiquement à une mise à l'échelle supérieure pendant les heures de pointe et à une mise à l'échelle inférieure pendant les heures creuses », précise Fairles. « Cela signifie que nous payons uniquement pour les ressources de calcul et de stockage que nous utilisons. Nos activités sont donc nettement plus rentables. »

Kik a également été en mesure d'optimiser la disponibilité du service pour les abonnés grâce à AWS. « Chaque composant de notre architecture AWS est entièrement redondant, ce qui signifie que nous pouvons maintenir nos services en ligne, même en cas de perturbations technologiques importantes », explique Fairles. « Nous faisons également appel à plusieurs Zones de Disponibilité (AZ) dans AWS pour nous assurer que notre application est disponible en permanence pour nos abonnés, même si un centre de données AWS est totalement indisponible. »  

Avec Amazon Redshift, Kik Interactive peut tirer de précieux renseignements de ses données client et de ses données opérationnelles. Comme l'indique Joel Cumming, responsable des données chez Kik : « Nous voyons comment différents types d'utilisateurs participent à nos services et identifions leurs besoins et leurs préférences. Nous utilisons ensuite ces informations pour orienter de nouveaux projets de développement, résoudre les problèmes liés au service, cibler de nouveaux marchés, offrir une expérience personnalisée et réduire la perte de clients. »

Il est beaucoup moins coûteux d'obtenir ces informations avec Amazon Redshift et il n'est plus nécessaire de disposer d'un matériel, d'un logiciel et d'un support internes. « La plupart des solutions d'entrepôts de données nous auraient coûté jusqu'à 1 million USD par an, en tenant compte des coûts d'achat et des frais courants de maintenance et de support », précise Cumming. « Amazon Redshift nous coûte en tout et pour tout seulement 100 000 USD, ce qui représente une économie totale d'environ 90 %. »

Récemment, une mise à niveau matérielle gratuite de Redshift a permis à Kik d'améliorer de 30 % ses performances en matière d'entreposage de données. « AWS met constamment à niveau sa plate-forme, ce qui permet à l'entreprise d'acquérir des informations beaucoup plus vite qu'auparavant », explique Cumming. « Par conséquent, nous pouvons collecter plus de données auprès d'un plus grand nombre de sources et ainsi mieux comprendre les besoins des clients, et tout cela avec moins de ressources. »

Kik a récemment déployé AWS Lambda que Cumming décrit comme la « nouvelle frontière » de l'analyse de données au sein de l'entreprise. « Nous sommes très heureux », explique-t-il. « AWS Lambda met automatiquement à l'échelle l'infrastructure dont nous avons besoin pour exécuter nos applications de science des données. Ainsi, au lieu de passer notre temps à surveiller les serveurs, nous pouvons nous concentrer sur ce que nous faisons de mieux : offrir à l'entreprise de nouvelles perspectives et améliorer l'expérience de nos utilisateurs. »

Outre AWS Lambda, Kik utilise Amazon API Gateway et Amazon DynamoDB qui permettent aux services internes de l'entreprise d'accéder instantanément aux données dont ils ont besoin. « Avec API Gateway, nous avons pu peaufiner très rapidement des modèles statistiques complexes, ainsi que la personnalisation de notre produit », précise Cumming. « Nous avons créé la première itération de notre API de données interne sur DynamoDB, Lambda et API Gateway très rapidement. A présent, les services de Kik peuvent être personnalisés et mis à l'échelle comme jamais auparavant. »

Pour découvrir comment AWS peut vous aider à réduire le coût de la gestion des données, consultez notre page consacrée au Big Data.