$30 off During Our Annual Pro Sale. View Details »

Microservices meet Real-World Projects @ JavaLand

Microservices meet Real-World Projects @ JavaLand

Alexander Heusingfeld

March 09, 2016
Tweet

More Decks by Alexander Heusingfeld

Other Decks in Technology

Transcript

  1. MicroServices
    meet Real World projects
    #javaland #innoQ
    www.innoQ.com

    View Slide

  2. MicroServices
    meet Real World projects
    #javaland #innoQ
    www.innoQ.com

    View Slide

  3. Alexander Heusingfeld
    [email protected]
    Senior Consultant @ innoQ
    @goldstift
    Tammo van Lessen
    [email protected]
    Principal Consultant @ innoQ
    @taval

    View Slide

  4. Architecture Consulting...

    View Slide

  5. “We want to have a microservice architecture!”

    View Slide

  6. “We want to have a microservice architecture!”
    — Every Customer, 2015

    View Slide

  7. When reviewing a
    monolithic application …
    © innoQ/Roman Stranghöner

    View Slide

  8. …and taking a look
    into the black box…
    © innoQ/Roman Stranghöner

    View Slide

  9. …you’ll likely find it consists of
    multiple Bounded Contexts.
    © innoQ/Roman Stranghöner

    View Slide

  10. If you cut a monolithic
    system along its very
    domains …

    View Slide

  11. … and wrap every domain in
    a separate, replaceable
    web application …

    View Slide

  12. … then that application can be
    build as a self-contained
    system (SCS).

    View Slide

  13. http://scs-architecture.org/
    more information on
    self-contained systems (SCS)
    can be found at
    #javaland #innoQ

    View Slide

  14. Architectural Decisions

    View Slide

  15. Architectural Decisions
    > Domain Architecture

    View Slide

  16. Architectural Decisions
    > Domain Architecture
    > Micro Architecture

    View Slide

  17. Architectural Decisions
    > Domain Architecture
    > Macro Architecture
    > Micro Architecture

    View Slide

  18. Isn't there more than that…

    View Slide

  19. At a project meeting…

    View Slide

  20. Did you think about the people 

    who make your architecture exist?

    View Slide

  21. us vs. them

    View Slide

  22. “Don’t care about this, it’s our business!”
    “Alarming is our concern, don’t bother about it!”
    “No need for a discussion, we always fix that during deployment.”
    “That’s part of the handover to operations.”

    View Slide

  23. overcome “us vs. them”

    View Slide

  24. overcome “us vs. them”
    > cross-functional != cross-department

    View Slide

  25. overcome “us vs. them”
    > cross-functional != cross-department
    > have one manager to decide on a team’s targets

    View Slide

  26. overcome “us vs. them”
    > cross-functional != cross-department
    > have one manager to decide on a team’s targets
    > don’t neglect team-building

    View Slide

  27. overcome “us vs. them”
    > cross-functional != cross-department
    > have one manager to decide on a team’s targets
    > don’t neglect team-building
    > trust is not optional

    View Slide

  28. well-known pros are subjective

    View Slide

  29. “Operating a monolith is easier!”

    View Slide

  30. Of course it’s easier…

    View Slide

  31. It’s always easier for you…
    …if the complexity is on someone
    else’s desk.

    View Slide

  32. “Operational costs are increased!”

    View Slide

  33. Monolith

    View Slide

  34. Microservices?

    View Slide

  35. Microservices?
    smaller components!

    View Slide

  36. Microservices?
    smaller components!
    • easier to test
    • quicker to automate
    • faster roundtrips

    View Slide

  37. “Separating teams duplicates work!”

    View Slide

  38. The manageable, domain
    specific scope enables the
    development, operation
    and maintenance of an SCS
    by an autonomous team.
    Team 1
    Team 2 Team 3

    View Slide

  39. share ideas
    share concepts
    don’t share functional code
    Team 1
    Team 2 Team 3

    View Slide

  40. “Deployments cannot be faster, 

    we have an established process!”

    View Slide

  41. View Slide

  42. View Slide

  43. View Slide

  44. What this taught us

    View Slide

  45. What this taught us
    > enable fast feedback for your team

    View Slide

  46. What this taught us
    > enable fast feedback for your team
    > automate what’s next to you first

    View Slide

  47. What this taught us
    > enable fast feedback for your team
    > automate what’s next to you first
    > do your homework before you teach others

    View Slide

  48. What this taught us
    > enable fast feedback for your team
    > automate what’s next to you first
    > do your homework before you teach others
    > other people will notice the benefits

    View Slide

  49. What this taught us
    > enable fast feedback for your team
    > automate what’s next to you first
    > do your homework before you teach others
    > other people will notice the benefits
    > complex processes can be adopted, divide them
    and take one step at a time

    View Slide

  50. summarized:
    change perspectives!

    View Slide

  51. View Slide

  52. View Slide

  53. http://izismile.com/2013/01/22/buyers_beware_its_a_matter_of_perspective_3_pics.html

    View Slide

  54. A company which
    embraced and evolved

    View Slide

  55. http://projectcartoon.com/cartoon/1

    View Slide

  56. Summary
    #javaland #innoQ

    View Slide

  57. Summary
    > distributed systems are hard - organizational impact, too
    #javaland #innoQ

    View Slide

  58. Summary
    > distributed systems are hard - organizational impact, too
    > don't forget: there's always at least one other perspective
    #javaland #innoQ

    View Slide

  59. Summary
    > distributed systems are hard - organizational impact, too
    > don't forget: there's always at least one other perspective
    > Don’t overwhelm people, change one thing at a time
    #javaland #innoQ

    View Slide

  60. Summary
    > distributed systems are hard - organizational impact, too
    > don't forget: there's always at least one other perspective
    > Don’t overwhelm people, change one thing at a time
    > not everyone who wants microservices is immediately
    capable to establish them
    #javaland #innoQ

    View Slide

  61. Tammo van Lessen | @taval
    [email protected]
    Alexander Heusingfeld | @goldstift
    [email protected]
    Thank you!
    Questions?
    Comments?
    innoQ Deutschland GmbH
    Krischerstr. 100
    D-40789 Monheim am Rhein
    Germany
    Phone: +49 2173 3366-0
    innoQ Schweiz GmbH
    Gewerbestr. 11
    CH-6330 Cham
    Switzerland
    Phone: +41 41 743 0116
    www.innoq.com
    Ohlauer Straße 43
    D-10999 Berlin
    Germany
    Phone: +49 2173 3366-0
    Ludwigstr. 180 E
    D-63067 Offenbach
    Germany
    Phone: +49 2173 3366-0
    Kreuzstr. 16
    D-80331 München
    Germany
    Telefon +49 2173 3366-0
    https://www.innoq.com/en/talks/

    View Slide