the silver bullet syndrome by alexey vasiliev

Post on 09-Jan-2017

100 Views

Category:

Software

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

The Silver BulletSyndrome

Alexey Vasiliev, Railsware

1

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

3

4

We have Agile• Stand-ups

• Sprints/Iterations

• Stories and Story Walls

• Retrospectives

• Showcases

• SCRUM

5

6

BUT...

When it's time to deploy

7

Agile is terrible. Scrum is worse.

Agile Is The New Waterfall”8

9

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

11

I love Ruby and Rails

12

BUT "Rails doesn’t scale"

13

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

15

BUT...

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

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

18

Docker for containers

19

Create own PaaS with Docker

20

21

22

Docker for microservices

23

24

DockerMicroservicesRails

25

26

Future is Bright: JavaScript everywhere

27

28

JavaScript ecosystem

29

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

Technology Lifecycle• 10: Create new Framework

• 20: Create Conference around Framework

• 30: GOTO 10

31

32

33

WhatIsHotTyping

The broken promise of static typing34

React.js is hot right now

35

...the bottleneck is almost always

the DOM mutation and not JS

execution

React Doc

36

Flux approach

40

41

React isn't popular because it's

fast. It's popular because it's fun.”

42

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

44

All code has a cost

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

46

47

What's your point?

There is no Silver Bullet!

48

49

Why are wedeveloping

software?

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

51

52

How do we makechoices when

adoptingtechnology?

"Wallmart has moved to node.js"

"Twitter has moved to Scala"

Do we have same needs as Google,

Facebook, Wallmart, Twitter?

53

54

Benchmarks

55

Social Pressure

56

Context!Like "Best Practices" need context

57

Do we take into account...• Technology stability

• Is it proven technology?

• What's the learning curve

• Market share

58

59

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

61

Focus on the rightthings!

<Thank You!> Questions?

Contact information

• web: leopard.in.ua

• github: le0pard

• twitter: @leopard_me

62

top related