XebiConFr 15 - Ingenico Group : Microservices et architecture réactive pour une nouvelle plateforme...

50
Microservices et architecture réactive pour une nouvelle plateforme de services autour du paiement en magasin

Transcript of XebiConFr 15 - Ingenico Group : Microservices et architecture réactive pour une nouvelle plateforme...

Microservices et architecture réactive pour une nouvelle plateforme de services autour du paiement en

magasin

#XebiConFr

Speakers

Jean-François CaenenVP, Terminal Solutions R&D

Nicolas JozwiakDirecteur de projet &

Programmeur

#XebiConFr

● Ingenico● Le projet Merchant Service Hub● Des choix innovants au service des enjeux du projet● L’architecture● L’application● Retours d’expérience

Agenda

#XebiConFr

Ingenico

#XebiConFr

Ingenico / leader mondial des solutions de paiements intégrées

CA 20141 607 M€ (+17%)70% HW

30% Services

5,800 employés dans 40+

pays

Créée en 1980 :

35 ans d’expertise

#1mondial des solutions d’acceptation de paiement

#1 en Chineavec 40%

part de marché en acceptation

#XebiConFr

Couvrir tous les canaux de vente - Positionnement multi-local

27M terminaux

9M livrés en 2014

300+méthodes

de paiement

25 centres

R&D dans le monde

#XebiConFr

Le projet Merchant Service Hub

#XebiConFr

The Merchant Service Hub / Développer les activités de services autour du paiement

La capture des transactions devient une commodité● Réduction du coût par transaction● Architecture à l’état de l’art et au meilleur rapport

coût - performance● Capacité à s’adapter aux marchés en suivant les

évolutions technologiques (les acteurs web et cloud comme références) Services avancés au-delà de la capture

des transactions● Nouveaux services facturables /

Nouvelles sources de revenues● Augmenter la rétention/fidélité client● Attirer de nouveaux clients

#XebiConFr

The Merchant Service Hub / Gestion de l’offre

● Développement initial par la R&D Groupe dans une logique MVP

● Une solution conçue pour être exploitée, personnalisée et

étendue par les Régions

● Une gouvernance de type Open Source interne : ‘‘InnerSource’’

● Une architecture et des technologies au service des enjeux de l’

offre de services (Build To Run)

● Collaboration forte avec une Région : Apac

#XebiConFr

The Merchant Service Hub / Version 1

● Tirer avantage des applications de paiement fonctionnant sur les terminaux

● Focalisation initiale sur les fonctions de Business Intelligence et sur l’assistance aux

marchands dans le suivi et la conduite de leur activité

● Conçu pour intégrer facilement de nouveaux services avec un coût réduit [marginal]

● Proposé selon un mode de service managé/cloud

Aider nos clients à aider leurs marchands

Petits marchands

#XebiConFr

The Merchant Service Hub / Version 1

• Transaction routing to the acquirer host• Merchant reporting, analytics & alerting• Acquirer reporting, analytics & alerting• Digital Receipt Management• User & Merchant provisioning• VAS enablement

Standalone

● Transaction routing to the acquirer host● Merchant reporting, analytics & alerting● Acquirer reporting, analytics & alerting● Digital Receipt Management● User & Merchant provisioning● VAS enablement

Merchant Service Hub

ECR Integration

Acquirer Host

Merchant Web Portal

Merchant Web Portal

Merchant Web Portal

Merchant Businesssupport

Techsupport

Ingenico

Open APIs

#XebiConFr

The Merchant Service Hub / Version 1

Pour les Marchands•Conduire son activité plus efficacement•Suivre l’activité en magasin(s)•Améliorer la connaissance client (analytics clients nouveaux/récurrents)

Pour l’acquéreur•De nouveaux services qui renforcent la relation de la banque avec ses marchands (différenciation)•Générer de nouveaux revenus grâce aux nouveaux services•Optimiser les processus & l’administration des marchands

En tirant parti des applications de paiement existantes sur les terminaux

Valeurcréée

#XebiConFr

Des choix innovants au service des enjeux du projet

#XebiConFr

Build to Run / Le Groupe & les Régions

#XebiConFr

Scalabilité & performances / Flux de transactions

GoReactive!

Scalable par composant

x00 000s

#XebiConFr

Continuité de services & Tolérance aux pannes

Objectif 99,99% de disponibilité

● Design for Failure

● La plateforme se surveille et réagit aux défaillances sans interruption de service

● Choix de technologies incluant redondances et gestion des pannes

● 2 causes d’interruption de service au-delà des défaillances logicielles• Maintenance évolutive : plusieurs versions simultanément. Blue/Green. Évolutions des données.• Erreurs humaines : Tout automatiser. Monitoring & Logging.

#XebiConFr

Architecture réactive

Meilleure exploitation des capacités HW(voir http://www.typesafe.com/blog/why-is-play-framework-so-fast)

#XebiConFr

MicroserviceSéparer les programmes qui doivent évoluer de façon indépendante

● Principe de Responsabilité UniqueChaque microservice fait une chose & le fait bien

● Simple, une interface bien définie● Déployable, scalable et tolérant aux pannes de

façon indépendante● Facile à comprendre et à changer (même par une

équipe lointaine)● Des choix technologiques différents (si nécessaire)● Quelle taille ? Petit, comment ?

“Something that could be rewritten in two weeks”

Jon EAVES

Evoluer simplement avec de nouveaux microservices& avec de nouveaux liens entre microservices

#XebiConFr

Changer la façon dont nous conçevons nos solutions

#XebiConFr

Interfaces utilisateurs & Flexibilité des données

#XebiConFr

L’architecture

#XebiConFr

Architecture

#XebiConFr

Architecture

#XebiConFr

L’architecture

#XebiConFr

L’architecture

#XebiConFr

L’architectureHTTP post

Mesos Master

Mesos Slave / Marathon

returning customer

transaction indexer

returning customer

Mesos Slave / Marathon

transaction indexer

X services

transaction indexer

#XebiConFr

L’architecture

#XebiConFr

L’application

#XebiConFr

L’application acquéreur

-78,35% -78,35% 0,90%

#XebiConFr

L’application marchand

#XebiConFr

L’application marchand

#XebiConFr

Analytics

#XebiConFr

Analytics

#XebiConFr

Retours d’expérience

#XebiConFr

Retours d’expérience

● Ajout de services

#XebiConFr

Retours d’expérience

● Modélisation des données structurante

● Gestion des évolutions

#XebiConFr

Retours d’expérience

● Modélisation des données en amont

{ "_index": "returning-customer", "_type": "transaction", "_id": "1", "_version": 5, "_score": 1, "_source": { "uniqueCardId": "2222", "transactionResult": "APPROVED", "selectedService": "PAYMENT", "totalAmount": 13401, "nbPayments": 5, "avgBasket": 2680.2 }}

#XebiConFr

Retours d’expérience

● Zookeeper● API et consommation● Monitoring

Burrowhttps://github.com/linkedin/Burrow

#XebiConFr

Retours d’expérience

● Environnements identiques

#XebiConFr

Retours d’expérience

Docker / Mesos / Marathon

#XebiConFr

Retours d’expérience

● Composants● Structuration● Nouveaux écrans rapides● Facile à tester unitairement

#XebiConFr

Retours d’expérience

● Automatisation provisionning environnements

● Difficile et long● Montée en compétence

#XebiConFr

Retours d’expérience

● Aggréger les logs● Correlation Id

ID 1234

ID 1234 ID 1234

#XebiConFr

Retours d’expérience

données de test returning customer

#XebiConFr

Retours d’expérience

#XebiConFr

Retours d’expérience

#XebiConFr

Retours d’expérience

#XebiConFr

Conclusion

#XebiConFr

Conclusion

Architecture microservices validée par les qualités de la solution.

● Travail itératif

● Montée en compétence et diffusion au sein de l’équipe

● Recherche permanente de la solution la plus simple

#XebiConFr

Questions ?