Découvrez les dessous de la nouvelle application mobile SNCF. Quelles sont les solutions pour unifier des sources d’informations ? Comment donner à une équipe l’autonomie pour construire un produit, du besoin à sa mise en production ? Comment construire une architecture applicative qui répond à des exigences de scalabilité et de disponibilité ?
Nous proposerons de découvrir un retour d'expérience de mise en oeuvre sur Amazon Web Services d'une architecture à base de microservices reposant sur la JVM, Node.js et bien d'autres technologies telles qu'InfluxDB, Redis, MongoDB, RabbitMQ ou bien encore Elasticsearch. Mais également comment nous avons résolu des problématiques telles que le rolling update, la gestion de version et de rétro-compatibilité des API ou bien encore la redescende d'informations à l'initiative des serveurs grâce aux WebSockets.
2. #backdaybyxebia
ALEXANDRE GODET
ALEXIS KINSELLA
En 2005, Alexandre Godet intègre le groupe Voyages-Sncf.com. En 2009, il
devient leader technique et assure la conception du site web grand public.
Aujourd’hui passionné par l’agilité, il assure le rôle de Scrum Master dans une
équipe aux compétences back et mobile.
Alexis Kinsella est un consultant Xebia passionné aussi bien par les
problématiques Front-end (web et mobile) que Back-end. Après de longues
années passées sur les technologies Java, Alexis a fait d'iOS et Node.js ses
nouveaux terrains d'expérimentation lui permettant d'explorer les architectures
mobiles et ses problématiques associées.
6. #backdaybyxebia
VSC TECHNOLOGIES, PÔLE D’EXCELLENCE
TECHNOLOGIQUE DE VOYAGES-SNCF.COM
250
COLLABORATEURS SERVEURS
14623 Sites
▼
▼
▼
PARIS, LILLE & NANTES
UN PRA À SAINT DENIS
Présentation VSCT
7. #backdaybyxebia
Présentation VSCT
VSC TECHNOLOGIES, DEUX MISSIONS COMPLÉMENTAIRES
GÉRER LES SYSTÈMES D’INFORMATION DE
VOYAGES-SNCF.COM
MAINTENANCE DÉVELOPPEMENT DU SITE INTERNET ET DES APPLICATIONS ET
OUTILS MOBILES
PROPOSER SON EXPERTISE DE DISTRIBUTION
DIGITALE
FOURNIR DES SOLUTIONS TECHNOLOGIQUES MULTINET, WEB & MOBILE AU
GROUPE SNCF (SNCF DIRECT, SNCF. COM, CARTES COMMERCIALES, CARTES
DE FIDÉLITÉ, JUNIOR & COMPAGNIE, FIDELITE TER, etc.)
VOYAGEUR
14. #backdaybyxebia
● Délais compatibles avec le planning du projet
● Provisionning à la demande des
environnements
● Conception d’environnements sur mesure pour
répondre aux besoins du projet
Pourquoi AWS ?
15. #backdaybyxebia
Hébergement sur le Cloud
Pros Cons
● Suivi et maîtrise des coûts
● IaaS éprouvé mondialement
● Disponibilité quasi sans faille
● Bonnes pratiques établies et
connues
● Facilité de prise en main
● Facilité de trouver des ressources
ayant déjà travaillé avec AWS
● Montée en compétence des équipes
● Pratiques de sécurité à connaître
● Public plus ou moins par défaut
● Complexité de mise en place d’
architectures avancées (Bastion,
NAT, VPN et intégration avec le SI,
...)
18. #backdaybyxebia
● Alignement avec la stratégie de sécurité VSCT
● Support des équipes de supervision et d’exploitation
● Amortissement des coûts d’exploitation via la
réutilisation des infrastructures internes
Pourquoi ré-internaliser un projet Cloud ?
23. #backdaybyxebia
Microservices
Pros Cons
● Bases de code réduites
● Chaque composant à un rôle unique
● Meilleur séparation des
responsabilités
● Utilisation du langage approprié
pour différents besoins
● Granularité de l’allocation de
ressource
● Gestion facilité de la dette
● Complexification de l’architecture
● Déploiement manuel impossible (Un
défaut ?)
● Aspect polyglotte des
développements
32. #backdaybyxebia
Pour et contre des ELB
Pros Cons
● Scalabilité infinie
● Support des terminaisons SSL
● Coût limité
● Monitoring
● Gestion des Healthchecks
● Configuration par console
● Warm up par ticket
● Mauvais support des WebSockets
33. #backdaybyxebia
Pour et contre des HAProxy
Pros Cons
● Très bon support des WebSockets
● Support des Healthchecks
● Monitoring & Alerting
● Commandes d’administration
scriptables
● Gestion du serveur
● Pas d’auto-scaling automatique
● RoundRobin DNS
40. #backdaybyxebia
Bases de données & Messaging
● Durée de vie des données liée à un environnement
● Données complètement volatiles
● Répliquées pour une meilleure disponibilité