A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory
Transcript of A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory
![Page 1: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/1.jpg)
A Case Study in UsingErlang and Rubyat Rackspace
PolyglotParallelism
1Thursday, April 19, 12
![Page 2: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/2.jpg)
2Thursday, April 19, 12
![Page 3: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/3.jpg)
FoundationDevelopmentAndAutomationTeam
3Thursday, April 19, 12
![Page 4: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/4.jpg)
F D A A T
4Thursday, April 19, 12
![Page 5: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/5.jpg)
WhatWeDo
5Thursday, April 19, 12
![Page 6: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/6.jpg)
Through automation,Adapt and collaborate
Deliver Software
6Thursday, April 19, 12
![Page 7: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/7.jpg)
Basics
BackupUpdateNew Configs
7Thursday, April 19, 12
![Page 8: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/8.jpg)
Advanced
API backing MyRackspace FWMAPI backing NTaaSAPI for VLAN assignments
8Thursday, April 19, 12
![Page 9: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/9.jpg)
9Thursday, April 19, 12
![Page 10: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/10.jpg)
TheEnvironment
10Thursday, April 19, 12
![Page 11: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/11.jpg)
50,000NetworkDevices
11Thursday, April 19, 12
![Page 12: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/12.jpg)
Firewalls
Cisco ASACisco PixJuniper SRX
12Thursday, April 19, 12
![Page 13: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/13.jpg)
Load
Cisco CSSF5 BigIPBrocade ADX
Balancers
RedHill WebMuxCisco ACE
13Thursday, April 19, 12
![Page 14: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/14.jpg)
Switches
Cisco Catalyst 4948
Cisco Catalyst 2950Cisco Catalyst 2960
14Thursday, April 19, 12
![Page 15: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/15.jpg)
8 Datacenters3 Continents
Asia
North AmericaEurope
15Thursday, April 19, 12
![Page 16: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/16.jpg)
TheChallenges
16Thursday, April 19, 12
![Page 17: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/17.jpg)
Performance
17Thursday, April 19, 12
![Page 18: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/18.jpg)
Transparency
18Thursday, April 19, 12
![Page 19: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/19.jpg)
MultipleDeviceTypes
19Thursday, April 19, 12
![Page 20: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/20.jpg)
ManagementInterfaces
20Thursday, April 19, 12
![Page 21: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/21.jpg)
WhereWeStarted
21Thursday, April 19, 12
![Page 22: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/22.jpg)
MultipleRailsApplications
22Thursday, April 19, 12
![Page 23: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/23.jpg)
MySQL
23Thursday, April 19, 12
![Page 24: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/24.jpg)
VendorDeviceManagers
24Thursday, April 19, 12
![Page 25: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/25.jpg)
3rdPartySolutions
25Thursday, April 19, 12
![Page 26: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/26.jpg)
WhereWeAreToday
26Thursday, April 19, 12
![Page 27: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/27.jpg)
Rails
MongoDB
Erlang
ReST API
Other Clients
NetworkDevices
27Thursday, April 19, 12
![Page 28: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/28.jpg)
Results
Device interactions are fast & reliableFull TransparencyBetter foundation for growth
28Thursday, April 19, 12
![Page 29: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/29.jpg)
29Thursday, April 19, 12
![Page 30: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/30.jpg)
30Thursday, April 19, 12
![Page 31: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/31.jpg)
31Thursday, April 19, 12
![Page 32: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/32.jpg)
Details
32Thursday, April 19, 12
![Page 33: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/33.jpg)
CommandLineAutomation
33Thursday, April 19, 12
![Page 34: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/34.jpg)
Agent
SSH TelnetHTTP
34Thursday, April 19, 12
![Page 35: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/35.jpg)
RubyScripts
35Thursday, April 19, 12
![Page 36: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/36.jpg)
module Hello def say_hello "Hello, World!" endend
GenScript.expose(:hello, Hello)
36Thursday, April 19, 12
![Page 37: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/37.jpg)
{ok, Pid} = gen_script:start(hello, {ruby, “hello.rb”}).
<<"Hello, World!">> =gen_script:call(Pid, hello, [])).
gen_script:stop(Pid).
37Thursday, April 19, 12
![Page 38: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/38.jpg)
BatchJobs
38Thursday, April 19, 12
![Page 39: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/39.jpg)
Runner
CallbackModuleWorkers
39Thursday, April 19, 12
![Page 40: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/40.jpg)
Runner Worker CallbackModule
start
ready
process processready
.
.
.stop
item
40Thursday, April 19, 12
![Page 41: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/41.jpg)
What’sNext
41Thursday, April 19, 12
![Page 42: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/42.jpg)
Rails
MongoDB
Erlang
ReST API
Other Clients
NetworkDevices
42Thursday, April 19, 12
![Page 43: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/43.jpg)
HowWeGotHere
43Thursday, April 19, 12
![Page 44: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/44.jpg)
Objections
Erlang is weirdYou can’t find Erlang programmersIf you use Erlang you will fail
44Thursday, April 19, 12
![Page 45: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/45.jpg)
OpenSource
45Thursday, April 19, 12
![Page 46: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/46.jpg)
Questions
46Thursday, April 19, 12
![Page 47: A Case Study in Using Erlang and Ruby at Rackspace - Erlang Factory](https://reader036.fdocuments.in/reader036/viewer/2022071602/613d6635736caf36b75cdf28/html5/thumbnails/47.jpg)
Twitter: @philtoland
GitHub: github.com/toland
Blog: philtoland.com
47Thursday, April 19, 12