Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Sunday, March 10, 13
From a monolithic                       Ruby on Rails app                          to the JVM                             ...
2011: Phil decides                       to move to BerlinSunday, March 10, 13
Sunday, March 10, 13
Sunday, March 10, 13
Sunday, March 10, 13
Sunday, March 10, 13
Growing a product is awesomeSunday, March 10, 13
http://bit.ly/building-the-next-soundcloudSunday, March 10, 13
Sunday, March 10, 13
Sunday, March 10, 13
> 10 hours of audio                       uploaded every minute       ~ 180 million users / monthSunday, March 10, 13
But scaling is hard.Sunday, March 10, 13
SoundCloud was                        born on Rails        It allowed us to iterate real                fast and keep     ...
Rails is simple.                            Controller                           ActiveRecord                             ...
Rails is simple.                                Controller                               ActiveRecord                     ...
In the real world,                         it gets messy.                             Controller                          ...
In the real world,                         it gets messy.                             thin                      yajl      ...
Scaling Rails is hard(er).Sunday, March 10, 13
No concurrency?                       1) Spawn A LOT of                           processes.Sunday, March 10, 13
No concurrency?                        1) Spawn A LOT of                            processes.                       2) Ma...
No Virtual Machine?                 Adapt your deployment                 to > 1 minute application                      b...
No proper Garbage                            Collection?                       Get used to restarting                     ...
Scaling Rails                       development is hard.Sunday, March 10, 13
Idiomatic in Rails:Sunday, March 10, 13
Idiomatic in Rails:      Just like Java circa 2004Sunday, March 10, 13
Understanding the                        Rails mindset:                          http://bit.ly/not-a-virtueSunday, March 1...
Understanding the                        Rails mindset:                                          i do not think it means  ...
If you are injecting        aggregation or composition        you are Doing it Wrong(tm)Sunday, March 10, 13
Idiomatic in Rails:Sunday, March 10, 13
Understanding the                        Rails mindset:                           http://bit.ly/trashableSunday, March 10,...
Understanding the                        Rails mindset:                                    Just like aop,                 ...
Idiomatic in Rails:Sunday, March 10, 13
Idiomatic in Rails:                                no real complexity or                                    loC reductionS...
Rails is simple.                                Controller                               ActiveRecord                     ...
Effectively, controllers                          have a lot of logic                                 Controller          ...
Effectively, controllers                          have a lot of logic                                   Controller        ...
Where do we go                        from here?Sunday, March 10, 13
We will not do Java.Sunday, March 10, 13
We, the Java community,                screwed up   Focused on the “Enterprise” while   nimbler companies took overSunday,...
We, the Java community,                screwed up   Tried to solve core problems with   more complicated toolingSunday, Ma...
We, the Java community,                screwed up   JSF, Portlets, JavaFx, Oracle vs.   Android: the joke is on usSunday, ...
But we will do the JVM.Sunday, March 10, 13
Who cares about Oracle/JCP? So many modern languages. None are “official”.Sunday, March 10, 13
Who cares about Oracle/JCP? It is crazy to use “Enterprise” middleware at scale.Sunday, March 10, 13
Who cares about Oracle/JCP? twitter, Tumblr, Foursquare, Netflix, Facebook, typesafe, etc. are the new powerhouses.Sunday,...
Options:        1) Non-Rails Ruby        2) Scala        4) ClojureSunday, March 10, 13
Non-Rails Ruby   + Simple   + Easy to hire engineers   + Lingua-franca inside SC   - Most code not thread-safe   - Lots of...
Scala   + “twitter stack” (Finagle, docs)   + Good Java interop   + Static typing   + Good engineering practices   startin...
Clojure   + Easier to get started with   + Favours smaller apps   + Good Java interop   - Very early days for engineering ...
Integrating Clojure with JettySunday, March 10, 13
Async I/O with Scala/FinagleSunday, March 10, 13
Let’s try them all.Sunday, March 10, 13
EnablingSunday, March 10, 13
1) Micro-services   - A couple of thousand LOC   - Once you grasp the domain, can   be rewritten in ~1 week   - Reduces ri...
internet                       Legacy Application                             (Rails)                            DatabaseS...
Sounds         Users        Stats        Stream                       Notifications   Settings   Recommender   MessagingSu...
Sounds        Users        Stats       Stream                            DB            DB          DB          DB         ...
internet                                                  API                          Sounds        Users              St...
2) Easy to deploy   - Old Rails system has fully   automated deployment   - From change to production   should take minute...
Sunday, March 10, 13
Sunday, March 10, 13
Sunday, March 10, 13
Sunday, March 10, 13
Current status   - ~6 new or extracted systems   - 3 Clojure   - 1 Scala   - 2 JRubySunday, March 10, 13
Current status                        Rule of thumb:                       1 JVM = 10 thinsSunday, March 10, 13
main takeawaysSunday, March 10, 13
Rails, PHP, etc. are a very good           choice to start somethingSunday, March 10, 13
You need to know when                          to migrate awaySunday, March 10, 13
Build infrastructure to reduce              the risk of trying new thingsSunday, March 10, 13
The JVM is still the best                multi-language VM out thereSunday, March 10, 13
There is a lot of                        JVM-related stuff                        happening outside                       ...
Even if you are doing Java,                         drop the extra weightSunday, March 10, 13
Java is the new CSunday, March 10, 13
phil calçado                       http://philcalcado.com                             @pcalcado                           ...
Prochain SlideShare
Chargement dans…5
×

From a monolithic Ruby on Rails app to the JVM

65 693 vues

Publié le

Publié dans : Technologie
  • DOWNLOAD THAT BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book that can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer that is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story That Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money That the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths that Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Copas Url to Download This eBook === http://libebooks.me/Premiers-pas-avec-Ubuntu-13-10.html
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • can direct copy link Create DOWNLOAD for free book ===http://dayna.club/El-ver-y-las-imágenes-en-el-tiempo-de-Internet:-13-(Estudios-visuales).html
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... ,DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

From a monolithic Ruby on Rails app to the JVM

  1. Sunday, March 10, 13
  2. From a monolithic Ruby on Rails app to the JVM phil calçado @pcalcado http://philcalcado.com JDC2013 - CairoSunday, March 10, 13
  3. 2011: Phil decides to move to BerlinSunday, March 10, 13
  4. Sunday, March 10, 13
  5. Sunday, March 10, 13
  6. Sunday, March 10, 13
  7. Sunday, March 10, 13
  8. Growing a product is awesomeSunday, March 10, 13
  9. http://bit.ly/building-the-next-soundcloudSunday, March 10, 13
  10. Sunday, March 10, 13
  11. Sunday, March 10, 13
  12. > 10 hours of audio uploaded every minute ~ 180 million users / monthSunday, March 10, 13
  13. But scaling is hard.Sunday, March 10, 13
  14. SoundCloud was born on Rails It allowed us to iterate real fast and keep code quality up(-ish).Sunday, March 10, 13
  15. Rails is simple. Controller ActiveRecord Model DatabaseSunday, March 10, 13
  16. Rails is simple. Controller ActiveRecord Model Database If you want to write a toy blog engine.Sunday, March 10, 13
  17. In the real world, it gets messy. Controller ActiveRecord Model DatabaseSunday, March 10, 13
  18. In the real world, it gets messy. thin yajl Controller amqp EventMachine haml sc-caching ActiveRecord DelayedJobs Model mysql master/ sc-logging slave adapter Database Memcached lhm nokogiri statsy new relic Real messy.Sunday, March 10, 13
  19. Scaling Rails is hard(er).Sunday, March 10, 13
  20. No concurrency? 1) Spawn A LOT of processes.Sunday, March 10, 13
  21. No concurrency? 1) Spawn A LOT of processes. 2) Make everything a background jobSunday, March 10, 13
  22. No Virtual Machine? Adapt your deployment to > 1 minute application bootstrap timeSunday, March 10, 13
  23. No proper Garbage Collection? Get used to restarting processes. Frequently.Sunday, March 10, 13
  24. Scaling Rails development is hard.Sunday, March 10, 13
  25. Idiomatic in Rails:Sunday, March 10, 13
  26. Idiomatic in Rails: Just like Java circa 2004Sunday, March 10, 13
  27. Understanding the Rails mindset: http://bit.ly/not-a-virtueSunday, March 10, 13
  28. Understanding the Rails mindset: i do not think it means what you think it means http://bit.ly/not-a-virtueSunday, March 10, 13
  29. If you are injecting aggregation or composition you are Doing it Wrong(tm)Sunday, March 10, 13
  30. Idiomatic in Rails:Sunday, March 10, 13
  31. Understanding the Rails mindset: http://bit.ly/trashableSunday, March 10, 13
  32. Understanding the Rails mindset: Just like aop, but even worse http://bit.ly/trashableSunday, March 10, 13
  33. Idiomatic in Rails:Sunday, March 10, 13
  34. Idiomatic in Rails: no real complexity or loC reductionSunday, March 10, 13
  35. Rails is simple. Controller ActiveRecord Model Database If you want to write a toy blog engine.Sunday, March 10, 13
  36. Effectively, controllers have a lot of logic Controller ActiveRecord Model DatabaseSunday, March 10, 13
  37. Effectively, controllers have a lot of logic Controller ActiveRecord Model Database But so do models!Sunday, March 10, 13
  38. Where do we go from here?Sunday, March 10, 13
  39. We will not do Java.Sunday, March 10, 13
  40. We, the Java community, screwed up Focused on the “Enterprise” while nimbler companies took overSunday, March 10, 13
  41. We, the Java community, screwed up Tried to solve core problems with more complicated toolingSunday, March 10, 13
  42. We, the Java community, screwed up JSF, Portlets, JavaFx, Oracle vs. Android: the joke is on usSunday, March 10, 13
  43. But we will do the JVM.Sunday, March 10, 13
  44. Who cares about Oracle/JCP? So many modern languages. None are “official”.Sunday, March 10, 13
  45. Who cares about Oracle/JCP? It is crazy to use “Enterprise” middleware at scale.Sunday, March 10, 13
  46. Who cares about Oracle/JCP? twitter, Tumblr, Foursquare, Netflix, Facebook, typesafe, etc. are the new powerhouses.Sunday, March 10, 13
  47. Options: 1) Non-Rails Ruby 2) Scala 4) ClojureSunday, March 10, 13
  48. Non-Rails Ruby + Simple + Easy to hire engineers + Lingua-franca inside SC - Most code not thread-safe - Lots of native code - Rails mindset everywhereSunday, March 10, 13
  49. Scala + “twitter stack” (Finagle, docs) + Good Java interop + Static typing + Good engineering practices starting to emerge - Binary compatibility - Can get complicatedSunday, March 10, 13
  50. Clojure + Easier to get started with + Favours smaller apps + Good Java interop - Very early days for engineering good practices - 3rd party libs a bit off in qualitySunday, March 10, 13
  51. Integrating Clojure with JettySunday, March 10, 13
  52. Async I/O with Scala/FinagleSunday, March 10, 13
  53. Let’s try them all.Sunday, March 10, 13
  54. EnablingSunday, March 10, 13
  55. 1) Micro-services - A couple of thousand LOC - Once you grasp the domain, can be rewritten in ~1 week - Reduces risk in trying new thingsSunday, March 10, 13
  56. internet Legacy Application (Rails) DatabaseSunday, March 10, 13
  57. Sounds Users Stats Stream Notifications Settings Recommender MessagingSunday, March 10, 13
  58. Sounds Users Stats Stream DB DB DB DB Notifications Settings Recommender Messaging DB DB DB DBSunday, March 10, 13
  59. internet API Sounds Users Stats Stream Notifications Settings Recommender MessagingSunday, March 10, 13
  60. 2) Easy to deploy - Old Rails system has fully automated deployment - From change to production should take minutes - Integrated to CI - Reverting is easySunday, March 10, 13
  61. Sunday, March 10, 13
  62. Sunday, March 10, 13
  63. Sunday, March 10, 13
  64. Sunday, March 10, 13
  65. Current status - ~6 new or extracted systems - 3 Clojure - 1 Scala - 2 JRubySunday, March 10, 13
  66. Current status Rule of thumb: 1 JVM = 10 thinsSunday, March 10, 13
  67. main takeawaysSunday, March 10, 13
  68. Rails, PHP, etc. are a very good choice to start somethingSunday, March 10, 13
  69. You need to know when to migrate awaySunday, March 10, 13
  70. Build infrastructure to reduce the risk of trying new thingsSunday, March 10, 13
  71. The JVM is still the best multi-language VM out thereSunday, March 10, 13
  72. There is a lot of JVM-related stuff happening outside the official channelsSunday, March 10, 13
  73. Even if you are doing Java, drop the extra weightSunday, March 10, 13
  74. Java is the new CSunday, March 10, 13
  75. phil calçado http://philcalcado.com @pcalcado www.soundcloud.comSunday, March 10, 13

×