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

Microservices: Utopian mystery

Praveena
October 04, 2016

Microservices: Utopian mystery

Goto Copenhagen 2016
Video of the accompanying talk: https://youtu.be/OIqcR5yi_to?t=32s

Praveena

October 04, 2016
Tweet

More Decks by Praveena

Other Decks in Technology

Transcript

  1. Microservices (µservices) Software architecture style in which complex applications are

    composed of small, independent processes communicating with each other using language-agnostic APIs. @praveenasekhar
  2. • Quick Deployments • Adapt to feedback quickly • High

    Scalability • Easier to enhance features • Add features quickly to assess market
  3. • 20 year old system written in C. • Team

    with no business analysts. • Reverse engineer code. • Takes months of work to see changes propagated. • Prove the success of the new platform, to the old platform. • Tight deadlines @praveenasekhar
  4. Definitions Utopia : An imagined place or state of things

    in which everything is perfect. Mystery: Something that is difficult or impossible to understand or explain. @praveenasekhar
  5. 2 1 How long does a story take to reach

    production? @praveenasekhar
  6. • 20 year old system written in C. • Team

    with no business analysts. • Reverse engineer code. • Takes months of work to see changes propagated. • Prove the success of the new platform, to the old platform. • Tight deadlines @praveenasekhar
  7. Make a conscious decision to think about your deployment strategy

    when you start with a story and slowly you’ll see deployment patterns evolve. @praveenasekhar
  8. • ChatOps • Kibana Dashboards • Quick fix stories •

    Automating the support scripts @praveenasekhar
  9. Webapp AuthService { “authToken” : “token123”, “username” : ”John”, “age”

    : 28 } { “user” : { “name” : ”John”, “age” : 28 } } @praveenasekhar
  10. 5 7 Good abstraction: Managing negative ttl caching can be

    abstracted to a shared library. @praveenasekhar
  11. Conway’s law Any organization that designs a system (defined broadly)

    will produce a design whose structure is a copy of the organization's communication structure. @praveenasekhar
  12. Horizontal slicing: UI Team, Platform team, Feature team. Vertical slicing:

    Feature team with developers, testers, platform, UI developers and product owners. @praveenasekhar
  13. • Chaos monkey • Health checks to check for dependent

    services. • System status dashboards. @praveenasekhar
  14. New kids on the block • Containerisation. • Service Registry.

    • AWS Lambda. • Ephemeral Containers. • *aaS @praveenasekhar
  15. Why do it? • Improve in iterations • Have autonomy,

    take control for business as well as technology. • High cohesion and loosely coupled. • Embrace Conway’s law. Don’t fight it. • Have fun. @praveenasekhar
  16. Summary 1. Keep it small. 2. Focus on autonomy, from

    design to deployment. 3. Plan for contingency, aka breaking changes. 4. Pay attention to your bounded context. 5. Choose what works best for you and document your reasons. 6. Embrace Conway’s law. 7. Take monitoring seriously. 8. Testing; Do it. 9. Invest in infrastructure. 10. Embrace new technology. @praveenasekhar
  17. Resources 1. Microservices Envy https://www.thoughtworks.com/de/radar/techniques/microservice-envy 2. Microservices Premium http://martinfowler.com/bliki/MicroservicePremium.html 3.

    Microservices Prerequisites http://martinfowler.com/bliki/MicroservicePrerequisites.html 4. Microservices – Not a free lunch http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html 5. Building Microservices http://www.amazon.de/Building-Microservices-Sam-Newman/dp/1491950358 6. Domain Driven Design http://www.amazon.de/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215 7. Release IT! https://pragprog.com/book/mnee/release-it 8. Your code as a crime scene https://pragprog.com/book/atcrime/your-code-as-a-crime-scene 9. Phoenix Project http://www.amazon.com/The-Phoenix-Project-Helping-Business/dp/0988262509 10. Art of Scalability http://www.amazon.de/The-Art-Scalability-Architecture-Organizations/dp/0134032802 @praveenasekhar