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

Microservices meet Real-World Projects @ JavaLand

Microservices meet Real-World Projects @ JavaLand

Aba82ecdcf1e1534f2c579d124d8cd35?s=128

Alexander Heusingfeld

March 09, 2016
Tweet

Transcript

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

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

  3. Alexander Heusingfeld alexander.heusingfeld@innoq.com Senior Consultant @ innoQ @goldstift Tammo van

    Lessen tammo.van-lessen@innoq.com Principal Consultant @ innoQ @taval
  4. Architecture Consulting...

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

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

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

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

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

    innoQ/Roman Stranghöner
  10. If you cut a monolithic system along its very domains

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

    application …
  12. … then that application can be build as a self-contained

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

    at #javaland #innoQ
  14. Architectural Decisions

  15. Architectural Decisions > Domain Architecture

  16. Architectural Decisions > Domain Architecture > Micro Architecture

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

    Architecture
  18. Isn't there more than that…

  19. At a project meeting…

  20. Did you think about the people 
 who make your

    architecture exist?
  21. us vs. them

  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.”
  23. overcome “us vs. them”

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

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

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

    one manager to decide on a team’s targets > don’t neglect team-building
  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
  28. well-known pros are subjective

  29. “Operating a monolith is easier!”

  30. Of course it’s easier…

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

    someone else’s desk.
  32. “Operational costs are increased!”

  33. Monolith

  34. Microservices?

  35. Microservices? smaller components!

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

    automate • faster roundtrips
  37. “Separating teams duplicates work!”

  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
  39. share ideas share concepts don’t share functional code Team 1

    Team 2 Team 3
  40. “Deployments cannot be faster, 
 we have an established process!”

  41. None
  42. None
  43. None
  44. What this taught us

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

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

    team > automate what’s next to you first
  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
  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
  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
  50. summarized: change perspectives!

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

  54. A company which embraced and evolved

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

  56. Summary #javaland #innoQ

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

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

    > don't forget: there's always at least one other perspective #javaland #innoQ
  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
  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
  61. Tammo van Lessen | @taval tammo.vanlessen@innoq.com Alexander Heusingfeld | @goldstift

    alexander.heusingfeld@innoq.com 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/