+ All Categories
Home > Marketing > Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

Date post: 21-Jan-2018
Category:
Upload: contactlab
View: 244 times
Download: 3 times
Share this document with a friend
37
#SENDSummit17 Il viaggio di un’architettura: dal monolite ad un ecosistema di API ed eventi Ernesto Colombo, Head of Engineering Contactlab Luca Cipriani, CIO - Arduino
Transcript
Page 1: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

#SENDSummit17

Il viaggio di un’architettura:

dal monolite ad un ecosistema di API ed eventi

Ernesto Colombo, Head of Engineering – Contactlab

Luca Cipriani, CIO - Arduino

Page 2: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 2

API, event driven and near real time ingestion platform

Page 3: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Team a raccolta

3

Page 4: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 4

2017 – Architettura

Riuscite a leggere lo schema?Allora avete superpoteri

Page 5: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 5

L’evoluzione 2015 – 2017[8]

Applicazione per la distribuzione

di messaggi digitali

Piattaforma per la raccolta,

raffinazione e utilizzo dei dati

Page 6: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Cosa intendiamo per dati

6

Miss Piggy

Il contattoMiss Piggy

[email protected]

Ha comprato la borsetta #123

Ha visitato la pagina http://muppet.com

Ha cliccato il link #345 nella mail #234

Ha aperto la mail #234

Le è stata inviata la mail #234

Socio-demo

Eventi

Tempo

Page 7: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 7

2001 – 2015: c’era una volta l’email service provider

Page 8: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 8

Send Web UI

Handler/Datalab

API Legacy

Engine

DB Legacy

C’era una volta

Page 9: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 9

Kermit

l’utente

della

piattaforma

Miss Piggy

Il contattoMiss Piggy

[email protected]

Cliccato link

Mail aperta

Mail inviata

Dr. Stranasetola

Data scientist

Tempo

C’era una volta

9

Send Web UI

Handler/Datalab

API Legacy

Engine

DB Legacy

Page 10: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 10

The thinker

Quali sono limiti i

architetturali e funzionali?

Page 11: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Quali sono limiti i

architetturali e funzionali?

11

Integrazione su DB

– Interazioni nascoste

– Unico pattern persistenza

– Difficilmente estendibile

Eventi persi

Non totalmente aperta

Poco intelligente

Poco automatizzabile

DB Legacy

Send Web UI

Handler/Datalab

API Legacy

Engine

Kermit

l’utente

Miss Piggy

Il contatto

Page 12: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

The thinker

12

The Doer

Page 13: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 13

Page 14: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

14

2017[8]: la nuova archittetura

Data River

• Enrich

• Analyze

• Visualize

• Segment

• Plan

OAuth

Public

REST

API

• Gather

• Aggregate

• Send• Deliver• Automation

• Activate

• Automate

Page 15: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

1. Miss Piggy e l’ecommerce

15

Data River / Data Lake

Miss Piggy

[email protected]

Profilo Miss Piggy

Tempo

Page 16: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

2. Miss Piggy fa shopping

16

Data River / Data Lake

• Send

Miss Piggy

[email protected]

Transazione #1

Transazione #2

Transazioni #1 e #2

Tempo

Page 17: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

3. Data in azione

17

Data River / Data Lake

Miss Piggy

[email protected]

Transazione #1

Transazione #2

High Spender

Enrichment: Miss Piggy è un High Spender

Tempo

Page 18: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

4. Flow in azione

18

Data River / Data Lake

Miss Piggy

[email protected]

Transazione #1

Transazione #2

High Spender

Mail #1 inviata

One Page

App UI’s

Mail #1 inviata

Tempo

Page 19: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Mail #2 inviata

5. Plan in soccorso

19

Data River / Data Lake

Miss Piggy

[email protected]

Transazione #1

Transazione #2

High Spender

Mail #2 inviata

Mail #1 inviata

One Page

App UI’s

Tempo

Page 20: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Transazione #3 Mail #2 aperta

20

Data River / Data Lake

Miss Piggy

[email protected]

Transazione #1

Transazione #2

High Spender

Transazione #3

Mail #2 inviata

Mail #1 inviata

One Page

App UI’s

Mail #2 aperta

6. Finalmente Miss Piggy torna a comprare

Tempo

Page 21: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Integrazione su DB

– Interazioni nascoste

– Unico pattern persistenza

– Difficilmente estendibile

Interazioni invisibili

Non totalmente aperta

Poco smart

Poco automatizzabile✓ Programmabile

DB Legacy

Send Web UI

Handler/Datalab

API Legacy

Engine

Kermit

l’utente

Miss Piggy

Il contatto

Limiti superati?

21

Data River / Data Lake

✓ Event-driven

✓ Interfacce esplicite

✓ Poliglotta nella persistenza

✓ Modulare

✓ Raccoglie tutti gli eventi

✓ Aperta e API-first

✓ Comincia a ragionare :)

Page 22: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Il panorama è bello qua su

22

Page 23: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 23

C’è molto di più…

Organizzazione

– Architettura e organizzazione

– Adozione agile

Architetture

– Automazioni infrastruttura

– Servizi fat vs micro

– Logging, monitoring

API REST

– Documentazione

– Design

Sviluppo

– Continuous delivery

– Test driven development

Page 24: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 24

Page 25: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17 25

ARDUINO Single Sign On

Page 26: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Il problema

Più di 15 siti in produzione

Ciascun sito con il proprio header/footer

Database utenti non uniforme

I siti di Arduino collezionano più di 120M di utenti unici l’anno.

Arduino.cc è uno dei top 3000 websites al mondo.

26

Page 27: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Gli utenti dovevano loggarsi più

volte sui vari siti (seppur con le

stesse credenziali)

La UI dei siti era leggermente

diversa

I designer pixel perfect

diventavano paranoici

UI/UX needs

27

Page 28: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Se devi farlo più di due volte,

automatizzalo

Ogni modifica all’header o al

footer richiedeva la modifica su

tutti i siti

Stima per aggiungere una menu

entry 16h di sviluppo

Lazy Developers

28

Page 29: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Unire le esigenze dei designer,

degli utenti e degli sviluppatori

Avere una singola sorgente

dell’html

Semplificare la manutenzione

Consentire rapide modifiche ai

siti

Avere una pagina profilo utente

unificata

SSO + UI Unificate

29

Page 30: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Compatibilità Oauth2

Supporto per app client side only (Angular.js)

Sicurezza

REST API server to server

Un solo DB per tutte le info utente (store, sito, blog, forum)

NoSQL DB

Login flow standard

Pianificazione

30

Page 31: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Leggere tutte le specifiche Oauth2 (ad esempio Jasig non implementa

l’implicit flow)

rfc6749

REST API jwt, temporary token

Captcha, recaptcha, nocaptcha

Accessi dalla Cina

Studio

31

Page 32: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Libreria JS async

HTML injection

Responsive design

Supporto multilingua

Mostra/Nascondi elementi

Carrello su tutti i siti

REST API per carrello,

avatar, auth flow

Implementazione

32

Page 33: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

CDN

Auto deploy ad ogni github

release

AWS Lambda per cache

invalidation

CORS config

Cache

Deploy

33

Page 34: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Modifica dati da parte degli utenti stessi

Validazione campi (frontend e backend)

Stop ai Bot

Visualizzazione di alcuni dati da parte di altri utenti

Possibilità di aggregare i dati con Contacthub

User view

34

Page 35: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Una sola sorgente dati

Un solo db a documenti

REST API per qualunque azione

Webhooks per realtime sync

Bulk upload

Perché scegliere Contacthub?

35

Page 36: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

SEND17

è un evento

organizzato da

GRAZIE

Page 37: Il viaggio di un'architettura: dal monolite ad un ecosistema di API ed eventi

è un evento organizzato da

© Copyright 2017 Contactlab This document may not be modified, organized or reutilized in any way without the express written permission of the rightful owner.

#SENDSummit17

Piattaforma di engagement, una

data pipe:

Modulare

Aperta a tutti gli eventi

API-first

Intelligente

Programmabile

TAKE AWAY

37


Recommended