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.

Micro services, reactive manifesto and 12-factors


Published on

Learn how micro-services, Reactive Manifesto and 12-factors answer us the 'What, Why and How' questions of creating modern distributed systems. One concept, four tenets, twelve factors - rules to live by in cloud.

Published in: Software
  • Be the first to comment

Micro services, reactive manifesto and 12-factors

  1. 1. Micro-Services, the Reactive Manifesto, and 12-Factors Dejan Glozic, IBM Canada ReactiveTO, July 2014
  2. 2. About me Dejan Glozic, Full-Stack Architect IBM Canada Toronto Laboratory @dglozic
  3. 3. Meetup reaction Disambiguation: • Reactionary • Reactive pattern • Reactive.js
  4. 4. We are not exactly short on manifestos Can you name a few?
  5. 5. Still, why worry?
  6. 6. Manifesto trends 0 15 30 45 60 XVI XVII XVIII XIX XX XXI NotableManifestos Centuries Artistic Technical Technical (projected) Political
  7. 7. Adding more causes inflation We are reducing the value and impact of manifestos
  8. 8. Or even hyper-inflation How bad can it be?
  9. 9. This bad Inflation is bad, don’t do inflation… mmm kay?
  10. 10. Another thing to avoid Founders giving up on their own manifestos
  11. 11. Resulting in… Russ Miles blog-blocking the creation of a Micro-service Manifesto
  12. 12. Microbe-service Chlamydia is a nasty STD, don’t do Chlamydia… mmmkay?
  13. 13. Don’t: • Create too many new manifestos • Go through them like dirty socks • Make them compete with each other
  14. 14. Do • Use manifestos as building blocks • Make new manifestos add to the growing understanding
  15. 15. –A Thespian from Utah “We can have our Kate and Edith too.”
  16. 16. Mental exercise Merge 12-factors, reactive manifesto and micro-services
  17. 17. The Twelve-Factor App Adam Wiggins, Heroku co-founder
  18. 18. 12-Factors use Roman numerals Because they make the manifestos sound L% more effective.
  19. 19. Factors I-IV I. One codebase, many deploys II. Declare and isolate dependencies III. Separate config from code IV. Treat backing services as attached resources
  20. 20. Factors V-VIII V. Strictly separate build, release and run stages VI. Execute apps as share-nothing processes VII.Export services via port binding VIII.Scale out via the process model
  21. 21. Factors IX-XII IX. Fast startup, graceful shutdown X. Dev/Prod parity XI. Treat logs as event streams XII.Run admin/mgmt tasks as one-off processes
  22. 22. 12-factors are great… …but they only answer ‘How’, not ‘Why’ and ‘What’
  23. 23. Then came Reactive Manifesto …but Kevin already told you what it is about
  24. 24. Why Reactive? So that our system can be reactive to: • Events • Load • Failure • Users
  25. 25. Micro-services The third ingredient
  26. 26. Micro-service frenzy They even cause Twitter food fights
  27. 27. Sigh… We cannot even agree what it is
  28. 28. Micro-service system • Many micro-services instead of a monolith • Do one thing and do it right • Deploy micro-services independently • Communicate using message queues • Cluster locally
  29. 29. Example - feature grid Horizontal - tiers, vertical - features.
  30. 30. Example - events RabbitMQ between micro-services, WebSockets for server push
  31. 31. Example - clustering RabbitMQ worker queue, round-robin to micro-service workers
  32. 32. Everything snaps into focus We now have our What, Why and How
  33. 33. What? A distributed system based on micro-services that communicate via message queues
  34. 34. Why? Because we want our system to be reactive to events, load, failure and users.
  35. 35. How? By implementing micro-services as well-behaved 12- factor apps
  37. 37. This was fun Let’s hope consultants don’t ruin Reactive the way they did Agile
  38. 38. #!$@*!!
  39. 39. Questions?
  40. 40. Thank you! @dglozic