Modernize financial systems
1
REX on Microservices
IBM Meetup - 28/06/18
www.opensense.fr | speaker : Jacques Leceux / Edouard Soubrier
What we are going to speak about:
● Introducing ourselves
● Understanding microservices - the big picture
● REX
● Trends
● Business Ready : CopyCat on any cloud
2
Summary
Who are we?
A startup which delivers next-generation financial and banking applications, empowered by microservices
architectures and home-made solutions.
Founders have 10+ years of experience in business intelligence, data management and IT security in the financial
sector.
What we have done ?
Deploy a micro service factory : private container cloud with Kubernetes, monitoring/logging, microservice template
Use their existing legacy ecosystem, and connect their CBS
Evangelize IT with Kubernetes / Docker / Kafka / Events
Develop around 30 μServices to manage the corporate actions process
Use event processing to manage both communication and data
3
Understanding Microservices
Take a huge application.
Split it in 100 chunks.
Run each chunk individually.
You have done microservices!
4
μServices
5
K8S
One bounded context
But it’s not that simple,
… now, how to communicate
between our microservices ?
Stateful/less ? Functionless ?
CQRS ? JSON ? API Schema
? KSQL ? ~ real time ? Node ?
versioning ? JavaWhat ?
Language Agnostic ?
6
So what ?
Orchestration:
7
Communication between microservices
Choreography:
World of APIs World of Messages
How to limit the coupling and give developers a better life ?
Build small team. Move fast and be “agile”
Freedom is not free,
coding μServices is a great responsibility.
But we have a μService Factory. You’re not alone !
From local, dev, staging, prod with automation and magic.
$>./configure dev
$>make build
$>make push
8
Autonomy, Deployment
Mandatory @ home
- Use namespaces (isolated context for projects or users)
- Use Labels everywhere (ex : version = 1.0, service = FE, app = hello)
- Infrastructure as Code and versioning
- Use deployment, versioning record and rollback
- Auto creation of json or yaml kubernetes resources and use kubectl apply
- Configmap and secret for pod configuration
- Expose with ingress
- Never forget that you can use limit or request cpu and memory for your pod
- If possible, use a LivenessProbe and/or ReadinessProbe
- Never use “latest” in you image tag
- Apply a good RBAC (control what users can access in K8S)
- Think HELM (package Manager for K8S)
9
Setting developments policies
What we choose :
● Bounded contexts
● Object ID / Object Content ID / Object Instance ID / Object Schema
Version / Object Type / Object Creation Data ….
● Russian doll
● Managing by exceptions
● Views / Be reactive
● Stateless / Stateful
● Easy to scale stateless
● Stateful : Kafka partition
● Swiss Knife : Nifi - Garbage in / Not Garbage Out
10
Managing datas & process
11
Trends : What about other system ?
compliance
glue
legacy
modern
(microservices)
AIX / Mainframe / OpenVMS
Confirm that our tool work on ICP
Deploy it on Gcloud in an hour for demo purpose and prospecting
Copycat our Corporate Action Tool on openshift in “a bank” in production
Open in “another bank” a world of container and maintain it
Every week, professional services CKA
12
Business Ready - CAT
Jacques Leceux & Edoaurd Soubrier
jleceux@opensense.fr esoubrier@opensense.fr
www.opensense.fr
Question ?
Annexes
Bus (Kafka)
µs µs
Views (MongoDB)views
events
& cmds
events
synchronous
API
Corporate actions Tool
Sources Banking system
● Announcements from
sub-custodians (SWIFT) and third
parties (e.g. SIX)
● Positions from internal systems
● Collect / Clean / Validate corporate actions
● Deploy on any VM or cloud
● Fully auditable and event-based
Inject or access to
● golden records
● notifications / mails
● any metrics
IBM Cloud Paris Meetup - 20180628 - OpenSense
IBM Cloud Paris Meetup - 20180628 - OpenSense

IBM Cloud Paris Meetup - 20180628 - OpenSense

  • 1.
    Modernize financial systems 1 REXon Microservices IBM Meetup - 28/06/18 www.opensense.fr | speaker : Jacques Leceux / Edouard Soubrier
  • 2.
    What we aregoing to speak about: ● Introducing ourselves ● Understanding microservices - the big picture ● REX ● Trends ● Business Ready : CopyCat on any cloud 2 Summary
  • 3.
    Who are we? Astartup which delivers next-generation financial and banking applications, empowered by microservices architectures and home-made solutions. Founders have 10+ years of experience in business intelligence, data management and IT security in the financial sector. What we have done ? Deploy a micro service factory : private container cloud with Kubernetes, monitoring/logging, microservice template Use their existing legacy ecosystem, and connect their CBS Evangelize IT with Kubernetes / Docker / Kafka / Events Develop around 30 μServices to manage the corporate actions process Use event processing to manage both communication and data 3
  • 4.
    Understanding Microservices Take ahuge application. Split it in 100 chunks. Run each chunk individually. You have done microservices! 4 μServices
  • 5.
  • 6.
    But it’s notthat simple, … now, how to communicate between our microservices ? Stateful/less ? Functionless ? CQRS ? JSON ? API Schema ? KSQL ? ~ real time ? Node ? versioning ? JavaWhat ? Language Agnostic ? 6 So what ?
  • 7.
    Orchestration: 7 Communication between microservices Choreography: Worldof APIs World of Messages How to limit the coupling and give developers a better life ?
  • 8.
    Build small team.Move fast and be “agile” Freedom is not free, coding μServices is a great responsibility. But we have a μService Factory. You’re not alone ! From local, dev, staging, prod with automation and magic. $>./configure dev $>make build $>make push 8 Autonomy, Deployment
  • 9.
    Mandatory @ home -Use namespaces (isolated context for projects or users) - Use Labels everywhere (ex : version = 1.0, service = FE, app = hello) - Infrastructure as Code and versioning - Use deployment, versioning record and rollback - Auto creation of json or yaml kubernetes resources and use kubectl apply - Configmap and secret for pod configuration - Expose with ingress - Never forget that you can use limit or request cpu and memory for your pod - If possible, use a LivenessProbe and/or ReadinessProbe - Never use “latest” in you image tag - Apply a good RBAC (control what users can access in K8S) - Think HELM (package Manager for K8S) 9 Setting developments policies
  • 10.
    What we choose: ● Bounded contexts ● Object ID / Object Content ID / Object Instance ID / Object Schema Version / Object Type / Object Creation Data …. ● Russian doll ● Managing by exceptions ● Views / Be reactive ● Stateless / Stateful ● Easy to scale stateless ● Stateful : Kafka partition ● Swiss Knife : Nifi - Garbage in / Not Garbage Out 10 Managing datas & process
  • 11.
    11 Trends : Whatabout other system ? compliance glue legacy modern (microservices) AIX / Mainframe / OpenVMS
  • 12.
    Confirm that ourtool work on ICP Deploy it on Gcloud in an hour for demo purpose and prospecting Copycat our Corporate Action Tool on openshift in “a bank” in production Open in “another bank” a world of container and maintain it Every week, professional services CKA 12 Business Ready - CAT
  • 13.
    Jacques Leceux &Edoaurd Soubrier jleceux@opensense.fr esoubrier@opensense.fr www.opensense.fr Question ?
  • 14.
  • 15.
    Bus (Kafka) µs µs Views(MongoDB)views events & cmds events synchronous API
  • 16.
    Corporate actions Tool SourcesBanking system ● Announcements from sub-custodians (SWIFT) and third parties (e.g. SIX) ● Positions from internal systems ● Collect / Clean / Validate corporate actions ● Deploy on any VM or cloud ● Fully auditable and event-based Inject or access to ● golden records ● notifications / mails ● any metrics