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

micro services, yotta benefits

micro services, yotta benefits

Understand how micro-services can help you create timeless software. Presented at XConf Gurgaon 2014.

Avinash Chugh

April 26, 2014
Tweet

More Decks by Avinash Chugh

Other Decks in Programming

Transcript

  1. HOW CAN SOFTWARE DEFY AGING? 5 Think of software as

    a living organism, an intelligent collection of cells each earmarked for one particular job but evolving over time, ensuring the organism stays fresh and can recover from disease.
  2. WHAT’S WRONG WITH IT? 8 ▪ Single process ▪ Too

    many concepts ▪ The dependency graph ▪ Aversion to change/upgrade ▪ Kills productivity ▪ Impedes continuous delivery ▪ Too many cooks
  3. PRINCIPLES - INFRASTRUCTURE FIRST 9 Pace of change above ground

    needs to be matched by investments below ground
  4. PRINCIPLES - THE UNIX PHILOSOPHY 10 Write programs that do

    one thing well. Write programs that work together. cat | grep | sed | awk ...
  5. PRINCIPLES - YOU BUILD IT, YOU RUN IT 12 The

    best way to completely automate operations is to have to developers be responsible for running the software they develop. ... It also brings developers into direct contact with customers and a very effective feedback loop starts. -Werner Vogels
  6. WHAT IS A MICRO SERVICE? ▪ Small ▪ Independent ▪

    Replaceable ▪ Dedicated process ▪ Free of side-effects ▪ Easily consumable ▪ Testable (valuable?) ▪ Free of temporal coupling ▪ Fast to startup 13
  7. EXPECTED BENEFITS ▪ Code reuse ▪ Database agnostic ▪ Responsibilities

    first ▪ Faster feedback ▪ Higher productivity ▪ Replaceable ▪ Better supportability ▪ Team scaling 15
  8. THE BASICS STILL APPLY ▪ SOLID ▪ Domain-driven design ▪

    RESTful APIs ▪ Automated tests ▪ Test pyramid - 18
  9. CAN ONE SERVICE CONSUME ANOTHER? 21 ▪ Still small? ▪

    Leaking domain ▪ Too much context? ▪ Availability
  10. CARVING UP THE UNDERLYING DOMAIN 23 Program Claim Dealer Part

    User Role core security organization inventory for applies-to creator belongs-to