Merb For The Enterprise
-
Upload
matt-aimonetti -
Category
Technology
-
view
5.689 -
download
0
description
Transcript of Merb For The Enterprise
![Page 1: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/1.jpg)
&merb
f l e x i b i l t y p e r f o r m a n c e
![Page 2: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/2.jpg)
Me
![Page 3: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/3.jpg)
MeMatt
Aimonetti
irc: m a t t e t t ihttp://github.com/mattetti
![Page 4: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/4.jpg)
core team member &
evangelistMatt
![Page 5: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/5.jpg)
d o n ’ t w o r kat Engine Yard
Matt
http://engineyard.com
![Page 6: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/6.jpg)
d o n ’ t w o r kat Engine Yard
Matt
http://engineyard.com
![Page 7: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/7.jpg)
MattC o n s u l t a n tbased in San Diego, CA
![Page 9: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/9.jpg)
Blogs:http://merbist.com
http://railsontherun.com
![Page 10: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/10.jpg)
![Page 11: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/11.jpg)
![Page 12: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/12.jpg)
C o n c l u s i o n
✓Cost
✓Adaptability
✓Scalablility
merb meets the Enterprise needs
![Page 13: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/13.jpg)
![Page 14: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/14.jpg)
“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
![Page 15: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/15.jpg)
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
![Page 16: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/16.jpg)
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
![Page 17: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/17.jpg)
Rails is slow
![Page 18: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/18.jpg)
Ruby is slow
![Page 19: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/19.jpg)
“The slowest programming language in the world”
![Page 20: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/20.jpg)
benchmarks someone?
![Page 21: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/21.jpg)
![Page 22: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/22.jpg)
raw PHP: 331 rps
![Page 23: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/23.jpg)
raw PHP: 331 rps
cake PHP: 3.6 rps / 8 rps (eaccelerator)
![Page 24: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/24.jpg)
raw PHP: 331 rps
cake PHP: 3.6 rps / 8 rps (eaccelerator)
code igniter:21.5 rps / 98.2 rps (eaccelerator)
![Page 25: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/25.jpg)
raw PHP: 331 rps
cake PHP: 3.6 rps / 8 rps (eaccelerator)
code igniter:21.5 rps / 98.2 rps (eaccelerator)
Rails:88 rps
![Page 26: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/26.jpg)
Railsis
pretty close to the fastest PHP framework.
![Page 27: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/27.jpg)
what about merb?
![Page 28: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/28.jpg)
hello world benchmarks
baseline results
![Page 29: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/29.jpg)
apache serving static html:
hello.html
raw PHP: <?php echo "Hello world"; ?>
merb router: match("/hello world")
![Page 30: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/30.jpg)
Merb Router Static HTML raw php
1995 req/s2898 req/s3783 req/s
http://merbist.com
![Page 31: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/31.jpg)
$ ab test: ab -c 10 -n 5000 http://0.0.0.0/benchmark
Merb 1.0 Django 1.0.1 Rails 2.2.1 Code Igniter 1.6.3Symfony Cake PHP
http://merbist.com
![Page 32: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/32.jpg)
Ruby might be slow at fibonacci benchmarks
who cares?
![Page 33: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/33.jpg)
Ruby is fast at real life web benchmarks
that’s what matters!
![Page 34: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/34.jpg)
Ruby for the webis NOT slow
![Page 35: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/35.jpg)
![Page 36: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/36.jpg)
Enterprise
![Page 37: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/37.jpg)
Enterprise
Enterprise needsenterprise software
![Page 38: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/38.jpg)
Enterprise
“Enterprise software is software intended to solve an enterprise problem
(rather than a departmental problem) and often written using
an Enterprise Software Architecture.”
![Page 39: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/39.jpg)
Enterprise
enterprise problem !=
departmental problem
![Page 40: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/40.jpg)
Enterprise
an enterprise problem covers problems from
many different departments
![Page 41: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/41.jpg)
Enterprise
many different departmentsmeans
different needs/challenges
![Page 42: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/42.jpg)
Enterprise
“Enterprise software is software intended to solve an enterprise problem
(rather than a departmental problem) and often written using
an Enterprise Software Architecture.”
![Page 43: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/43.jpg)
Enterprise
Enterprise Software Architecture
![Page 44: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/44.jpg)
Enterprise
http://en.wikipedia.org/wiki/Enterprise_architecture
![Page 45: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/45.jpg)
Enterprise
organization-specific software architecture
![Page 46: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/46.jpg)
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 [...]”
![Page 47: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/47.jpg)
Enterprise
Elite
![Page 48: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/48.jpg)
Enterprise
what about the not so large companies?
![Page 49: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/49.jpg)
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.”
![Page 50: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/50.jpg)
Enterprise
“complex development programming tools that
require specialist capabilities”.
![Page 51: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/51.jpg)
Enterprise
Business Software Solutions Applications and Services
![Page 52: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/52.jpg)
Enterprise
ABAP
NetWeaver
SAP system
ERPCRM
SRM
![Page 53: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/53.jpg)
Enterprise
cost
adaptability
Concerns:
![Page 54: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/54.jpg)
Enterprise
Does it scale?
Concerns:
![Page 55: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/55.jpg)
Enterprise
loads of req/s
scalability
easily extendable
swap/extract parts
![Page 56: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/56.jpg)
what about merb?because that’s why I’m here
![Page 57: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/57.jpg)
costopen source
free as in free speech
![Page 58: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/58.jpg)
costruby
Great language - widely adopted - enjoyable momentum
![Page 59: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/59.jpg)
Rubybet on
MacRuby
Rubinius
![Page 60: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/60.jpg)
Rubybet on
MacRuby
Rubinius
![Page 61: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/61.jpg)
costreusable
merb slices - mountable mini applications
![Page 62: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/62.jpg)
costreusable merb slices
Merb::Router.prepare do slice(:blog, :path => "blog") slice(:wiki, :path => "wiki") slice(:public_calendar, :path => "calendar")end
![Page 63: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/63.jpg)
costsmooth transition
access your Java code directly from Merb
deploy your merb app like you deploy your java apps
![Page 64: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/64.jpg)
cost
model the entire business enterprise
build common tools for common use
choose
![Page 65: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/65.jpg)
adaptabilitybecause needs differ and change
![Page 66: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/66.jpg)
adaptabilitymerb is truly modular
ORM JS libtesting
frameworktemplate engine
http://flickr.com/photos/
![Page 67: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/67.jpg)
$ 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." endend
![Page 68: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/68.jpg)
$ merb-gen app app-name
merb stackMVC architecture
asset managementcaching
view helpersmailer
authenticationexceptions handler
![Page 69: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/69.jpg)
pick and choose
adaptability
add/remove dependencies
![Page 70: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/70.jpg)
pick and choose
adaptability
extendplugins - slices - API
![Page 71: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/71.jpg)
pick and choose
adaptability
extend
replacebuild around merb core
![Page 72: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/72.jpg)
scalability
see benchmarks
modularity
small memory footprint
![Page 73: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/73.jpg)
sum up
![Page 74: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/74.jpg)
merb is fast
![Page 75: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/75.jpg)
merb is flexible
![Page 76: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/76.jpg)
merb is modular
http://flickr.com/photos/ezzyponchi/283381271/ http://bonluxat.com
![Page 77: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/77.jpg)
merb can be opinionated
![Page 78: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/78.jpg)
merb ♥ recycling
![Page 79: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/79.jpg)
matz likes merb
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.
![Page 80: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/80.jpg)
C o n c l u s i o n
✓Cost
✓Adaptability
✓Scalability
merb meets the Enterprise needs
![Page 81: Merb For The Enterprise](https://reader034.fdocuments.us/reader034/viewer/2022052619/55592f17d8b42a543d8b485c/html5/thumbnails/81.jpg)
questions?