Rootconf Hyderabad edition

On SRE, systems engineering and distributed systems

Tickets Propose a session

Designing microservices around your data design

Submitted by Jambunathan V R (@jambunathan) on Thursday, 6 June 2019

Section: Full talk Technical level: Intermediate Session type: Lecture Section: Full talk (40 mins) Category: Distributed systems

View proposal in schedule


At MadStreetDen, We are building multiple products for the retail industry on top of a single platform of microservices which process data, build machine learning models and scale with traffic. We are also constantly adding new products to our product suite which solve interesting new usecases. As the systems continuously evolved, we realized the set of services which powers the underlying platform should be modular, easily maintainable and multi-functional. While designing these microservices, there were several questions/learnings along the way on the choice of microservices.

What are the essential microservices?
How do they connect and communicate with each other?
How do we manage the growth of the number of services?
Should I write a new microservice for this functionality or add this as a feature to existing microservice?

Being a machine learning company large amounts of data is at the core of our products.
Focusing our microservice design on top of the data design reduced overhead and helped us build our products faster.
In this talk, we will go through the architecture design workflow by which we designed our platform architecture.


  • Introduction
  • Usecases Definition
    1. Image Classification
    2. Product Recommendations
    3. AI Stylist
  • Architecture and workflow of each usecase
  • Merge the workflows into single architecture
  • Core Platform Architecture v0.1
  • Design Considerations
    1. Latency & throughput
    2. Deployment strategy
    3. datastore design
  • Core platform architecture v0.2
  • Learnings from our design
  • Case study: Microservice Registry
    1. Problem statement
    2. Architecture
    3. Config change for single service
    4. Config change between microservices
  • Questions ?



Speaker bio

I am Jambunathan, Director of Engineering at MadStreetDen. For the past 2 years, we have been working on scaling our machine learning platform on AWS which supports the multiple products at




  • Zainab Bawa (@zainabbawa) Reviewer 2 months ago

    Hello Jambunathan,

    Thank you for the submission. We are happy to consider this for Rootconf Pune or Rootconf Hyderabad.

    The current proposal is prescriptive. Whereas, the Rootconf community wants to hear use cases and war stories. Therefore, it will help to foreground these prescriptions in a real-life case study which you yourself were involved in solving.
    Perhaps it will help if you pick one of the points from the outline, and thicken it with a case study by means of which you defend your point of view/insight.

    Let us know your thoughts.

  • Zainab Bawa (@zainabbawa) Reviewer a month ago

    Hello Jambunathan,

    Reconnecting on the above thread, you may want to structure the talk in the following manner:

    1. Explain the problem statement with your case study.
    2. What were the time and cost metrics that you experienced during implementation.
    3. How do you measure success metrics for microservices?
    4. What are the alternative approaches if one were not to move forward with microservices?

    Please revise your proposal with slides/details, in 7 days from now, in order to complete a full review.

    • Jambunathan V R (@jambunathan) Proposer a month ago

      Hi Zainab,

      I have updated the slides and outlines with the full presentation.

  • Zainab Bawa (@zainabbawa) Reviewer a month ago

    Jambu,this structure looks a lot better than what we had earlier. I am confirming your proposal for now. I will get in touch with you next week for review and rehearsals. Congratulations!

Login with Twitter or Google to leave a comment