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

When Microservices Meet Real-World Projects @ GOTOber

When Microservices Meet Real-World Projects @ GOTOber

Aba82ecdcf1e1534f2c579d124d8cd35?s=128

Alexander Heusingfeld

December 03, 2015
Tweet

Transcript

  1. None
  2. MicroServices meet Real World projects #gotober #innoQ www.innoQ.com

  3. MicroServices meet Real World projects #gotober #innoQ www.innoQ.com

  4. Alexander Heusingfeld alexander.heusingfeld@innoq.com Senior Consultant @ innoQ @goldstift

  5. Architecture Consulting...

  6. “We’d like to have a microservice architecture!” — Customer X

  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 referred to as a

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

    at #gotober #innoQ
  14. Architectural Decisions

  15. Architectural Decisions > Domain Architecture

  16. Architectural Decisions > Domain Architecture > Macro 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… …if the complexity is on someone else’s

    desk.
  32. “Operational costs are increased!”

  33. Monolith

  34. Microservices?

  35. Microservices? A broken Monolith?!

  36. “Separating teams duplicates work!”

  37. The manageable, domain specific scope enables the development, operation and

    maintenance of an SCS by an autonomous team. Team 1 Team 2 Team 3
  38. share ideas share concepts don’t share functional code Team 1

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

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

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

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

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

    team > automate what’s next to you first > do your homework before you teach others
  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 > other people will notice the benefits
  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 > complex processes can be adopted, divide them and take one step at a time
  49. “pets vs. cattle”

  50. https://www.flickr.com/photos/cornelii/531691572 https://www.flickr.com/photos/cornelii/531691572

  51. https://www.flickr.com/photos/cornelii/531691572 https://www.flickr.com/photos/cornelii/531691572

  52. summarized: change perspectives!

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

  56. A company which embraced and evolved

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

  58. Modernisation Strategies

  59. Big Bang

  60. Change via Copy

  61. Change via Extraction

  62. Strangulate Bad Parts

  63. http://aim42.org/ more information on software modernisation 
 can be found

    at #gotober #innoQ
  64. conclusion

  65. Conway’s Law “Organizations which design systems are constrained to produce

    systems which are copies of the communication structures of these organizations.” – M.E. Conway Organization ˠ Architecture
  66. Summary #gotober #innoQ

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

    #gotober #innoQ
  68. Summary > distributed systems are hard - organizational impact, too

    > don't forget: there's always at least one other perspective #gotober #innoQ
  69. 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 #gotober #innoQ
  70. 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 #gotober #innoQ
  71. Thank you! Questions? Comments? Alexander Heusingfeld | @goldstift alexander.heusingfeld@innoq.com innoQ

    Deutschland GmbH Krischerstr. 100 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 10999 Berlin Germany Ludwigstraße 180 E D-63067 Offenbach Germany Kreuzstr. 16 D-80331 München Germany https://www.innoq.com/en/timeline/?tag=scs #gotober #innoQ