98
ALT.NET Paris October 2013 From the trenches ABC Arbitrage

Alt.net Paris - SOA from the trenches

Embed Size (px)

Citation preview

ALT.NET Paris October 2013

From the trenches ABC Arbitrage

Julien Lavigne Du Cadet @julienlavigne

Romain Verdier @romainverdier

ABC Arbitrage Asset Management www.abc-arbitrage.com

ALT.NET France www.altnetfr.org www.meetup.com/altnetfr

From the trenches

A long time ago in a galaxy far, far away...

… in 2009

ABC Gestion

THE MAINFRAME

Also known as…

A 3 tiers architecture

1300 stored procedures 300 tables

200 forms and 4 zillions LoC

A 3 tiers architecture

1300 stored procedures 300 tables

UI

Business Logic Data Model Data Access

A 3 tiers architecture

1300 stored procedures 300 tables

UI

Data Access Data Model

Business Logic

Abc Gestion

SQL Server

x50…

A 3 tiers architecture

Abc Gestion

Abc Gestion

“Houston, we've had a problem!”

KEEP CALM

AND

CALL BATMAN

KEEP CALM

AND

CALL BATMAN

October 2009…

… the 1st Service

Task Scheduler

Powered by .Net Remoting & Qpid

Messaging! Without rules or frameworks…

A big mess…

February 2010…

(Without Smarts)

Build your own Service Bus

A distributed applications FRAMEWORK

Query directly SQL Server

Octobre 2010…

7 Services

OutOfMemoryException…

Qpid Broker Crash

January 2011…

Our ex little daemon…

Lilith

February 2011…

15 Services

Again…

March 2011… …things are

accelerating a bit

Introducing

Don’t you feel safe now ?

Zorro

IS WATCHING YOU

Monitoring Service

BWatch

ServiceBus

July 2011…

20 Services

Nosql is coming !

Configuration Manager

Can

Lotus

erroneous messages RECEIVE, STORE and RESEND

WITH CONTEXT!

Now, about 90% of NEW code within the NEW architecture

October 2011…

32 Services

More and more

new services…

More and more REAL TIME

new services…

With new constraints

… and to progressively introduce some NEW TOYS

So we had to generalize some PATTERNS over time …

redis

But we didn’t get too crazy…

We dropped

January 2013…

87 Services

We liked our good old broker, but what if…

… we developped another

SERVICE BUS ?

Today

105 Services

and counting…

What the story REALLY TELLS…

You don’t want your SOA to look like that…

(WTF ?!?)

Communication

Service Buses are Cool Especially for their Queing Capability

Build or Buy?

Our answer:

Pragmatic NIH*

* Not Invented Here

Quick bootstrap! Guess what? A broker architecture works very well

You control the architecture and customise it to

YOUR NEEDS

For responsible people only…

are built within the frameworks

CONVENTIONS

Messages Everywhere

Develop facades to communicate

With exterior entities

Tooling is mandatory

All this makes the integration of new recruits easy

This could be YOU?

And better… This architecture creates new opportunities for the business

The beginning of a

VIRTUOUS CIRCLE ?

Service definition

Our not-too-strict

CONVENTIONS, STRUCTURE & BOUNDARIES

Are important…

Can DIFFER

BUT architectures, designs &

implementations

And can differ significantly

Transversal principles?

Still, SERVICE-LEVEL patterns emerge naturally, and we pay

attention to that.

THOU SHALT…

Maybe more “FLEXIBLE GUIDELINES” for grown-up developers

Events

Polyglot persistence

Still some GREY AREAS…

Big data READY

But are we BIG DATA yet?

BUSINESS INTELLIGENCE

Well, not THAT intelligent yet

SQL FOR A DECADE and still not satisfied with our SCHEMA MANAGMENT

But guess what? That still can be a

concern with

NOSQL

An Investment…

AUTOMATE your deployments

Abc.Shared Abc.Shared.Cassandra Abc.Shared.Cassandra.Tests Abc.Shared.Cassandra.TestTools Abc.Shared.Cheetah Abc.Shared.Configuration Abc.Shared.Configuration.Tests Abc.Shared.Elastic Abc.Shared.Etl Abc.Shared.Etl.Tests Abc.Shared.Mail Abc.Shared.Mail.Tests Abc.Shared.Metrics Abc.Shared.Metrics.Tests Abc.Shared.Redis Abc.Shared.Serialization Abc.Shared.SmartClient Abc.Shared.SmartClient.Tests Abc.Shared.SmartClient.TestTools Abc.Shared.Tests Abc.Shared.TestTools Abc.Shared.Zmq Abc.Shared.Zmq.Tests

Each project is an opportunity to build

reusable FRAMEWORKS and TOOLS…

You need time for exploring new TECHNICAL ideas without business pressure

… but it ’s not enough

Our ANSWER

« HACK TIME »

The mandatory

New hires work on technical projects for their first few months

That’s worth it! needed

The TIP of the ICEBERG

Let ’s visit…

In short…

Incremental changes

Very stables principles over time

You don’t need THESE guys

It ’s not that complicated

But it does require to INVEST in the infrastructure

Thank you