Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Rocky Road from Monolithic to Microservices Architecture

cnu
November 25, 2017

The Rocky Road from Monolithic to Microservices Architecture

The explanation of our Microservices architecture and the lessons we learnt from it.

cnu

November 25, 2017
Tweet

More Decks by cnu

Other Decks in Programming

Transcript

  1. JOKER • Convert client’s catalog into one common MAD Format

    • Normalization of fields and metadata • Can process batch and streaming data • Major cause of chaos in the system
  2. GORDON • Routes the product metadata to the right micro

    services • Is it a new product? or update to an existing product? • Streaming data from AWS SQS
  3. WONDER WOMAN • Not a microservice, But a tool used

    to generate rules for the catalog • Rules are send to the Image Processing microservice • Works on Samples of data and not entire dataset
  4. WATCHTOWER • Central Source of Truth for all metadata •

    Backed by an RDBMS Database (Postgresql) • Input via SQS and REST API • Output via REST API
  5. NIGHTWING • Computer Vision and Deep Learning Models • Convert

    Image to high dimensional vectors • Tag image with visual attributes • Computer Intensive
  6. BATMAN • Custom very fast Vector Indexer and Search Engine

    • Stores everything in memory • Two sub-parts: Indexer and Searcher • Store binary information about image in DynamoDB
  7. SUPERMAN • User behaviour based recommendation • Multiple products like

    Collaborative filtering, Cross Product recommendation • Records every user event data and stores in a data warehouse
  8. TWO FACE • Individual User level Personalization • Shows a

    different “face” to each user • Dynamic and realtime
  9. FLASH • Very fast data structure storage - redis instance

    • User session level history, Product Availability, etc. • Fast access, but non- expirable
  10. ROBIN • API Gateway for all our products • Combines

    data from other micro services like Batman, Two Face, Watchtower, Superman, etc and returns JSON Response
  11. API Data Store Ingestion Image Processing Image Searcher User Event

    Personalization Engine Joker, Gordon, Wonder Woman Nightwing Batman Robin Watchtower, GCPD, Flash Superman, Two Face
  12. –Melvin Conway “… organizations which design systems ... are constrained

    to produce designs which are copies of the communication structures of these organizations."
  13. Compute Optimized Server Memory Optimized Server Nightwing Batman Robin Robin

    Robin Joker Joker Joker Gordon Watch tower Watch tower Joker