62
The Silver Bullet Syndrome Alexey Vasiliev, Railsware 1

The Silver Bullet Syndrome by Alexey Vasiliev

Embed Size (px)

Citation preview

Page 1: The Silver Bullet Syndrome by Alexey Vasiliev

The Silver BulletSyndrome

Alexey Vasiliev, Railsware

1

Page 2: The Silver Bullet Syndrome by Alexey Vasiliev

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

3

Page 4: The Silver Bullet Syndrome by Alexey Vasiliev

4

Page 5: The Silver Bullet Syndrome by Alexey Vasiliev

We have Agile• Stand-ups

• Sprints/Iterations

• Stories and Story Walls

• Retrospectives

• Showcases

• SCRUM

5

Page 6: The Silver Bullet Syndrome by Alexey Vasiliev

6

BUT...

Page 7: The Silver Bullet Syndrome by Alexey Vasiliev

When it's time to deploy

7

Page 8: The Silver Bullet Syndrome by Alexey Vasiliev

Agile is terrible. Scrum is worse.

Agile Is The New Waterfall”8

Page 9: The Silver Bullet Syndrome by Alexey Vasiliev

9

Page 10: The Silver Bullet Syndrome by Alexey Vasiliev

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

11

Page 12: The Silver Bullet Syndrome by Alexey Vasiliev

I love Ruby and Rails

12

Page 13: The Silver Bullet Syndrome by Alexey Vasiliev

BUT "Rails doesn’t scale"

13

Page 14: The Silver Bullet Syndrome by Alexey Vasiliev

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

15

BUT...

Page 16: The Silver Bullet Syndrome by Alexey Vasiliev

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

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

18

Page 19: The Silver Bullet Syndrome by Alexey Vasiliev

Docker for containers

19

Page 20: The Silver Bullet Syndrome by Alexey Vasiliev

Create own PaaS with Docker

20

Page 21: The Silver Bullet Syndrome by Alexey Vasiliev

21

Page 22: The Silver Bullet Syndrome by Alexey Vasiliev

22

Page 23: The Silver Bullet Syndrome by Alexey Vasiliev

Docker for microservices

23

Page 24: The Silver Bullet Syndrome by Alexey Vasiliev

24

Page 25: The Silver Bullet Syndrome by Alexey Vasiliev

DockerMicroservicesRails

25

Page 26: The Silver Bullet Syndrome by Alexey Vasiliev

26

Page 27: The Silver Bullet Syndrome by Alexey Vasiliev

Future is Bright: JavaScript everywhere

27

Page 28: The Silver Bullet Syndrome by Alexey Vasiliev

28

Page 29: The Silver Bullet Syndrome by Alexey Vasiliev

JavaScript ecosystem

29

Page 30: The Silver Bullet Syndrome by Alexey Vasiliev

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

Technology Lifecycle• 10: Create new Framework

• 20: Create Conference around Framework

• 30: GOTO 10

31

Page 32: The Silver Bullet Syndrome by Alexey Vasiliev

32

Page 33: The Silver Bullet Syndrome by Alexey Vasiliev

33

Page 34: The Silver Bullet Syndrome by Alexey Vasiliev

WhatIsHotTyping

The broken promise of static typing34

Page 35: The Silver Bullet Syndrome by Alexey Vasiliev

React.js is hot right now

35

Page 36: The Silver Bullet Syndrome by Alexey Vasiliev

...the bottleneck is almost always

the DOM mutation and not JS

execution

React Doc

36

Page 40: The Silver Bullet Syndrome by Alexey Vasiliev

Flux approach

40

Page 41: The Silver Bullet Syndrome by Alexey Vasiliev

41

Page 42: The Silver Bullet Syndrome by Alexey Vasiliev

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

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

44

All code has a cost

Page 45: The Silver Bullet Syndrome by Alexey Vasiliev

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

46

Page 47: The Silver Bullet Syndrome by Alexey Vasiliev

47

What's your point?

Page 48: The Silver Bullet Syndrome by Alexey Vasiliev

There is no Silver Bullet!

48

Page 49: The Silver Bullet Syndrome by Alexey Vasiliev

49

Why are wedeveloping

software?

Page 50: The Silver Bullet Syndrome by Alexey Vasiliev

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

51

Page 52: The Silver Bullet Syndrome by Alexey Vasiliev

52

How do we makechoices when

adoptingtechnology?

Page 53: The Silver Bullet Syndrome by Alexey Vasiliev

"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

54

Page 55: The Silver Bullet Syndrome by Alexey Vasiliev

Benchmarks

55

Page 56: The Silver Bullet Syndrome by Alexey Vasiliev

Social Pressure

56

Page 57: The Silver Bullet Syndrome by Alexey Vasiliev

Context!Like "Best Practices" need context

57

Page 58: The Silver Bullet Syndrome by Alexey Vasiliev

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

59

Page 60: The Silver Bullet Syndrome by Alexey Vasiliev

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

61

Focus on the rightthings!

Page 62: The Silver Bullet Syndrome by Alexey Vasiliev

<Thank You!> Questions?

Contact information

• web: leopard.in.ua

• github: le0pard

• twitter: @leopard_me

62