Fast but Not Loose:
Typesafe Clients in a Distributed Service Architecture, a retrospective
Eric Bowman VP Architecture @ Gilt Groupe @ebowman ebowman@gilt.com
#gotoaar #gilttech #gotocon
Monday, September 30, 13
Fast but Not Loose: Typesafe Clients in a Distributed Service - - PowerPoint PPT Presentation
Fast but Not Loose: Typesafe Clients in a Distributed Service Architecture, a retrospective #gotocon #gotoaar #gilttech Eric Bowman @ebowman VP Architecture @ Gilt Groupe ebowman@gilt.com Monday, September 30, 13 Monday, September 30, 13
Eric Bowman VP Architecture @ Gilt Groupe @ebowman ebowman@gilt.com
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
http://upload.wikimedia.org/wikipedia/commons/1/16/Ruby_on_Rails-logo.png http://wiki.postgresql.org/wiki/File:PostgreSQL_logo.3colors.svg
Monday, September 30, 13
http://logonoid.com/images/thumbs/christian-louboutin-logo.jpg
Monday, September 30, 13
http://data.iluxdb.com/data/christian-louboutin-daffodile-160mm-python-masai-1130127cm09_001.jpg?dd80c0
Monday, September 30, 13
http://upload.wikimedia.org/wikipedia/commons/7/79/Operation_Upshot-Knothole_-_Badger_001.jpg
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
http://blog.verwilst.be/wp-content/uploads/2008/12/java.gif
Monday, September 30, 13
user_service
payment_service product_service cart_service swift pagegen
Monday, September 30, 13
http://megmurph.com/wp-content/uploads/2013/03/success-1.jpg
Monday, September 30, 13
Front End Service X Service Y Service Z
Monday, September 30, 13
Front End Service X Service Y Service Z
Monday, September 30, 13
Front End Service X Service Y Service Z
Content from Service X Content from Service Y Content from Z
Monday, September 30, 13
Front-End Tier Service Tier Data Tier
Monday, September 30, 13
Front-End Tier Service Tier Data Tier
Caching Light Computation Orchestration
Monday, September 30, 13
Front-End Tier Service Tier Data Tier
Caching Light Computation Orchestration Caching Heavier Computation Separation of Concerns
Monday, September 30, 13
Front-End Tier Service Tier Data Tier
Caching Light Computation Orchestration Caching Heavier Computation Separation of Concerns Data Access (Disk/SSD/RAM)
Monday, September 30, 13
Front-End Tier Service Tier Data Tier
Caching Light Computation Orchestration Caching Heavier Computation Separation of Concerns Data Access (Disk/SSD/RAM)
Monday, September 30, 13
Data Source Service JDBC ➾ HashMap ➾ JSON http://gilt.com Javascript Application Front End JSON ➾ HashMap ➾ JSON
Monday, September 30, 13
Data Source Service JDBC ➾ HashMap ➾ JSON http://gilt.com Javascript Application Front End JSON ➾ HashMap ➾ JSON
Monday, September 30, 13
http://gilt.com Javascript Application Front End JSON ➾ HashMap ➾ JSON JSON ➾ HashMap ➾ JSON JSON ➾ HashMap ➾ JSON
Service
JDBC ➾ HashMap ➾ JSON
Data Source
Service
JDBC ➾ HashMap ➾ JSON
Data Source
Service
JDBC ➾ HashMap ➾ JSON
Data Source
Monday, September 30, 13
http://gilt.com Javascript Application Front End JSON ➾ HashMap ➾ JSON JSON ➾ HashMap ➾ JSON JSON ➾ HashMap ➾ JSON Service
JDBC ➾ HashMap ➾ JSON
Data Source
Service
JDBC ➾ HashMap ➾ JSON
Data Source
Service
JDBC ➾ HashMap ➾ JSON
Data Source
Service
JSON ➾ HashMap ➾ JSON JSON ➾ HashMap ➾ JSON
Monday, September 30, 13
http://www.recruitmenttakeout.com/wp-content/uploads/2013/04/brian.png
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
http://git-scm.com/images/logos/downloads/Git-Logo-2Color.png
core service core service core service core service
Legacy
Monday, September 30, 13
http://git-scm.com/images/logos/downloads/Git-Logo-2Color.png
core service core service core service core service
Legacy
commons.jar
core clients core data model async client framework
Greenfield
Monday, September 30, 13
http://git-scm.com/images/logos/downloads/Git-Logo-2Color.png
core service core service core service core service
Legacy
commons.jar
core clients core data model async client framework
Greenfield
Monday, September 30, 13
service client core
Monday, September 30, 13
service client core
Monday, September 30, 13
service client core client core service
Compile/Runtime Dependency
Monday, September 30, 13
Consumer Service Client Core Core
Monday, September 30, 13
Consumer Service Client Core Core
Monday, September 30, 13
Consumer Service Client Core Core
Monday, September 30, 13
Consumer Service Client Core Core
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
https://blogs.oracle.com/jag/resource/Fallacies.html
Monday, September 30, 13
Monday, September 30, 13
http://steve.vinoski.net/blog/2008/07/01/convenience-over-correctness/
Monday, September 30, 13
Database Database Model Service Backend Service Model Service Frontend Client/Server Serialization Model Client Backend Client Data Model Client Layer Public Data Model
Monday, September 30, 13
Database Database Model Service Backend Service Model Service Frontend Client/Server Serialization Model Client Backend Client Data Model Client Layer Public Data Model
Monday, September 30, 13
Database Database Model Service Backend Service Model Service Frontend Client/Server Serialization Model Client Backend Client Data Model Client Layer Public Data Model
Monday, September 30, 13
Database Database Model Service Backend Service Model Service Frontend Client/Server Serialization Model Client Backend Client Data Model Client Layer Public Data Model
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Monday, September 30, 13
Client Service DB
Monday, September 30, 13
Client Fast Storage Service Kafka Data Warehouse Batch Jobs DB CEP Clickstream data
Monday, September 30, 13
Monday, September 30, 13