the silver bullet syndrome by alexey vasiliev
TRANSCRIPT
![Page 2: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/2.jpg)
Alexey Vasiliev• Web and Mobile Developer (Ruby, Java, JavaScript, Objective-C, C/C++,
Golang, Elixir/Erlang), DevOps
• Open-Source libs: PGTune, SQL Joins Visualizer, RWbox, Go-Kinesis, ElixirV8,
WebP-ffi, Zopfli-ffi, MongodbLogger, SMTRails, SHTRails, ...
• Open-Source books: Cooking Infrastructure by Chef, Setting up and scaling
of PostgreSQL (Russian)
• Leading RWpod podcast about Ruby and JavaScript
2
![Page 3: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/3.jpg)
3
![Page 4: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/4.jpg)
4
![Page 5: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/5.jpg)
We have Agile• Stand-ups
• Sprints/Iterations
• Stories and Story Walls
• Retrospectives
• Showcases
• SCRUM
5
![Page 6: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/6.jpg)
6
BUT...
![Page 7: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/7.jpg)
When it's time to deploy
7
![Page 8: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/8.jpg)
Agile is terrible. Scrum is worse.
Agile Is The New Waterfall”8
![Page 9: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/9.jpg)
9
![Page 10: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/10.jpg)
Let's use another buzzword• Culture (TEAM have the same GOAL and AUTONOMOUS)
• Automation (CI, Continuous Deployment, Infrastructure as Code, etc)
• Measurement (performance, process and people metrics)
• Sharing (No SPECIALIST, share data, visibility)
10
![Page 11: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/11.jpg)
11
![Page 12: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/12.jpg)
I love Ruby and Rails
12
![Page 13: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/13.jpg)
BUT "Rails doesn’t scale"
13
![Page 14: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/14.jpg)
Why "Rails doesn’t scale"?• Twitter was moving off of Rails in 2011
• People took the phrase and ran with it:
• sometimes to make a quick explanation about a software choice
• sometimes to sound smart
• sometimes because it fit the context in which it was said
14
![Page 15: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/15.jpg)
15
BUT...
![Page 16: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/16.jpg)
Rails can scale• Scalability is an architectural concern - not confined to language or
framework
• The stateless part of project very simple to scale
• Even traditional relational databases scale
16
![Page 17: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/17.jpg)
How this myth was created?• Rails can help you to build web app very quick (15 minutes blog)
• Let's use Rails for every project!!!
• Something goes wrong :( (for Twitter use case)
• "Rails doesn’t scale"!!! (but scale for github, hulu, airbnb, etc)
17
![Page 18: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/18.jpg)
18
![Page 19: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/19.jpg)
Docker for containers
19
![Page 20: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/20.jpg)
Create own PaaS with Docker
20
![Page 21: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/21.jpg)
21
![Page 22: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/22.jpg)
22
![Page 23: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/23.jpg)
Docker for microservices
23
![Page 24: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/24.jpg)
24
![Page 25: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/25.jpg)
DockerMicroservicesRails
25
![Page 26: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/26.jpg)
26
![Page 27: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/27.jpg)
Future is Bright: JavaScript everywhere
27
![Page 28: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/28.jpg)
28
![Page 29: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/29.jpg)
JavaScript ecosystem
29
![Page 30: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/30.jpg)
The Birth of Universal JavaScript• Server side rendering isn't smooth
• Let's do client side
• Client side rendering is hard
• Let's create a framework
• I lost my CEO!
• Let's create another framework
30
![Page 31: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/31.jpg)
Technology Lifecycle• 10: Create new Framework
• 20: Create Conference around Framework
• 30: GOTO 10
31
![Page 32: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/32.jpg)
32
![Page 33: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/33.jpg)
33
![Page 35: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/35.jpg)
React.js is hot right now
35
![Page 36: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/36.jpg)
...the bottleneck is almost always
the DOM mutation and not JS
execution
React Doc
”
36
![Page 40: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/40.jpg)
Flux approach
40
![Page 41: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/41.jpg)
41
![Page 42: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/42.jpg)
React isn't popular because it's
fast. It's popular because it's fun.”
42
![Page 43: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/43.jpg)
Ergonomics Vs User NeedsErgonomics
• Fun to use
• Quick to build
• Works around bugs
• Gets me paid
•
User Needs
• Loads quickly
• Has smooth interactions
• Doesn't slow down my phone
• Doesn't crash
• Has features I want
43
![Page 44: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/44.jpg)
44
All code has a cost
![Page 45: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/45.jpg)
All code has a costDev costs
• Learning it
• Re-learning it
• Debugging it
•
•
User costs
• Time
• Bandwidth
• CPU/battery usage
• Frame rate
• Memory usage
45
![Page 46: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/46.jpg)
46
![Page 47: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/47.jpg)
47
What's your point?
![Page 48: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/48.jpg)
There is no Silver Bullet!
48
![Page 49: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/49.jpg)
49
Why are wedeveloping
software?
![Page 50: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/50.jpg)
Why are we developing software?• Software isn't the goal
• Upgrades aren't the goal
• We can't always be on the latest and greatest
• Innovation and improvement are good. But what are we improving? How
does it bring value?
50
![Page 51: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/51.jpg)
51
![Page 52: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/52.jpg)
52
How do we makechoices when
adoptingtechnology?
![Page 53: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/53.jpg)
"Wallmart has moved to node.js"
"Twitter has moved to Scala"
Do we have same needs as Google,
Facebook, Wallmart, Twitter?
”
53
![Page 54: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/54.jpg)
54
![Page 55: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/55.jpg)
Benchmarks
55
![Page 56: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/56.jpg)
Social Pressure
56
![Page 57: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/57.jpg)
Context!Like "Best Practices" need context
57
![Page 58: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/58.jpg)
Do we take into account...• Technology stability
• Is it proven technology?
• What's the learning curve
• Market share
58
![Page 59: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/59.jpg)
59
![Page 60: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/60.jpg)
Frameworks: Do we take intoaccount...
• Has the framework been proved in production?
• What is the framework really capable of?
• Is the framework mature?
• Is the framework flexible or opinionated?
• Have you really played with the framework?
• Does the framework have a comprehensive set of documentation?
• Have you reviewed the community around the framework?60
![Page 61: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/61.jpg)
61
Focus on the rightthings!
![Page 62: The Silver Bullet Syndrome by Alexey Vasiliev](https://reader034.vdocuments.net/reader034/viewer/2022042600/58735d0c1a28abe7648b4d25/html5/thumbnails/62.jpg)
<Thank You!> Questions?
Contact information
• web: leopard.in.ua
• github: le0pard
• twitter: @leopard_me
62