Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ippevent Ogury 2016

901 views

Published on

Nous verrons comment l’infrastructure Cloud a accompagné l’évolution d’Ogury, passant de Heroku à AWS, de 0 à 250 Millions de users, traitant plusieurs millions de requêtes par minute, plusieurs To de data à traiter chaque jour, intégrant Kafka puis Docker, ….
Olivier Bazoud est développeur sénior full-stack et Ops en charge de l’infrastructure Cloud chez Ogury Ltd, et également co-auteur du livre “Spring Batch in Action” aux éditions Manning.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Ippevent Ogury 2016

  1. 1. Retour d'expérience d'une infrastructure Cloud et Big Data à très fort traffic
  2. 2. xxxxx Smart mobile acquisition Smart mobile acquisition Dev & Ops Spring-*, Nodejs Chef, Puppet, Docker, Graphite, ... Co-auteur “Spring in Action” Olivier Bazoud - @obazoud Smart mobile acquisition
  3. 3. xxxxx Smart mobile acquisition Smart mobile acquisition Et vous ? Smart mobile acquisition
  4. 4. xxxxx Smart mobile acquisition Smart mobile acquisition Smart mobile acquisition
  5. 5. xxxxx Smart mobile acquisition Smart mobile acquisition Smart mobile acquisition Sommaire Voyage à travers le cloud Retour d’expérience Déploiement
  6. 6. APP SDK A publisher ADDS the Ogury’s SDK in his App The publisher PUBLISHES or updates his App with the Ogury’s SDK inside APP LIVE ON PLAYSTORE APP SDK The user OPEN the app to all the users who open an App with the SDK and who are targeted in the campaign 1 Ad which is seen = 1 impression If the user click on the Ad = 1 icon installed If the user clicks again on the icon APP OPEN SDK 1 4 5678 2 3PUBLISHER PART ADVERTISER PART APP ICON AD CLICK AD SEEN AD SENT DATA is SENT SEND an AD Smart mobile acquisition Smart mobile acquisition Overview
  7. 7. TARGETING Methodology XX% Wescoreeachuserviathedatawehavecollectedand crossreferencethiswiththecampaignobjectives Date Time www.amazon.com/ 22/05 www.citroen.com www.redbull.com www.suv.com www.carmerchant.com/ 22/05 22/05 23/05 24/05 26/05 4min. 4min. 4min. 4min. www.kia.com Ogury then pushes the delivery of the recommendations based on our ‘compatability score’ USED : Sarenza 22/05 USED : Autoscout24 22/05 Date Time App : Candy crush 22/05 App : Cityapp 22/05 App : Mr porter 22/05 App : Forbes 23/05 App : Surfsession 24/05 App : Quicksilver 26/05 4min. 4min. 5min. 0min. 2min. 1min. 100% 98% 100% 95% 100% 96% 97% 99% 94% 100% 95% 96% 50% 55% 52% 51% 54% 50%
  8. 8. DATA ULTRA GRANULAIRE - Applications téléchargées & usages - URLs consultées 100% ON TARGET - Technologie de ciblage - Ciblage comportementale EXPERIENCE UTILISATEUR - Format qui s’adapte - Template Ogury FACILITE IMPLEMENTATION - Aucun taggage de site - Pas de SDK à poser Format statique Video Toucher votre audience sans déperdition
  9. 9. Ogury’s global reach 35 M users 13 M users 105 M users 35 M users 2 M users 60 M users
  10. 10. Users by country
  11. 11. Top 4 mobile data collector 4 locations globally 250 million users Top 200 brands
  12. 12. xxxxx Smart mobile acquisition Voyage à travers le cloud Smart mobile acquisition
  13. 13. xxxxx Smart mobile acquisition Plate-formes 1. Heroku 2. Hybride 3. AWS
  14. 14. xxxxx Smart mobile acquisition Heroku Smart mobile acquisition
  15. 15. xxxxx Smart mobile acquisition Heroku PAAS + Add-ons Github / Travis CI git push + pipeline Startup
  16. 16. xxxxx Smart mobile acquisition Heroku Mobile API Backoffice No SQL Database
  17. 17. xxxxx Smart mobile acquisition Couchbase NoSQL document-oriented Performance Scalability / High availability Cross Data Center Replication (XDCR)
  18. 18. xxxxx Smart mobile acquisition Retour d’expérience No (Dev)Ops Difficile de scaler le front Troubleshooting limité Peu de Monitoring / Alerting
  19. 19. xxxxx Smart mobile acquisition Hybride Smart mobile acquisition
  20. 20. xxxxx Smart mobile acquisition Hybride: Heroku / AWS Traiter les évenements Organiser et Analyser la data Gestion des gros volumes
  21. 21. xxxxx Smart mobile acquisition Hybride Mobile API Backoffice No SQL Database Bucket S3 Targeting
  22. 22. xxxxx Smart mobile acquisition AWS Cloud IAAS Scalabilité / Automatisation / Agilité Infrastructure As Code Coûts
  23. 23. xxxxx Smart mobile acquisition Kafka Broker Transaction logs Topics / Partitions Producers / Consumers “Data is retained for a configuration period of time”
  24. 24. xxxxx Smart mobile acquisition EMR / Hadoop Besoins ponctuels Targeting Exploratoire / Troubleshooting Hive / S3
  25. 25. xxxxx Smart mobile acquisition Début de l’automatisation Début de monitoring / alerting Tuning ELK Retour d’expérience Jobs hadoop lents Heroku cher pour nos besoins
  26. 26. xxxxx Smart mobile acquisition AWS Smart mobile acquisition
  27. 27. xxxxx Smart mobile acquisition “Allez, on passe tout sous AWS!” Les fondateurs
  28. 28. xxxxx Smart mobile acquisition Smart mobile acquisition Smart mobile acquisition Chiffres 250 Millions d’utilisateurs 1 To data compressé / jour 1 Million request per minute 15 Millions messages per minute 30 Milliards de documents dans ES
  29. 29. xxxxx Smart mobile acquisition Automatisation Cloud Formation / Chef Collectd / Sensu / Cloud Watch Graphite / Grafana
  30. 30. xxxxx Smart mobile acquisition Cloud Formation Infrastructure As Code JSON, JSON, JSON, ... Stack, Nested stack Rollback, Evenements, Timeout, ...
  31. 31. xxxxx Smart mobile acquisition Cloud Formation
  32. 32. xxxxx Smart mobile acquisition Chef Automate Cookbooks Chef Server / Chef Client Scale
  33. 33. xxxxx Smart mobile acquisition Chef
  34. 34. xxxxx Smart mobile acquisition Retour d’expérience
  35. 35. xxxxx Smart mobile acquisition Kafka
  36. 36. xxxxx Smart mobile acquisition AWS: To infinity... and beyond
  37. 37. xxxxx Smart mobile acquisition Limites AWS Lenteur Cloud Formation (RDS, Cloud Front, IAM) Bonne intégration Cloud Formation / Chef Retour d’expérience Packer AMI: image de base seulement JSON :(
  38. 38. xxxxx Smart mobile acquisition Retour d’expérience
  39. 39. xxxxx Smart mobile acquisition Déploiement Smart mobile acquisition
  40. 40. xxxxx Smart mobile acquisition Automatisation Créer des environnements facilement (10 + 2) Automatisation maximum Déploiement automatique Cloud AWS
  41. 41. Infra ProdStagingTeam A xxx xxx
  42. 42. xxxxx Smart mobile acquisition Environnement Cloud Formation: 1 env ~ 35 stacks, 200+ au total Prêt en ~1h30 Environnement complet Restore des datas de prod
  43. 43. xxxxx Smart mobile acquisition Déploiement Comment déployer aussi du Rails, Java, Nodejs, …? ISO Dévelopement / Production Déploiement identique
  44. 44. xxxxx Smart mobile acquisition Docker
  45. 45. xxxxx Smart mobile acquisition Docker
  46. 46. xxxxx Smart mobile acquisition Docker Images / Containers Isolation Linux / Mac / Windows Layers
  47. 47. xxxxx Smart mobile acquisition Dockerfile
  48. 48. xxxxx Smart mobile acquisition Docker Compose Mettre en relation plusieurs containers Docker docker-compose.yml
  49. 49. xxxxx Smart mobile acquisition docker-compose.yml
  50. 50. xxxxx Smart mobile acquisition Docker Compose
  51. 51. xxxxx Smart mobile acquisition Déploiement
  52. 52. Auto Scaling group Amazon S3 bucket Docker Registry Dev tag hook Code Repository CI Push Docker images End Users Amazon LB Amazon RDS PostgreSQL Deploy 1 4 2 3 Deploy instance update instances 5 pull docker images Amazon S3 bucket Push artifacts zip: docker-compose.yml Route 53
  53. 53. xxxxx Smart mobile acquisition Déploiement avec Chef
  54. 54. xxxxx Smart mobile acquisition Gestion des branches git push origin devX-xxxx Github: Pull Request + Merge Release / Tag
  55. 55. xxxxx Smart mobile acquisition Network “host” / Logs cappé Pas de problème lié à Docker / Docker compose Retour d’expérience 150+ containers en production Choix d’un orchestrateur ?
  56. 56. xxxxx Smart mobile acquisition Retour d’expérience Pas de pipeline / Pas de promotion Environnement: Sélectionner les composants Gestion des logs
  57. 57. xxxxx Smart mobile acquisition Smart mobile acquisition Big Data
  58. 58. 59 SDK données sur le comportement utilisateur S3 Hadoop Smart mobile acquisition Smart mobile acquisition Big Data
  59. 59. xxxxx Smart mobile acquisition Smart mobile acquisition Smart mobile acquisition Data Elastic Map Reduce Hive Lecture / Ecriture sur S3
  60. 60. xxxxx Smart mobile acquisition Retour d’expérience Créer un cluster EMR “on-demand” Pré-processing pour chaque use-case Pas de stockage de résultats intermédiaires Lent Optimisations des coûts
  61. 61. 62 Avant Après Smart mobile acquisition Smart mobile acquisition Retour d’expérience
  62. 62. 63 Base de données relationnelle (SQL) Orientée OLAP Distribué pour les Big Data Excellentes performances Très bonne scalabilité Hébergée dans le cloud AWS Administration facile Smart mobile acquisition Smart mobile acquisition Amazon Redshift
  63. 63. xxxxx Smart mobile acquisition Performances Avec Hive/S3/20 instances EC2: 4 heures avec 7 jours de data Avec Redshift/20 noeuds: 1 minute avec 2 mois de data Compter le nombre d’utilisateurs français ayant consulté plus de 2 fois le site ‘lemonde.fr’
  64. 64. xxxxx Smart mobile acquisition Dashboards
  65. 65. 66 Planifie exécution chaînes de scripts Ordonnancement des tâches Scripts de différentes natures (batch, sql, …) Lancement conditionnels Service d’alerte Reprise sur erreur Smart mobile acquisition Smart mobile acquisition AWS DataPipeline
  66. 66. xxxxx Smart mobile acquisition Smart mobile acquisition Smart mobile acquisition Voyage à travers le cloud Retour d’expérience Déploiement Conclusion L’infrastructure accompagne le dévéloppement de la société
  67. 67. xxxxx Smart mobile acquisition Smart mobile acquisition olivier@ogury.co DevOps Dev Java/Spring Dev Nodejs Dev Android Dev Full Stack
  68. 68. xxxxx Smart mobile acquisition Smart mobile acquisition Questions ? Smart mobile acquisition

×