Jean-Philippe Paquette Jean-philippe.paquette@videotron.ca 6 novembre 2013
Ordre du jour Histoire du mobile a RDS Les alertes SMS Application RDS hockey Push notifications Différence avec le site mobile Enjeux de performances Gestion du contenu Nouvelles, Chroniques, Blogues Vidéos Statistiques 2
Histoire du mobile à RDS 2009 Services d alertes SMS (C est le but!,code rouge et CH extra!), télé mobile 2010 Site mobile m.rds.ca et application RDS Hockey ios 2011 Application RDS Hockey Android 2012 Alertes C est le but! (vidéo) 2013 Application RDS GO 3
Ordre du jour Histoire du mobile a RDS Les alertes SMS Application RDS hockey Push notifications Différence avec le site mobile Enjeux de performances Gestion du contenu Nouvelles, Chroniques, Blogues Vidéos Statistiques 4
Alertes SMS de RDS
SMS Architecture Source : http://www.unixgarden.com/index.php/gnu-linux-magazine/developpement-de-services-sms Légende: BSC = Base Station Controller BTS = Base Tranceiver Station MSC = Mobile Switching Center HLR = Home Location Register VLR = Visitor Location Register AUC = Authentication Center SMS-C = SMS Center SMPP = Short message Peer-to-Peer
SMPP et Application SMS SMS MO Mobile Originating SMS MT Mobile Terminating SMPP est par nature asynchrone (les services sont invoqués à tour de rôle (round robin), ce qui peut compliquer la gestion des données si celles-ci doivent être partagées entre plusieurs requêtes )
Alertes C est le but! Enjeux: Rapidité Automatisation vs manuel Limitation imposée par les opérateurs Fiabilité Rejoindre la masse
Ordre du jour Histoire du mobile a RDS Les alertes SMS Application RDS hockey Push notifications Différence avec le site mobile Enjeux de performances Gestion du contenu Code Nouvelles, Chroniques, Blogues Vidéos Statistiques 9
Application RDS Hockey
Différence entre Push et SMS
Apple Push Notification Services (APNS) Source: http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12/push-overview
Google Cloud Messaging (GCM) Source: https://www.hkcert.org/my_url/en/blog/12082201
Différence entre applications natives, hybrides et WebApp
ios vs Android Enjeux: Gestion des versions du OS Android tue les threads! Hétérogénéité des appareils Android Tableau de contrôle pour mise à jour rapide 15
Site mobile Problèmes de cache Enjeux: Responsive design vs site mobile Contenu partagé WEB (liens inutiles, grosseur des images, transcodage vidéos) Dure défaite pour les Canadiens 16
Optimisation des chargements CDN : utilisé pour servir des fichiers statiques binaires (images, videos, flash, pdf, etc.) et texte (css, js, etc). Global Load Balancers : envoi le traffic au centre de données 1 ou 2. Amazon Cloud: CloudFront, S3 et EC2 pour hébergerdes pages transactionnelles lors de gros pics de traffic. Firewall : limite l accès au http et https 17
Optimisation des chargements Load Balancers : distribue le traffic aux serveurs applicatifs App/Web tier: Cluster de legacy et c++ apps et PHP RDS apps, Cluster Passenger (Ruby) File Store: NFS storage centralisé sur NetApp File servers utilisant le module flex_cache pour lire/écrire les fichier des deux centres de données. Databases: base de données maîtres et réplications 18
Architecture ATEX typique 19
Dedicated vs Multiple 20
Ordre du jour Histoire du mobile a RDS Les alertes SMS Application RDS hockey Push notifications Différence avec le site mobile Enjeux de performances Gestion du contenu Nouvelles, Chroniques, Blogues Vidéos Statistiques 21
Gestion du code 22
RDS extra et Statsrepo Kernel RDS Extra: Reçoit les données des diverses sources, les stock et produits les données pour les clients Statsrepo: Entrepôt de fichiers XML ou JSON disponibles par API
Akamai optimisation pour mobile
Akamai optimisation pour mobile
C est le but! (vidéo) 1. Clip in, clip out! 2. Encode 3. Dépose sur serveur Akamai 4. Récupère le lien 5. Envoi l alerte par push notifications 26
Architecture des Vidéos (Akamai)
Akamai optimisation pour mobile