Rootconf 2019

On infrastructure security, DevOps and distributed systems.

Tickets

Decomposing a Monolith: Engineering and Operational strategies we have gleaned from our experience at Endurance

Submitted by Sudheer Kumar Meesala (@sudheerm) on Monday, 6 May 2019

Section: Full talk Technical level: Intermediate Session type: Lecture Section: Sponsored talk Technical level: Intermediate

View proposal in schedule

Abstract

Microservices are all the rage nowadays. But what are the practical problems of building a large application using such an architecture? Even more important, how do you change a business critical legacy application to microservices while maintaining uptime. At Endurance, we are currently transitioning a large legacy monolithic application to a microservice based architecture. There are several key issues around this transition that we have had to address. This talk examines each of those issues in detail and the solutions that we came up with.

Outline

Our APAC story in identifying and addressing the key issues around moving ~$70 million dollar monolithic Domain provisioning & Billing platform to microservices:

  • Need for micro-services

  • Common mistakes

  • Managing the transition

  • Scaling, Redundancy and Deployments

Speaker bio

Sudheer Kumar Meesala has spent the last few years designing and building scalable and secure web applications in the Finance and Internet industries. A large part of his job has included decomposing monolithic legacy applications into microservices. This has required a deep understanding of PostgreSQL, Cassandra and other NoSQL databases. Other key areas of interest are container orchestration, DevOps and more. He lives in Bangalore, India and spends far too much time in traffic jams.

He is an accomplished speaker and trainer; Co-author of “PostgreSQL 11 Administration Cookbook”.

Slides

https://www.slideshare.net/secret/JlQ48Hw0Aidh91

Comments

  • Zainab Bawa (@zainabbawa) Reviewer 2 months ago (edited 2 months ago)

    Thanks for the proposal, Sudheer. Here is the feedback on the proposal, and how you have to restructure it:

    1. Is this talk an experiential story? If yes, you have to anchor the talk not in the transition experience at Endurance, but into the one or two key insights that you want participants to carry back with them.
    2. Operational and engineering strategies are useful to share when you have defined the problem and the context. In this proposal, it is not clear why you decided to move a “business critical legacy application to microservices while maintaining uptime”. What was the issue which led to this decision?
    3. Why was the decision to move to microservices? What other approaches did you consider and compare before deciding that moving to microservices is the best way forward? Share with participants the journey that led to this decision, because this will help them in understanding how to evaluate such important decisions in their own organizations.
    4. Show the detailed implementation.
    5. Also show the before-after situation – where did the improvements or disasters happen after the move? What was different after the implementation? Were there improvements? If not, what did change (or even if nothing changed, state it).
    6. You might want to briefly elaborate on the costs of such an exercise – not just in terms of money, but also human, time and other resources. This is again for participants to appreciate the complexity of this exercise, and to learn from your lessons if they were to undertake such an exercise.
    7. If possible – that is if you have the real-life experience to talk about this – conclude with when not to use microservices. Microservices are in vogue, but like with every other trend, we need to discuss in the community when it is useful not to latch on to a trend.

    Start preparing your slides with the above points so that we can iterate on the slides before we do a rehearsal next week.

  • Sudheer Kumar Meesala (@sudheerm) Proposer 2 months ago

    Hi Zainab,
    Thanks for the detailed inputs/suggestions. I have been working on the slides as per the suggestions; Will share the slides by 10th June.

    • Zainab Bawa (@zainabbawa) Reviewer 2 months ago

      Thanks for the update, Sudheer. The slides have to come in by today, given the shortage of time, and the criticality of firming up the proposal.

      • Zainab Bawa (@zainabbawa) Reviewer 2 months ago

        Also, note that there are many proposals we received which talk about moving from monolithic to SOA/microservices. As I mentioned in point 7, a big value add of your proposal will be to:

        1. Set the problem statement/context in place about why did the business/product use case necessitate the move from monolithic to microservices architecture.
        2. Explain the costs of undertaking this exercise and now maintaining code and infra under the microservices framework.

        Zainab

  • Sudheer Kumar Meesala (@sudheerm) Proposer 2 months ago

    PFA the first draft of the slides. All the slides are relevant to our experience in moving towards micro-services architecture and I will connect them with our story during the talk.

  • Zainab Bawa (@zainabbawa) Reviewer 2 months ago

    Thanks for the updated slides, Sudheer. Here is feedback on this version:

    1. The slides are very prescriptive, meaning that there is no there is background/basis to these prescriptions. Where is the evidence/experience story substantiating the claims made in these slides?
    2. There is one slide containing the background about Endurance, but no further details of the business/product for which the move was made from monolithic to SOA. This still doesn’t explain the business and product logic for why the move to microservices.
    3. A slide on bare metal appears much later in the presentation. Given my understanding of Endurance’s work, the bare metal context should be set right in the beginning so that this slide isn’t a surprise much later.
    4. What is ice-cream scoop first strategy? There is no explanation of this, just a mention.
    5. Before-after comparison is missing, because there is no case study explained in the slides. How did the move to microservices benefit Endurance?
    6. There is no slide on takeaways. What does the audience get from listening to this talk?

    The challenge with your proposal is that the core focus is on engineering and operational strategies. I presume you have abstracted the strategies from your learnings, but this strategy has no meaning or application to a participant at Rootconf who doesn’t have the scale and complexity of operations that Endurance has. For example, would you recommend this strategy to someone from a new startup? Most likely not. Therefore, shift the focus away from strategies to sharing your journey in this transition, even if the transition isn’t complete.

    For the next iteration, you need to focus on:

    1. Share the before-during-after story of moving the “large legacy monolithic application to a microservice based architecture”.
    2. Focus on some of the important details that participants at Rootconf will find interesting. One way to think about this is what are the battle scars you faced in the process of making this transition? Therefore, what is it that participants can learn from your battles? What should they gear up for if they have to make this transition for their use cases?
    3. Since this is an ongoing project, you may not have the “after” part of the story, but you can share what are your learnings in the process so far, especially, what you have learned from the battle scars?

    We’ll need the revised slides version by 13 June.

  • Zainab Bawa (@zainabbawa) Reviewer 2 months ago

    You may also want to consider changing the title of the talk to: “Decomposing a Monolith: engineering and operational strategies we have gleaned from our experience at Endurance.”

  • Sudheer Kumar Meesala (@sudheerm) Proposer 2 months ago

    PFA the updated slides

Login with Twitter or Google to leave a comment