JRuby at LinkedIn                                   in three actsBaq Haidri | @baqhaidriWednesday, August 3rd 2011        ...
Me• Generalist• Background in Java, not Ruby     professional hacking        2
100M+LinkedIn                                                               90• Over one user added per second• Mostly Jav...
Act I: The Data    professional hacking   4
source:	  Mathieu	  Bas/an	  using	  Gephi	  on	  LinkedIn	  skill	  data            professional hacking                 ...
professional hackingsource:	  Mathieu	  Bas/an	  using	  Gephi	  on	  LinkedIn	  skill	  data   6
Rails Prototype    professional hacking   7
Act II: The Challenge    professional hacking   8
oldemortprofessional hacking              9
Service	  Call                                                      Security,	  Auth,	  Iden5ty            Naviga5on	  Bar...
Tomcat                        LinkedIn	  Spring	  MVC                              SiteMeshRequest                        ...
Hello from JRuby!               professional hacking   12
Service Calls Pre-existing library for parallel, de-duplicating async  data operations, loosely based on REST Clunky abs...
Ruby’s simplicity Some Ruby wrappers were created to mimic Java  APIs but Ruby made them more expressive:     professiona...
Act III: To Production    professional hacking   15
#winning!     huh?professional hacking           16
Deployment Ops knows nothing  ‣ Configuration  ‣ Deployment  ‣ Monitoring Standard monitoring already available via JMX:...
Gotchas      Unpack wars on deployment      Watch out for PermGen usage:                                             Lea...
Flags JVM: ‣ -XX:PermSize=256m ‣ -XX:MaxPermSize=256m ‣ -XX:+CMSClassUnloadingEnabled JRuby: ‣ None, but still use 1.8.7...
Performance Internal latency is averaging 700ms                                                            Time	  spent	 ...
Conclusion   professional hacking   21
Happily Ever After Adoption of JRuby is growing internally Open-minded, polyglot culture      professional hacking      ...
JRubyConf Swag Contest Visit linkedin.com/skills/skill/JRuby Tweet-share the page Be sure to include link back to JRuby...
Questions?    professional hacking   24
Upcoming SlideShare
Loading in …5
×

JRuby At LinkedIn

2,154 views

Published on

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,154
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JRuby At LinkedIn

  1. 1. JRuby at LinkedIn in three actsBaq Haidri | @baqhaidriWednesday, August 3rd 2011 Recruiting Solutions professional hacking
  2. 2. Me• Generalist• Background in Java, not Ruby professional hacking 2
  3. 3. 100M+LinkedIn 90• Over one user added per second• Mostly Java 55• Strong product focus 32 17 8 2 4 2004 2005 2006 2007 2008 2009 2010 LinkedIn Members (Millions) professional hacking
  4. 4. Act I: The Data professional hacking 4
  5. 5. source:  Mathieu  Bas/an  using  Gephi  on  LinkedIn  skill  data professional hacking 5
  6. 6. professional hackingsource:  Mathieu  Bas/an  using  Gephi  on  LinkedIn  skill  data 6
  7. 7. Rails Prototype professional hacking 7
  8. 8. Act II: The Challenge professional hacking 8
  9. 9. oldemortprofessional hacking 9
  10. 10. Service  Call Security,  Auth,  Iden5ty Naviga5on  Bar Interna5onaliza5on Qui  a  consulté  votre  profil? Unified  URL  genera5onprofessional hacking 10
  11. 11. Tomcat LinkedIn  Spring  MVC SiteMeshRequest JRuby-­‐Rack Sinatra get ‘/hello’ do erb :layout end <html> <head> <title>Hi</title> </head> <body> Hello from JRuby! </body> </html>Response professional hacking 11
  12. 12. Hello from JRuby! professional hacking 12
  13. 13. Service Calls Pre-existing library for parallel, de-duplicating async data operations, loosely based on REST Clunky abstractions in Java, but wrapped by Ruby: professional hacking 13
  14. 14. Ruby’s simplicity Some Ruby wrappers were created to mimic Java APIs but Ruby made them more expressive: professional hacking 14
  15. 15. Act III: To Production professional hacking 15
  16. 16. #winning! huh?professional hacking 16
  17. 17. Deployment Ops knows nothing ‣ Configuration ‣ Deployment ‣ Monitoring Standard monitoring already available via JMX: ‣ Latency ‣ Requests/Second ‣ Memory and CPU usage source:  LinkedIn  internal  performance  graph professional hacking 17
  18. 18. Gotchas  Unpack wars on deployment  Watch out for PermGen usage: Leak! Restart Fixedsource:  LinkedIn  internal  performance  graph professional hacking 18
  19. 19. Flags JVM: ‣ -XX:PermSize=256m ‣ -XX:MaxPermSize=256m ‣ -XX:+CMSClassUnloadingEnabled JRuby: ‣ None, but still use 1.8.7 ‣ JRuby 1.6.2 professional hacking 19
  20. 20. Performance Internal latency is averaging 700ms Time  spent  in  Ruby <=  ~50  ms   source:  LinkedIn  internal  performance  graph professional hacking 20
  21. 21. Conclusion professional hacking 21
  22. 22. Happily Ever After Adoption of JRuby is growing internally Open-minded, polyglot culture professional hacking 22
  23. 23. JRubyConf Swag Contest Visit linkedin.com/skills/skill/JRuby Tweet-share the page Be sure to include link back to JRuby Skills page, with the #in tag and a #jrubyconf tag. First 40 users to tweet will win a prize Winners announced at lunch tomorrow professional hacking 23
  24. 24. Questions? professional hacking 24

×