Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It...

46
Ruby VMs Jason Seifer, RailsEnvy.com 1

Transcript of Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It...

Page 1: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Ruby VMsJason Seifer, RailsEnvy.com

1

Page 2: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

2

Page 3: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

3

Page 4: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

MRI4

Page 5: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

5

Page 6: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

“DeFacto” Standard

6

Page 7: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Production Ready?

7

Page 8: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

YES

8

Page 9: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

YARV9

Page 10: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Production Ready?

10

Page 11: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

No.

11

Page 12: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

MacRuby12

Page 13: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Production Ready?

13

Page 14: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

No.

14

Page 15: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

XRuby15

Page 16: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Production Ready?

16

Page 17: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

No.

17

Page 18: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

18

Page 19: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

“The GemStone/S object server provides an advanced platform for developing, deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical applications, and supports the high-availability online environment demanded by 24X7 operations.”

19

Page 20: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Production Ready?

20

Page 21: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

No.

21

Page 22: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Rubinius22

Page 23: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Rubinius VM

• “Ruby in Ruby”

• Used to be C and Ruby

• New VM written in C++

• Better Organized

• Better Tested

• More Potential

23

Page 25: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

WTF does that mean?

25

Page 26: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Production Ready?

26

Page 27: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

No.

27

Page 28: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

IronRuby28

Page 29: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Iron Ruby•Ruby on .Net

•Released under MPL

•Committed to making

IronRuby a first-class Ruby

implementation.

•Major milestone: 1.0

29

Page 30: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

IronRuby runs on the DLR

30

Page 31: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

DLR Supported Languages

• IronPython

• IronRuby

• Javascript

• Dynamic VB

31

Page 32: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

32

Page 33: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

DLR runs on top of the CLR

33

Page 34: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

34

Page 35: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Production Ready?

35

Page 36: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

No.

36

Page 37: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

JRuby37

Page 38: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

JRuby Wins

38

Page 39: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Fatality

39

Page 40: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Production Ready?

40

Page 41: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

YES

41

Page 42: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

JRuby Benefits

• Corporate backing.

• Use existing Java code.

• Existing Java infrastructure.

• Most performant Ruby implementation.

• Multi-threaded.

42

Page 43: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Right now, using JRuby is the only way to have

true multi-threaded Ruby programs.

43

Page 44: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

$ cd <application>$ glassfish

44

Page 45: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Use JRuby for your enterprise Ruby

applications.

45

Page 46: Ruby VMs - qconsf.com · deploying and managing scalable, mission-critical applications. It provides the robust, scalable, secure and flexible environment required for mission-critical

Thank you.

46