[Update based on the panel review]

Inspired by Martin Fowler's introduction to micro services (https://www.youtube.com/watch?v=wgdBVIX9ifA);

The demo will introduce the "ABC"s of the transition to micro services. We will refer to the Hadoop Distributed File System open source and demonstrate to (re)design the NameNode module as a micro service. This will introduce the three primary challenges and their possible solutions as in;

1. Componentize using Services instead of the conventional componentization using the design

2. Data segregation using an event driven framework to separate the centralized data across services

3. Accessing a micro service as a web service instead of an orchestrated access; the delegate & facade patterns will be demoed to loosely couple the interfaces

 

The demo will conclude with a listing of the next steps in transition, which need to be considered after the primary challenges are addressed.

 
2 favorite thumb_down thumb_up 13 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

[Update based on the panel review]

Introduction (5 mins)

Introduce the three primary challenges and their possible solutions as in; (3 * 10 = 30 mins)

1. Componentize using Services instead of the conventional componentization using the design

2. Data segregation using an event driven framework to separate the centralized data across services

3. Accessing a micro service as a web service instead of an orchestrated access; the delegate & facade patterns will be demoed to loosely couple the interfaces

 

The demo will conclude with a listing of the next steps in transition, which need to be considered after the primary challenges are addressed. (5 mins)

Learning Outcome

Understand the fundamental principles of micro services, and the techniques to transition a monolith to micro service. Demo-based learning in a hands on setup using a well known open source example.

Target Audience

DevOps, architects, programmers

schedule Submitted 1 year ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Joel Tosi
    By Joel Tosi  ~  1 year ago
    reply Reply

    Hi Rajith,

       I am not 100% certain where this is at, so let me explain my perspective and please let me know if there are gaps.

     

    I like the topic.  I like the idea of seeing sample implementations.

     

    I don't like the idea of watching someone code for 45 minutes.  I don't think the group would keep up well with trying to do all of this, of any substance, in 45 minutes.

     

    If you have delivered this session before, there is probably a nice mix where you can release the sample code via github and present the solutions, walk through them, etc, without live coding.  The attendees would gain your insight and would be able to walk away with a sample to play with / expand upon. You could even give some ideas for things to try next.

     

    With all I said above - what are your thoughts?  Is that where the session is at now / could it be?

     

    Best,

    Joel

    • Rajith Raveendranath
      By Rajith Raveendranath  ~  1 year ago
      reply Reply

      Hi Joel, I am planning to deliver the session as a walk through of code, not live coding. Will use some visualisations like flow diagrams etc. also. You could probably see this in the slide set I have attached, where I discuss about loose coupling. 

      I will also suggest next steps in transition which the audience can explore them selves after the session. 

      Regards 

      Rajith 

  • Leena S N
    By Leena S N  ~  1 year ago
    reply Reply

    Hi Rajith,

    Good to connect again.

    Have some feedback about your session as I was one of the attendees of your talk:

    • The audience of Agile India would be different than what was there for the DevOps Summit. So exactly the same structure may not work, especially anything that is at the introductory level talk is better avoided
    • I felt that the session contained too many things especially the connection between the microservice and functional programming was not very apparent

    Can you restructure the proposal to concentrate on one problem i.e. how do you slice the monolith to micro and deploy it continuously? 

    And as Abraham mentioned below, it might be more appropriate as a demo than a workshop as a lot of time can get lost in setting up and fixing the issues.

    Thanks,

    Leena

     

    • Rajith Raveendranath
      By Rajith Raveendranath  ~  1 year ago
      reply Reply

      Hi,

      Thank you for the review. Agree to all your suggestions.

      I will restructure this session as a demo, rather than a workshop. I will also focus only on the migration problem i.e. about slicing the monolith into micro service.

      The session will demo the challenges of migration and the solution patterns available. It will be in four parts;

      part 1 would discuss the challenge of dependencies and introduce functional composition as a solution.

      part 2 would discuss the challenges in data segregation, esp. if the current data model (as we find often) is centralized, and discuss using an event driven data model as solution

      part 3 would be about challenges in access and interfaces, like the need for orchestration, tight coupling and introduce the web service model, RPC mechanisms (request-response or publish/notify) and loose coupling techniques

      part 4 would be about the various deployment options, ranging from multiple services in a pet-grade server to distributed services in cattle-grade servers

      The session would refer to the architecture, design & code of the NameNode module in HDFS for demonstrating the challenges and discussing solutions.

      I will update my proposal details by  7th Nov, Monday to include these changes, would require some more days with the draft slides though.

      Your comments, on this, are welcome

       

      Regards

      Rajith

      • Joel Tosi
        By Joel Tosi  ~  1 year ago
        reply Reply

        Hi Rajith,

            I like the changes you are proposing though it still feels like quite a bit.  Sitting through 90 minutes of demo can also be challenging.  Will the timing change?

         

        Best,

        Joel

        • Rajith Raveendranath
          By Rajith Raveendranath  ~  1 year ago
          reply Reply

          Hi Joel, 

          I am planning to keep the demo as 60 minutes. 

          Regards 

          Rajith 

          • Leena S N
            By Leena S N  ~  1 year ago
            reply Reply

            Rajith,

             

            You will have to keep it for 45 minutes as there are no 60-minute talks.

             

             

            • Rajith Raveendranath
              By Rajith Raveendranath  ~  1 year ago
              reply Reply

              Hi

              I would include the parts 1 to 3, that I have mentioned in the original comment and replan the demo for 45 minutes. I may not be able to cover the deployment part, although.

              Would that be OK?

              Regards

              Rajith

              • Abraham L C
                By Abraham L C  ~  1 year ago
                reply Reply

                Hi

                Thanks. This looks fine for me considering the 'time' constraint.

                Best Regards

                Abraham L C

  • Abraham L C
    By Abraham L C  ~  1 year ago
    reply Reply

    Hi Ranjith

     

    Thank you for proposal and it is aligned with theme.

     

    My few comments:

    1. It may not be very effective if it is hands-on session in a conference like Agile India. And also, one may expect personal attention for trouble shooting if they facing problem in bring-up the required environment. A demo approach may be more suitable

    2. General aspects like - MONOLITH VS MICRO SERVICES W.R.T. ENABLERS AND CHALLENGES can be covered more. Reason is a training can be helpful to write a basic functional programming but only experts can give big picture on the topic. I prefer to position this session at that level

    Best Regards

    Abraham L C 

    • Rajith Raveendranath
      By Rajith Raveendranath  ~  1 year ago
      reply Reply

      Hi Abraham,

      Thank you for your review, your points are very relevant. Please find below, some considerations I have taken, to address these.  

      The hands on part of the session is mainly used to reinforce the concepts; part of it is about browsing some code in github (may not need much trouble shooting, I guess) and running some simple code in eclipse (like Hello World in scala). Al the steps will be demoed and I have ensured to keep the practical part simple & straight forward.

      If you see my slides, the first part focuses on the enablers & challenges of migrating a monolith to micro service, including discussion on functional componentizing, data segregation & loosely coupled interfaces.

      Last time, when I presented this at a DevOps summit, the audience wanted some more details about solutions to data segregation and about accessing micro services (RPC mechanisms & best practices), which I will be updating in the presentation, thus enhancing the enablers part.

      We will also discuss about the pervasive challenge in software construction; that of (incidental) complexity and how micro service architecture with functional programming would simplify this.

      Please let me know if further details are required.

      Regards

      Rajith

  • Naveen Kumar Singh
    By Naveen Kumar Singh  ~  1 year ago
    reply Reply

    Hi Rajith,

    Thanks for your proposal. You have submitted under 90 mins workshop to demonstrate how to build micro-service. Is there anything for participants to do in 90 mins workshop? If yes then do they need to bring laptop? 

    Also please add presentation video if you have any.

    Regards,

    Naveen 

    • Rajith Raveendranath
      By Rajith Raveendranath  ~  1 year ago
      reply Reply

      Hi,

      In the first part of 90 minutes, participants will access the HDFS open source code from GitHub or apache, use JDepend to look at the afferent and efferent dependencies and browse the code of some modules in eclipse. They will also use eclipse to understand the use of a session facade, for generalising the interfaces.

      The second part of the session is about function programming. There are some examples in code, which they can follow in their IDEs.

      The participants would benefit from having laptop, eclipse, JDepend, GitHub access and the scala plugin.

       

      I may not have a video for the same, although I presented it in the DevOps summit, two weeks back. Leena, from your review board, also attended that session.

      Regards

      Rajith


  • Fabiola Eyholzer
    Fabiola Eyholzer
    CEO
    Just Leading Solutions
    schedule 1 year ago
    Sold Out!
    45 Mins
    Keynote
    Advanced

    There is growing interest in learning more about Agile HR and its impact on individuals, teams and organizations.

    It is important to separate fact from fiction: What are the real threats and opportunities of bringing Lean | Agile values, principles, and practices to HR? What can we expect in the future? Through anecdotal evidence and case studies, the session will explore the potential of Agile HR as well as provide guidance on how to approach the transformation.

     Issues covered in the presentation include: information on how to embrace the new talent contract, create inspiring, engaging, and fun places of work, shift to an iterative performance flow, take the issue of money off the table, support growth within an Agile enterprise.

  • Liked Prasad
    keyboard_arrow_down

    Prasad - DevOps lead IT Transformation story of an Investment Bank

    Prasad
    Prasad
    Prasad
    HolleyHolland
    schedule 1 year ago
    Sold Out!
    20 Mins
    Experience Report
    Intermediate

    Total cost of ownership of the Investment Bank IT portfolio is way too high. Business is also keen in getting high responsiveness from IT. There is high desirability from all stakeholders in changing the way IT work. Based on a value stream analysis, key  aspects that impede speed and value are identified. Common and prominent impediments identified are silo, handovers, local optimization, manual and inefficient software engineering.  Principles and practices of DevOps seems to be an excellent fit for this change. This means new capabilities for IT workforce, new operating model, new way of measuring, new way of aligning with other corporate groups like security etc.  This session is a journey in progress of IT transformation using DevOps as core theme.  Where to begin? What to change? How to create capabilities? How to onboard teams into this wave? How to sustain? Where are we now? Where we want to reach? Lessons learnt?

  • Liked Woody Zuill
    keyboard_arrow_down

    Woody Zuill - Mob Programming: A Whole Team Approach

    45 Mins
    Talk
    Intermediate

    Mob Programming is a development practice where the whole team works on the same thing, at the same time, in the same space, and on the same computer. It is a whole-team approach to doing all the work the team does including designing, coding, testing, and working with the customers, users and other stakeholders. This is an evolutionary step beyond pair programming and accentuates face-to-face communication, team alignment, collaboration, and self-organizing team concepts of the Agile approach to software development.

    Mob Programming can be a highly effective approach to software development. There are numerous teams doing Mob Programming all over the world, including distributed teams, and there has been a great deal of positive reports of success. Please join me as I share how the concept got started, the benefits, techniques we use, and some of the problems we've faced.

  • Liked Fennande van der Meulen
    keyboard_arrow_down

    Fennande van der Meulen / Maartje Wolff - The Power of Purpose - workshop on How purpose drives employee happiness and company results

    90 Mins
    Workshop
    Beginner

    Having a clear purpose in both life and work is essential to happiness. And, science and business support this view. Companies with a clear purpose perform better than companies without. Purpose is increasingly seen as the key to navigate the volatile and complex world we live in. And, people with a purpose in their live longer and are healthier. However, finding your purpose, your personal and companies purpose, is not an easy task. In this workshop we discuss what purpose means and key elements of a sustainable and meaningful purpose. We elaborate the four steps to identify the company purpose and how to build your business around it.

  • Liked Nayan Hajratwala
    keyboard_arrow_down

    Nayan Hajratwala - Refactoring Legacy Code Guided by Simple Design

    45 Mins
    Demonstration
    Intermediate

    Are you frustrated by the many trivial examples that show up when you google "refactor legacy code"? How do you translate these examples to your real-world code base? Sometimes it's just easier to give up on the refactoring and increased test coverage, reserving these techniques for the ever elusive greenfield project. To help you with this dilemma, Nayan will walk through a real legacy Java code base, and perform some safe refactorings required to bring the code under test. All of this will be done under the guidance of the Four Rules of Simple Design (Pass the tests, DRY, Reveal intent, Minimize moving parts).

  • Liked Chris Edwards
    keyboard_arrow_down

    Chris Edwards - The Agile Architect: Turning Followers into Leaders

    Chris Edwards
    Chris Edwards
    Senior Manager
    IHS Markit
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    "The higher you go in an organization, the more your suggestions become interpreted as orders." - Marshall Goldsmith

    An Architect garners a high level of authority by being an expert. People will follow their lead. But what if the Architect is wrong? They will follow right off a cliff.

    How do we get people to think like the Architect? Use the principles of Intent-Based Leadership to decouple the success of your project from the personality of the architect. By creating clarity around architectural goals and by engaging people in problem solving rather than defining rules and standards we can divest control and create an organization of leaders.

  • Liked Howard Deiner
    keyboard_arrow_down

    Howard Deiner - Legacy Code Retreat - Uncovering Better Ways of Dealing With Legacy Software By Doing it and Helping Others Do It!

    480 Mins
    Workshop
    Intermediate

    In his book “Understanding the Four Rules of Simple Design”, Corey Haines lays out the basics for getting people together for a day and practice coding better. Unhappily, many of us have to deal with legacy code in our daily lives, and find ourselves frustrated when we try to make legacy code better. J. B. Rainsberger has started a variation on on Corey Haines’ code retreats, making them more practical for legacy code practitioners. I’d like to extend that pattern and have retreat for those of us who work legacy code in Java often.

    We will learn and practice the classic Michael Feathers dance of

    1. Identify change points
    2. Find an inflection point
    3. Cover the inflection point (break external dependencies, break internal dependencies, write tests)
    4. Make changes
    5. Refactor the covered code.

    By the end of the day, in addition to being tired and completely ready to put away our laptops forever, we will have gained valuable insights and practical experience with a topic no one likes to talk about - getting better working with legacy code!