Luís Cobucci
@lcobucci
confidence
Decomposing a live app with
https://goo.gl/Nv1sV8
Slide 2
Slide 2 text
Photo by Rafael Dohms
Bassano del Grappa !
Slide 3
Slide 3 text
Photo by Rafael Dohms
Bassano del Grappa !
Slide 4
Slide 4 text
Live software!
Photo by Rafael Dohms
Software
engineers
Slide 5
Slide 5 text
Luís Cobucci
@lcobucci
https://jobs.usabilla.com
Slide 6
Slide 6 text
Here we go…
https://goo.gl/JF1cPb
Slide 7
Slide 7 text
Oh the chaos!
https://goo.gl/D4DvKC
Slide 8
Slide 8 text
No tests
https://goo.gl/tnbTEC
Slide 9
Slide 9 text
https://goo.gl/hr22Dx
Outdated stack
Slide 10
Slide 10 text
https://goo.gl/qh3NNs
Complexity
Slide 11
Slide 11 text
Very slow
https://goo.gl/dRfUyZ
Slide 12
Slide 12 text
https://goo.gl/cuLYT9
Random bugs
Slide 13
Slide 13 text
https://goo.gl/HyzXpQ
It’s all fine…
Slide 14
Slide 14 text
Look, light!
https://goo.gl/9w9EBV
Slide 15
Slide 15 text
Great people
https://goo.gl/JYsTJW
Slide 16
Slide 16 text
Work in progress
https://goo.gl/CS6azo
Slide 17
Slide 17 text
Refactor all things!
https://goo.gl/ebJsEL
Slide 18
Slide 18 text
https://goo.gl/CNzhi7
Saved searches
Slide 19
Slide 19 text
https://goo.gl/QrVWpC
+50k emails
Slide 20
Slide 20 text
https://goo.gl/zoWGug
Quality increase
Slide 21
Slide 21 text
Photo by Rafael Dohms
Remember?
Slide 22
Slide 22 text
Wait, what?
https://goo.gl/nTX7xr
Slide 23
Slide 23 text
Sometime ago…
https://goo.gl/Zr2mJy
Slide 24
Slide 24 text
https://goo.gl/WdiLjf
Big ball of mud
Slide 25
Slide 25 text
Unify everything
https://goo.gl/TGmbsc
Slide 26
Slide 26 text
No major rewrite
https://goo.gl/SfHtmY
PLEASE
Slide 27
Slide 27 text
Strangler application
https://goo.gl/9ctdLn
Slide 28
Slide 28 text
The big and scary
application
Slide 29
Slide 29 text
The big and scary
application
Dummy proxy
Slide 30
Slide 30 text
The big and scary
application
Dummy proxy
Nice and
shiny!
Slide 31
Slide 31 text
The big and scary
application
Proxy
Nice and
shiny!
Nice and
shiny!
Nice and
shiny!
Slide 32
Slide 32 text
The big and scary
application
Proxy
Nice and
shiny!
Nice and
shiny!
Nice and
shiny!
Slide 33
Slide 33 text
Proxy
Nice and
shiny!
Nice and
shiny!
Nice and
shiny!
WOW
Much
strangle
So shiny
Slide 34
Slide 34 text
Photo by Rafael Dohms
Ohh yeah!
Slide 35
Slide 35 text
Argh!
Slide 36
Slide 36 text
Decomposing
https://goo.gl/YCrvVL
Slide 37
Slide 37 text
Hurry up!
https://goo.gl/Psv1jN
Slide 38
Slide 38 text
“If you are afraid that producing
software with thoughtful design is
expensive, think how much more
expensive it’s going to be to live
with it or even fix a bad design.”
Vaughn Vernon
Slide 39
Slide 39 text
https://goo.gl/62BNwH
Domain knowledge
Slide 40
Slide 40 text
Call the experts
https://goo.gl/4qKJTp
Slide 41
Slide 41 text
Event storming
Slide 42
Slide 42 text
Context mapping
Slide 43
Slide 43 text
Gherkin stories
https://goo.gl/EJi8Xo
Slide 44
Slide 44 text
https://goo.gl/KFjUHT
Metrics
Slide 45
Slide 45 text
SLI
SLO
https://goo.gl/LAa8Ex
Slide 46
Slide 46 text
https://goo.gl/TVBGXQ
services
Micro
Slide 47
Slide 47 text
https://goo.gl/Nr98Mo
Evolvability
Slide 48
Slide 48 text
Service A
Service B
Service C
Slide 49
Slide 49 text
Service A
Service B
Service C
Service A’
Slide 50
Slide 50 text
Service A
Service B
Service C
Service A’
Slide 51
Slide 51 text
Service A
Service B
Service C
Service A’
Slide 52
Slide 52 text
Service B
Service C
Service A’
Slide 53
Slide 53 text
https://goo.gl/EtNKra
Simplicity
Slide 54
Slide 54 text
https://github.com/chimeraphp
Slide 55
Slide 55 text
https://goo.gl/Sx7TYA
Strictness
Slide 56
Slide 56 text
https://goo.gl/Sx7TYA
Growth & scale
Slide 57
Slide 57 text
Service A
Service B
Service F
Service E
Service G
Service C
Service D
Events Store
Slide 58
Slide 58 text
Service A
Service B
Service F
Service E
Service G
Service C
Service D
Slide 59
Slide 59 text
Partitioned
Low latency delivery
Fast
Fault tolerant
Scalable
Slide 60
Slide 60 text
Group 1
Brokers
Producer 1
Producer 2
Topic
Partition 1
Partition 2
Consumer 1
Consumer 2
Streamer A
Slide 61
Slide 61 text
https://goo.gl/28tBqA
Dem
o
tim
e!
Slide 62
Slide 62 text
+
Slide 63
Slide 63 text
Uhm… NO!
Slide 64
Slide 64 text
https://github.com/arnaud-lb/php-rdkafka
Slide 65
Slide 65 text
https://github.com/weiboad/kafka-php
Slide 66
Slide 66 text
https://goo.gl/45PJ2o
Feedback collection
Slide 67
Slide 67 text
Feedback
Collection
Slide 68
Slide 68 text
No content
Slide 69
Slide 69 text
No content
Slide 70
Slide 70 text
…
The big and scary
application - Channel 5
The big and scary
application - Channel 0
Slide 71
Slide 71 text
… Feedback
Collection
The big and scary
application - Channel 5
The big and scary
application - Channel 0
Slide 72
Slide 72 text
… Feedback
Collection
The big and scary
application - Channel 5
The big and scary
application - Channel 0
Slide 73
Slide 73 text
No content
Slide 74
Slide 74 text
Feedback
Collection Feedback
Consolidation
Feedback
Processing
Topic A
Topic B
Topic C
Slide 75
Slide 75 text
It’s not the end!
https://goo.gl/Uv7KyB
Slide 76
Slide 76 text
Lessons
https://goo.gl/uDPLPA
Slide 77
Slide 77 text
Constraints
https://goo.gl/Nxo8nb
Slide 78
Slide 78 text
Domain exploration
https://goo.gl/jyxuVs
Slide 79
Slide 79 text
“Organisations which design
systems (…) are constrained to
produce designs which are copies of
the communication structures of
these organisations”
Melvin Conway
Slide 80
Slide 80 text
Communication
https://goo.gl/fnG848
Slide 81
Slide 81 text
https://goo.gl/R6PFZa
Slide 82
Slide 82 text
Discipline
https://goo.gl/fnG848
Slide 83
Slide 83 text
Luís Cobucci
@lcobucci
confidence
Decomposing a live app with
https://goo.gl/Nv1sV8