18
A «graph-based» Service Catalogue How Neo4j can help your business with a tool to govern your services

GraphConnect Europe 2016 - Governing Multichannel Services with Graphs - Alberto De Lazzari & Nicola Camillo

Embed Size (px)

Citation preview

A «graph-based» Service CatalogueHow Neo4j can help your business with a tool to governyour services

1

Agenda

Introduction Slide 2 - 4

The problems we have to face Slide 5

Key features to achieve Slide 6

Technical Architecture, April 26, 2016

Approaches Slide 7 - 10

Why Neo4j? Slide 11 - 12

What we have done Slide 13 - 14

Conclusions Slide 15 - 16

Veneto Banca is the bank that heads the Veneto Banca Group, one of 14Italian credit institutions considered strategically important by the ECB.

Today, the Veneto Banca Group is present throughout the country, with a network of branches subdivided into eight Regional Offices.It operates in four countries in Eastern Europe: Romania, Moldova, Croatia and Albania.

The mission of the Veneto Banca Group is to be an innovator and leader in the areas in which it operates.

2Technical Architecture, April 26, 2016

IntroductionThe Company and its projects

Key features:

The applications in the multichannel project spans into self andsupervised channelsThe focus is on the channel, the customer and the way he «speaks»with the bankMultichannel applications rely on a brand new architecture which isresilient, scalable and based on the atomic service paradigmBusiness data are stored into a Datawerhouse that encapsulate thedata quality engineData Provider services are orchestrated and organized by anarchitectural powerful engine for decoupling the business layer fromthe external ones.

3Technical Architecture, April 26, 2016

IntroductionThe Company and its projects

Dat

a Pr

ovid

erA

pplic

atio

nsIn

fras

tuct

ures

HUB Cliente Contact Center Commercial support tools

Architecture Datawarehouse

BankUp

4Technical Architecture, April 26, 2016

IntroductionThe landscape of our services

An “atomic service layer”: a fine-grained set of services that implements atomic “functions”

600services

300services

A “business service layer”: a higher level set of services that are a composition

(integration/orchestration) of one or more atomic services

Internal user and customer applications with high integration to each other

Many different providers (Reuters, SIA, NCR, etc)

5Technical Architecture, April 26, 2016

The problems we have to faceGovernance, Impact Analysis and Automation

Documentation and GovernanceNo automatic service discoveryNo informations between the lower layer and the higher one

Impact AnalysisWhat are the impacts on our business services and applications if we do asoftware change?What are the test suites we have to run

Automatic features activationWe want a ”service mock” tool and we want to activate on the flyHot configuration switching

We need a repository where we can collect all the informations we canextract for our backend services

6Technical Architecture, April 26, 2016

Key features to achieve

The relationships between the objects are one of the most importantinformations that we must handle

We need a whiteboard friendly representation that should be easy todraw and understand by anyone

What’s wrong with that?

Manual and time consuming process

Error prone: men can make mistake!

The catalogue is not up-to-date with the softwarechanges

7Technical Architecture, April 26, 2016

ApproachesThe «primitive» approach

Service Catalogue(Excel sheet)

Software repositoryinspection

Lookup & collectdocumentation

At the end an idea comes out:

We need something to represent the

relationships in a multi-directionalpattern

Technical Architecture, April 26, 2016

ApproachesThe evolution

8

9Technical Architecture, April 26, 2016

ApproachesPros & Cons

Redundancy of data to implement multi directionaljoin

Difficult to scale and upgrade the data model

No more manual process. IT should follow the process of the software lifecycle

Catalogue is always up to date with the applicationdelivery and deployment in every environment.

10Technical Architecture, April 26, 2016

ApproachesCore features

Service Catalogue

Reports

Management console

Service “hot” configuration

Switch on/offfeatures

11Technical Architecture, April 26, 2016

Why Neo4j?Valuable features

Most valuable features:

Graphs are the most natural way to represent entities (nodes) that have connections (relationships)

We can add new types of nodes and relationships easily so the model can evolve in a simple way (refactorproperties to nodes with no pain!)

The whiteboard model is the physical model (what we draw on a paper sheet is what we get on the database)

We think that most of the information rely on the relationships. They are stored in the database and we don’t needto calculate them at runtime

12Technical Architecture, April 26, 2016

Why Neo4j?Valuable features

Most valuable features:

Easy integration through its APIs (and with Spring Data)

Expressive and powerful query language (Cypher)

Written on top of JVM

Cache sharding, easy clustering and high availability

Hot back-ups

13Technical Architecture, April 26, 2016

What we have doneData Model (sample)

14Technical Architecture, April 26, 2016

What we have doneSoftware changes and Impact Analysis

Change AdvisoryBoard

Change Sets(Software changes)

Bottom-UpAnalysis

ImpactedComponents

Test Plans

End Users

ExternalProvider

Issue

Bottom-UpAnalysis

ImpactedComponents

Warns & Alerts

Impact Analysis Software changes

15

At the end we can say that:

You must have a service catalogue inside an IT governance process

It’s useful if you want a complete and up-to-date application map

Once you got it you can extend the graph with more heterogeneous informations and areas of interest

Implementing an IT government tool based on Neo4j has been the right choice:

Relational DB’s do not manage relationships in a strict manner for us, Neo4j does it!

It’s whiteboard friendly, so it’s easy to implement your «hand-drawn» data model

It’s powerful and easy. It’s powerful because it’s easy

And last but not least … we like it!

Technical Architecture, April 26, 2016

Conclusions

16Technical Architecture, April 26, 2016

ConclusionsFuture evolutions

Cost Management Business Continuity

Enterprise Application Architecture Map

And so on ...

A «graph-based» Service CatalogueHow Neo4j can help your business with a tool to govern yourservices

-Thanks-