SLIDE 1 Not Invented Here Syndrome and Dark Debt: The PagerDuty Story
AISH RAJ DAHAL
SLIDE 2
Why are we here ?
Section I
SLIDE 3
Not Invented Here Syndrome
SLIDE 4 –The English Wikipedia (2018)
“… the tendency towards reinventing the wheel based on the belief that in-house developments are inherently better suited, more secure, more controlled, quicker to develop, and incur lower overall cost than using existing implementations…”
SLIDE 5
Dark Debt
SLIDE 6 – Woods DD, STELLA: Report from the SNAFU catchers Workshop on Coping With Complexity. 2017
“….Dark debt was named to draw a parallel with dark matter. Dark matter has detectable effects on the world but cannot be seen or detected directly….Dark debt is found in complex systems and the anomalies it generates are complex system failures….Dark debt is not recognizable at the time of creation. Its impact is not to foil development but to generate anomalies….”
SLIDE 7
Comparison to technical debt
SLIDE 8
Build vs Buy: The age old question
SLIDE 9
Can building instead of buying lead to dark debt ?
SLIDE 10
Where does Not Invented Here syndrome come in the mix ?
SLIDE 11
WorkQueue
Section II
SLIDE 12
October 24, 2011
SLIDE 13
WorkQueue
SLIDE 14
Background
SLIDE 15
High Availability
SLIDE 16
Durability
SLIDE 17
High Scalability
SLIDE 18
Decent Queryability
SLIDE 19
Flexible Schema
SLIDE 20
Backups
SLIDE 21
Synchronous Replication
SLIDE 22
What were the options then?
SLIDE 23
Kafka?
SLIDE 24
Other options were actually considered
SLIDE 25
Result: WorkQueue v1
SLIDE 26
But it did not stop there…
SLIDE 27
Host based partitioning
SLIDE 28
Fair partitioning
SLIDE 29
Time based row bucketing
SLIDE 30
…there were more services using WorkQueue
SLIDE 31
In the meanwhile…
SLIDE 32
Other distributed queues like Kafka gained popularity
SLIDE 33
PaaS based queues made their presence felt
SLIDE 34
Cassandra’s API changed*
SLIDE 35
Thrift RPC fell out of favor within the company
SLIDE 36
WorkQueue’s nature and widespread use was slowly turning into dark debt.
SLIDE 37
SLIDE 38
Lessons learnt
Section III
SLIDE 39
Dark debt is a product of complexity
SLIDE 40
The development and use of in-house software for a task is not an indication dark debt
SLIDE 41 However, the proliferation of such special purpose software to
- ther areas is often an indication of Not Invented Here syndrome
SLIDE 42
Not Invented Here syndrome is an indication of dark debt
SLIDE 43
Proactive evaluation of past custom solutions before proliferation could help alleviate some of the problems
SLIDE 44
Unless there is a really strong case for it, don’t go with build*
SLIDE 45
When in doubt chose simplicity over complexity
SLIDE 46
The past, the present and the future
Epilogue
SLIDE 47
Official support for WorkQueue was ended in 2016
SLIDE 48
Cassandra based WorkQueue’s usage in PagerDuty has significantly reduced since 2017
SLIDE 49 –Edsger W. Dijkstra
“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.”
SLIDE 50
Thank You
Gracias
مكل اركش
धन्रवाद
Danke
Merci
谢谢
ありがとう
Asante
@aishrajdahal