Published on October 11, 2008
Merb then and now Ezra Zygmuntowicz http://engineyard.com
Merb Then Sept 21st 2006 http://pastie.org/14416 AKA Baby Merb
Merb Now • merb-core • merb-action-args • merb-haml • merb-assets • merb-helpers • merb-auth • merb-jquery • merb-builder • merb-mailer • merb-cache • merb-parts • merb-gen • merb-slices
Core Tenets of Merb
Merb should be fast (no code is faster then no code)
Merb should be memory efﬁcient
Merb code should be as simple as possible
Merb should be modular
Merb should be easy to grok and extend (by hackers for hackers)
Merb should focus on the application server as well as the web framework
Merb should get out of your way and be *ﬂexible*
Most Importantly Merb should be an experimentation ground
Why not just work on rails?
Monoculture is bad
Everyone wins when there is competition
Lot’s of merb’s lessons can be applied back to rails
Merb-1.0RC drops tomorrow! Huge thanks to the community and all contributors
merb-stack: training wheels included
Now with that out of the way...
Nanite is a new way of building scalable backends for web apps
Built around RabbitMQ • Written in erlang, clusterable, highly scalable, fast as hell. • AMQP protocol provides many nice features • Transient, Persistent and Transactional semantics
Nanite agents consist of multiple Actors
Nanite agents advertise their services and status Feeds#crawl advertises: /feeds/crawl Load average is advertised as default status
Nanite Mappers Track nanites and their advertised services and status Can do dispatch based on a number of factors Run inside your Merb or Rails app State of all nanites is replicated across all mappers
Multiple Dispatch Styles
Least loaded dispatch and the ﬁtness function
Agents ping the mapper exchange every @ping_time seconds. Mappers track the state of all nanites and remove them from mapping if they haven’t reported in within a timeout
Nanite gives us: • Presence, we know when nanites are ready for requests or not. • Self assembly, nanites can come and go and can run anywhere with zero conﬁguration in the mappers. • Dispatch based on load or any ﬁtness function that suits your app • Easily take advantage of cloud
Nanite makes it easy to scale web app backends Git it on GitHub: http://github.com/ezmobius/nanite
This is my keynote from MerbCamp, where I talk about merb past and present as well as introduce nanite a self assembling cluster of ruby processes
Just a quick post to share some news. I just finished giving my keynote at MerbCamp about past and present merb and the core tenets of merb development. I ...
Nanite is a new way of thinking about building cloud ready web applications. Having a scalable message queueing back-end with all the discovery and dynamic ...
Merbcamp - notes from the edge. ... Nanite. A "self-assembling ... just dial up merb web servers as nanite agents and scale your site on demand at the ...
Talk:Merb WikiProject Computing / Software (Rated ... You may be thinking of the Nanite presentation, ... Not only is Merb definitely written in Ruby, ...
It was with much excitement that Merbcamp started yesterday with a keynote from Ezra Zygmuntowicz, initial creator of the Merb Web application framework.
Congrats on Merb 1.0!!! I'm looking forward to a somewhat stable 1.0RC. Nanite does look interesting. I did quite a bit a of erlang work a few years ago.
> http://www.slideshare.net/ezmobius/merb-nanite-presentation > > > Thank you, > Best regards > > On Nov 20, 11:36 pm, mdipierro
Merb news nov-16-2008. ... Thomas Meeks gave a great talk on Nanite. ... The whole Merb vs Rails drama is funny â€“ I don’t know why DHH seems to ...