Easily Maintainable and Scalable Horizontally¶
That's exactly what we seek when deploying our applications. Downtime is not a word
we like to utter at the office, so we utilize a structure where any given moving part can go down (a drive, a fan, anything that can break in a server)
without taking out core business services. Sound expensive? It isn't, we generally deploy on commodity hardware, we just use more redundancy.
Usage¶
- Self-Hosting
- Production testing
- Start-Ups
Features¶
- High Availability
- Automated Capacity Expansion (and Contraction)
- Seamless deployment
- Cross-Platform
- Extensive notification options
- Granular run-time supervision of applications
Technologies¶
So what actually is it? It's a deployment tool for ruby on rails applications, currently. This includes a generator to make runit 'service' directories, which
can be supervised by runsv (part of the runit toolkit). The generator also creates a configuration suitable for inclusion in a lighttpd.conf configuration,
used by the lighttpd web server. Future versions will include apache and nginx configuration, as well. Emash also includes a rake task (rake emash:runit_install)
which will download and install runit locally. Next steps will be to add handlers to actually start and stop services. Code available at git://rubyists.com/gits/emash.