Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Microservices

5,907 views

Published on

http://www.dotned.nl/dotned-bijeenkomst/microservices-in-the-real-world/?id=104

Published in: Technology

Microservices

  1. 1. μServices `
  2. 2. 4
  3. 3. 33 000 000 page views per week *Google Analytics v.17 2014 18 MINUTER time spend per visit* 55% 45%
  4. 4. architecture actual scale
  5. 5. A monolithic design is characterised by such a tight coupling among modules that they have no independent existence.
  6. 6. challenges • If one things fails, everything fails • Can’t scale the database any further • Expensive hardware • Maintenance is scary • Platinum support contract costs
  7. 7. We used to innovate to get ahead, now We have to innovate just to keep up
  8. 8. goals • Scaling individual parts of the system • Lower hardware costs • No platinum support • Environment to quickly evaluate ideas • No estimations, you are wrong anyway!
  9. 9. Top inspirations • Larry Constantine - Structured Design (1960) • Douglas McIlroy - Programs (1965) • Ken Thompson - Unix (1973) • Antony Williams - COM (1987) • Udi Dahan - Autonomous Components (2004) • Greg young - CQRS (2008) • Fred George - Micro Services (2013)
  10. 10. –Ken Thompson, Unix Philosophy 1973 “Design programs to be connected to other programs. “
  11. 11. –Mc Mcllroy, Unix Time-Sharing System Forward”. 1978 “Expect the output of every program to become the input to another, as yet unknown, program.”
  12. 12. μServices architecture service subscribe to events publish events exposes http api GET /profile event stream storage reads and write to own storage
  13. 13. simple: easily understood or done
  14. 14. coupling is the degree to which each module relies on each one of the other modules.
  15. 15. “μServices should be made as small as possible, but not smaller”
  16. 16. Event Storming is a workshop format for quickly exploring complex business domains.
  17. 17. services events
  18. 18. where does online status come from?
  19. 19. “No μService should ever depend on another being available”
  20. 20. autonomous: acting independently
  21. 21. “every view should be served by a single to one μService”
  22. 22. { name: bob ross, text: … portrait: { url: /m/f.jpg, isLiked: true, } isOnline: true publicPhotos: …
 privatePhotos: [{ url: /m/f.jpg hasAccess: true }] } GET /profile
  23. 23. where does the member live?
  24. 24. “No μService represents an business entity, but rather serves an expect of one”
  25. 25. “An μService is the smallest consistency boundary”
  26. 26. “μServices depends more on how the service fit into the environment than on how they are designed internally.”
  27. 27. “Polyglot developers are a myth”
  28. 28. “Clarity is better than cleverness”
  29. 29. “An μService is the smallest part of the system that can scale independently”
  30. 30. Shipping
  31. 31. “a μService is to μ to treat as a single product”
  32. 32. master test A B
  33. 33. 0 1750 3500 5250 7000 13:00 13:15 13:30 13:45 v14.test.A.like.count v14.test.B.like.count
  34. 34. Summary
  35. 35. You've been a great audience! already knew that when creating this slide

×