Rootconf Hyderabad edition

On SRE, systems engineering and distributed systems

Designing microservices around your data design

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

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


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
  • Datastores overview
  • Usecases Definition
    1. Image Classification
    2. Product Recommendations
  • Architecture and workflow of each usecase
  • Merge the workflows into single architecture
  • Core Platform Architecture v0.1
  • Design Considerations
    1. Grouping Microservices
    2. Latency & throughput
    3. Geographic availability
    4. Deployment strategy
    5. Logging & Monitoring
    6. Microservice Registry & Interservice Communication
      - Wayne
      1. Design Principles
      2. Architecture
      3. Config change for single service
      4. Config change between microservices
  • Core platform architecture v0.2
  • Learnings from design
  • 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) Crew 12 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) Crew 11 months 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 10 months ago

      Hi Zainab,

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

  • Zainab Bawa (@zainabbawa) Crew 10 months 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!

  • Anwesha Sarkar (@anweshaalt) 8 months ago

    Hello Jambunathan,

    Here is the feedback from Friday’s rehearsal:

    1. Do not start your talk with a “so”.
    2. Include a seperate introduction slide introducing you.
    3. Pace down your speaking.
    4. Include some war stories.
    5. Avoid having text heavy slides.
    6. The talk ended abruptly.
    7. Need to include a take away slide.
    8. Include a conclusion slide.
    9. Include the background data stores.
    10. The questions - slide needs answers to be included.
    11. Compromise one use case.

    Submit your revised slides by 23rd September 2019.


Login to leave a comment