merb
play

merb & f l e x i b i l t y p e r f o r m a n c e Me Matt - PowerPoint PPT Presentation

merb & f l e x i b i l t y p e r f o r m a n c e Me Matt Aimonetti Me irc: m a t t e t t i http://github.com/mattetti core team member Matt & evangelist d o n t w o r k at Engine Yard Matt http://engineyard.com d o n


  1. merb & f l e x i b i l t y p e r f o r m a n c e

  2. Me

  3. Matt Aimonetti Me irc: m a t t e t t i http://github.com/mattetti

  4. core team member Matt & evangelist

  5. d o n ’ t w o r k at Engine Yard Matt http://engineyard.com

  6. d o n ’ t w o r k at Engine Yard Matt http://engineyard.com

  7. C o n s u l t a n t Matt based in San Diego, CA

  8. http://ma-agile.com/training

  9. Blogs: http://merbist.com http://railsontherun.com

  10. C o n c l u s i o n merb meets the Enterprise needs ✓ Cost ✓ Adaptability ✓ Scalablility

  11. “It’s also worth mentioning that there shouldn’t be doubt in anybody’s mind at this point that Ruby itself is slow . It’s great that people are hard at work on faster implementations of the language, but right now, it’s tough.” Alex Payne, Twitter

  12. I for one am scared of Ruby because ... it's known to be slow , so if you become The Next MySpace, you'll be buying 5 times as many boxes as the .NET guy down the hall. Joel Spolsky

  13. Rails is for the vast majority of web applications Fast Enough ... I just happen to care much more about free developer cycles and am willing to trade the former for the latter. David Heinemeier Hansson

  14. Rails is slow

  15. Ruby is slow

  16. “The slowest programming language in the world”

  17. benchmarks someone?

  18. raw PHP: 331 rps

  19. raw PHP: 331 rps cake PHP: 3.6 rps / 8 rps (eaccelerator)

  20. raw PHP: 331 rps cake PHP: 3.6 rps / 8 rps (eaccelerator) code igniter: 21.5 rps / 98.2 rps (eaccelerator)

  21. raw PHP: 331 rps cake PHP: 3.6 rps / 8 rps (eaccelerator) code igniter: 21.5 rps / 98.2 rps (eaccelerator) Rails: 88 rps

  22. Rails is pretty close to the fastest PHP framework.

  23. what about merb?

  24. hello world benchmarks baseline results

  25. apache serving static html: hello.html raw PHP: <?php echo "Hello world"; ?> merb router: match("/hello world")

  26. Merb Router Static HTML raw php 3783 req/s 2898 req/s 1995 req/s http://merbist.com

  27. Merb 1.0 Django 1.0.1 Rails 2.2.1 Code Igniter 1.6.3 Symfony Cake PHP $ ab test: ab -c 10 -n 5000 http://0.0.0.0/benchmark http://merbist.com

  28. Ruby might be slow at fibonacci benchmarks who cares?

  29. Ruby is fast at real life web benchmarks that’s what matters!

  30. Ruby for the web is NOT slow

  31. Enterprise

  32. Enterprise Enterprise needs enterprise software

  33. Enterprise “Enterprise software is software intended to solve an enterprise problem (rather than a departmental problem) and often written using an Enterprise Software Architecture.”

  34. Enterprise enterprise problem != departmental problem

  35. Enterprise an enterprise problem covers problems from many different departments

  36. Enterprise many different departments means different needs/challenges

  37. Enterprise “Enterprise software is software intended to solve an enterprise problem (rather than a departmental problem) and often written using an Enterprise Software Architecture.”

  38. Enterprise Enterprise Software Architecture

  39. Enterprise http://en.wikipedia.org/wiki/Enterprise_architecture

  40. Enterprise organization-specific software architecture

  41. Enterprise “Due to the cost of building what is often proprietary software, only large organizations attempt to build such software that models the entire business enterprise [...]”

  42. Enterprise Elite

  43. Enterprise what about the not so large companies?

  44. Enterprise “As many business enterprises have similar departments and systems, enterprise software is often available as a suite of programs that have attached development tools to modify the common programs for the specific enterprise.”

  45. Enterprise “complex development programming tools that require specialist capabilities”.

  46. Enterprise Business Software Solutions Applications and Services

  47. Enterprise SAP system CRM ERP NetWeaver ABAP SRM

  48. Enterprise Concerns: cost adaptability

  49. Enterprise Concerns: Does it scale?

  50. Enterprise scalability loads of req/s easily extendable swap/extract parts

  51. what about merb? because that’s why I’m here

  52. cost open source free as in free speech

  53. cost ruby Great language - widely adopted - enjoyable momentum

  54. bet on Ruby MacRuby Rubinius

  55. bet on Ruby MacRuby Rubinius

  56. cost reusable merb slices - mountable mini applications

  57. cost reusable merb slices Merb::Router.prepare do slice(:blog, :path => "blog") slice(:wiki, :path => "wiki") slice(:public_calendar, :path => "calendar") end

  58. cost smooth transition access your Java code directly from Merb deploy your merb app like you deploy your java apps

  59. cost choose model the entire business enterprise build common tools for common use

  60. adaptability because needs differ and change

  61. adaptability merb is truly modular http://flickr.com/photos/ testing template ORM JS lib framework engine

  62. $ merb-gen very_flat app-name 1 file Merb::Router.prepare do match('/').to(:controller => 'very-flat-app', :action =>'index') end class VeryFlatApp < Merb::Controller def index "Hi, I am 'very flat' Merb application. I have everything in one single file and well suited for dynamic stub pages." end end

  63. $ merb-gen app app-name merb stack MVC architecture asset management caching view helpers mailer authentication exceptions handler

  64. adaptability pick and choose add/remove dependencies

  65. adaptability pick and choose extend plugins - slices - API

  66. adaptability pick and choose extend replace build around merb core

  67. scalability see benchmarks modularity small memory footprint

  68. sum up

  69. merb is fast

  70. merb is flexible

  71. http://flickr.com/photos/ezzyponchi/283381271/ http://bonluxat.com merb is modular

  72. merb can be opinionated

  73. merb ♥ recycling

  74. Merb has a bright future for the people who are not satisfied by the fixed ways in Rails. I think that Merb will give users more freedom in a Ruby-ish way of programming. matz likes merb

  75. C o n c l u s i o n merb meets the Enterprise needs ✓ Cost ✓ Adaptability ✓ Scalability

  76. questions?

More recommend