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

XebiConFr 15 - Ingenico Group : Microservices et architecture réactive pour une nouvelle plateforme de services autour du paiement en magasin

Embed Size (px)

Citation preview

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 ?