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

evolutionary architecture as product
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1 1

Evolutionary Architecture as Product

Rob Zuber CTO, CircleCI @z00b

slide-2
SLIDE 2 2
slide-3
SLIDE 3 3

😄

slide-4
SLIDE 4 4

😟

slide-5
SLIDE 5 5

🤭

slide-6
SLIDE 6 6
slide-7
SLIDE 7

A Brief History of io.js

7

2014-11-26 io.js is forked from Node.js

slide-8
SLIDE 8

A Brief History of io.js

8

2014-11-26 io.js is forked from Node.js 2015-02-10 io.js devs are sad about CircleCI

slide-9
SLIDE 9

A Brief History of io.js

9

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

slide-10
SLIDE 10

A Brief History of io.js

10

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

slide-11
SLIDE 11 11
slide-12
SLIDE 12 12

My Biases

Customer Tech Software Systems Scrappy Scaling

slide-13
SLIDE 13

Design For Change

13
slide-14
SLIDE 14 14

GitHub

> git push
  • rigin
slide-15
SLIDE 15

CircleCI

15

GitHub

> git push
  • rigin
slide-16
SLIDE 16

CircleCI

16

GitHub

> git push
  • rigin
slide-17
SLIDE 17

CircleCI

17

GitHub

> git push
  • rigin
slide-18
SLIDE 18

CircleCI

18

GitHub

> git push
  • rigin
AWS
slide-19
SLIDE 19 19 … Application Ixc 1 lxc 2 lxc 3 lxc N
slide-20
SLIDE 20 20 … Application Ixc 1 lxc 2 lxc 3 lxc N

All containers from one image

  • Ubuntu 12.04
  • Ruby + rvm
  • Python + virtualenv
  • Node.js + nvm
  • ...
  • MySQL (fixed)
  • Postgres (fixed)
  • Mongo (fixed)
  • ...
slide-21
SLIDE 21 21
slide-22
SLIDE 22 22
slide-23
SLIDE 23 23 … Application Ixc 1 lxc 2 lxc 3 lxc N … Application Ixc 1 lxc 2 lxc 3 lxc N Ubuntu 12.04 Ubuntu 14.04
slide-24
SLIDE 24 24 … Agent ruby-2.6.5-stretch mysql-8.0.18 redis-4.0.12 elasticsearch-6.8.4 Hook Receiver Scheduler Output Processor
slide-25
SLIDE 25

Head Up

25
slide-26
SLIDE 26 26
slide-27
SLIDE 27 27
slide-28
SLIDE 28 28 … Agent ruby-2.6.5-stretch mysql-8.0.18 redis-4.0.12 elasticsearch-6.8.4 Hook Receiver Workflow Conductor Scheduler Output Processor
slide-29
SLIDE 29 29
slide-30
SLIDE 30 30
slide-31
SLIDE 31 31
slide-32
SLIDE 32

According to StackShare

32

7856 Companies report using React 18312 Developers report using React

slide-33
SLIDE 33

According to StackShare

33

7856 Companies report using React 18312 Developers report using React 8 Developers report using Om 3 Companies report using Om

slide-34
SLIDE 34

You are a Product Manager

34
slide-35
SLIDE 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.

35 John Ousterhout – A Philosophy of Software Design

slide-36
SLIDE 36

Essential Complexity is inherent in, and the essence of, the problem (as seen by the users).

36

Ben Moseley & Peter Marks – Out of the Tar Pit
slide-37
SLIDE 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).

37 Ben Moseley & Peter Marks – Out of the Tar Pit

slide-38
SLIDE 38 38

Q.E.D.

slide-39
SLIDE 39 39
slide-40
SLIDE 40 40
slide-41
SLIDE 41 41 … Application Ixc 1 lxc 2 lxc 3 lxc N

Remember me?

slide-42
SLIDE 42 42 … Application Ixc 1 lxc 2 lxc 3 lxc N

Remember me?

"Docker LXC Driver"

slide-43
SLIDE 43 43 … Application Ixc 1 lxc 2 lxc 3 lxc N

Remember me?

"Docker LXC Driver" 2014-03-10: libcontainer launched (v0.9.0)

slide-44
SLIDE 44 44 … Application Ixc 1 lxc 2 lxc 3 lxc N

Remember me?

"Docker LXC Driver" 2014-03-10: libcontainer launched (v0.9.0) 2015-08-11: lxc deprecated (v1.8.0)

slide-45
SLIDE 45 45 … Application Ixc 1 lxc 2 lxc 3 lxc N

Remember me?

"Docker LXC Driver" 2014-03-10: libcontainer launched (v0.9.0) 2015-08-11: lxc deprecated (v1.8.0) 2016-02-04: lxc deleted (v1.10.0)

slide-46
SLIDE 46 46 … Agent ruby-2.6.5-stretch mysql-8.0.18 redis-4.0.12 elasticsearch-6.8.4 Hook Receiver Workflow Conductor Scheduler Output Processor
slide-47
SLIDE 47 47 Agent Hook Receiver Workflow Conductor Scheduler Output Processor Cloud Block Store Mount
slide-48
SLIDE 48 48 … Agent ruby-2.6.5-stretch mysql-8.0.18 redis-4.0.12 elasticsearch-6.8.4 Hook Receiver Workflow Conductor Scheduler Output Processor Remote Docker Engine
slide-49
SLIDE 49

Where Are We Now?

49
slide-50
SLIDE 50 50
slide-51
SLIDE 51 51

😖

slide-52
SLIDE 52 52
slide-53
SLIDE 53

Design For Change

53
slide-54
SLIDE 54

Simplify the Basics & Look Ahead

54
slide-55
SLIDE 55

Think Like a Product Manager

55
slide-56
SLIDE 56

Meet Your Customers, Understand Their Goals, Architect Better

56
slide-57
SLIDE 57 57

Thank you.