Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

322 views

Published on

Intervento in Tech Track di Ernesto Colombo, Head of Engineering di Contactlab e di Luca Cipriani, CIO di Arduino.

Published in: Marketing
  • Be the first to comment

  • Be the first to like this

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

  1. 1. #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
  2. 2. è 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
  3. 3. è 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
  4. 4. è 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
  5. 5. è 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
  6. 6. è 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 contatto Miss Piggy piggy@muppet.com 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
  7. 7. è 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
  8. 8. è 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
  9. 9. è 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 contatto Miss Piggy piggy@muppet.com 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
  10. 10. è 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?
  11. 11. è 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
  12. 12. è 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
  13. 13. è 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
  14. 14. è 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
  15. 15. è 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 piggy@muppet.com Profilo Miss Piggy Tempo
  16. 16. è 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 piggy@muppet.com Transazione #1 Transazione #2 Transazioni #1 e #2 Tempo
  17. 17. è 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 piggy@muppet.com Transazione #1 Transazione #2 High Spender Enrichment: Miss Piggy è un High Spender Tempo
  18. 18. è 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 piggy@muppet.com Transazione #1 Transazione #2 High Spender Mail #1 inviata One Page App UI’s Mail #1 inviata Tempo
  19. 19. è 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 piggy@muppet.com Transazione #1 Transazione #2 High Spender Mail #2 inviata Mail #1 inviata One Page App UI’s Tempo
  20. 20. è 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 piggy@muppet.com 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
  21. 21. è 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 :)
  22. 22. è 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
  23. 23. è 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
  24. 24. è 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
  25. 25. è 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
  26. 26. è 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
  27. 27. è 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
  28. 28. è 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
  29. 29. è 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
  30. 30. è 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
  31. 31. è 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
  32. 32. è 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
  33. 33. è 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
  34. 34. è 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
  35. 35. è 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
  36. 36. SEND17 è un evento organizzato da GRAZIE
  37. 37. è 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

×