evolutionary architecture as product
play

Evolutionary Architecture as Product Rob Zuber CTO, CircleCI - PowerPoint PPT Presentation

Evolutionary Architecture as Product Rob Zuber CTO, CircleCI @z00b 1 2 3 4 5 6 A Brief History of io.js 2014-11-26 io.js is forked from Node.js 7 A Brief History of io.js 2014-11-26 io.js is forked from Node.js


  1. Evolutionary Architecture as Product Rob Zuber CTO, CircleCI @z00b 1

  2. 2

  3. 😄 3

  4. 😟 4

  5. 🤭 5

  6. 6

  7. A Brief History of io.js 2014-11-26 io.js is forked from Node.js 7

  8. A Brief History of io.js 2014-11-26 io.js is forked from Node.js 2015-02-10 io.js devs are sad about CircleCI 8

  9. A Brief History of io.js 2014-11-26 io.js is forked from Node.js 2015-02-10 io.js devs are sad about CircleCI 2015-02-24 CircleCI releases support and docs for io.js 9

  10. A Brief History of io.js 2014-11-26 io.js is forked from Node.js 2015-02-10 io.js devs are sad about CircleCI 2015-02-24 CircleCI releases support and docs for io.js 2015-06-16 io.js and Node.js form "Node Foundation" and merge 10

  11. 11

  12. My Biases Software Systems Customer Tech Scrappy Scaling 12

  13. Design For Change 13

  14. > git push GitHub origin 14

  15. > git push GitHub CircleCI origin 15

  16. > git push GitHub CircleCI origin 16

  17. > git push GitHub CircleCI origin 17

  18. > git push GitHub CircleCI AWS origin 18

  19. Ixc 1 lxc 2 Application lxc 3 … lxc N 19

  20. Application All containers from one image • Ubuntu 12.04 • Ruby + rvm lxc N Ixc 1 lxc 2 lxc 3 • Python + virtualenv … • Node.js + nvm • ... • MySQL (fixed) • Postgres (fixed) • Mongo (fixed) • ... 20

  21. 21

  22. 22

  23. Application Application lxc N lxc N Ixc 1 Ixc 1 lxc 2 lxc 3 lxc 2 lxc 3 … … Ubuntu 12.04 Ubuntu 14.04 23

  24. Output Processor Hook Receiver Scheduler ruby-2.6.5-stretch mysql-8.0.18 Agent redis-4.0.12 … elasticsearch-6.8.4 24

  25. Head Up 25

  26. 26

  27. 27

  28. Hook Receiver Agent elasticsearch-6.8.4 ruby-2.6.5-stretch Workflow Conductor mysql-8.0.18 redis-4.0.12 … Scheduler Output Processor 28

  29. 29

  30. 30

  31. 31

  32. According to StackShare 7856 Companies report using React 18312 Developers report using React 32

  33. According to StackShare 7856 Companies report using React 18312 Developers report using React 3 Companies report using Om 8 Developers report using Om 33

  34. You are a Product Manager 34

  35. “ If we want to make it easier to write software, so that we can build more powerful systems more cheaply, we must find ways to make software simpler. John Ousterhout – A Philosophy of Software Design 35

  36. “ Essential Complexity is inherent in, and the essence of, the problem (as seen by the users ). Ben Moseley & Peter Marks – Out of the Tar Pit 36

  37. “ Accidental Complexity is all the rest — complexity with which the development team would not have to deal in the ideal world (e.g. complexity arising from performance issues and from suboptimal language and infrastructure). Ben Moseley & Peter Marks – Out of the Tar Pit 37

  38. Q.E.D. 38

  39. 39

  40. 40

  41. Application Remember me? lxc N Ixc 1 lxc 2 lxc 3 … 41

  42. Application Remember me? "Docker LXC Driver" lxc N Ixc 1 lxc 2 lxc 3 … 42

  43. Application Remember me? "Docker LXC Driver" lxc N Ixc 1 lxc 2 lxc 3 … 2014-03-10: libcontainer launched (v0.9.0) 43

  44. Application Remember me? "Docker LXC Driver" lxc N Ixc 1 lxc 2 lxc 3 … 2014-03-10: libcontainer launched (v0.9.0) 2015-08-11: lxc deprecated (v1.8.0) 44

  45. Application Remember me? "Docker LXC Driver" lxc N Ixc 1 lxc 2 lxc 3 … 2014-03-10: libcontainer launched (v0.9.0) 2015-08-11: lxc deprecated (v1.8.0) 2016-02-04: lxc deleted (v1.10.0) 45

  46. Hook Receiver Agent elasticsearch-6.8.4 ruby-2.6.5-stretch Workflow Conductor mysql-8.0.18 redis-4.0.12 … Scheduler Output Processor 46

  47. Hook Receiver Agent Workflow Conductor Scheduler Output Processor Cloud Block Store Mount 47

  48. Hook Receiver Agent elasticsearch-6.8.4 ruby-2.6.5-stretch Workflow Conductor mysql-8.0.18 redis-4.0.12 … Scheduler Output Processor Remote Docker Engine 48

  49. Where Are We Now? 49

  50. 50

  51. 😖 51

  52. 52

  53. Design For Change 53

  54. Simplify the Basics & Look Ahead 54

  55. Think Like a Product Manager 55

  56. Meet Your Customers, Understand Their Goals, Architect Better 56

  57. Thank you. 57

Recommend


More recommend