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.

Attachments