Skip to content

Instantly share code, notes, and snippets.

@nirvdrum
Created March 16, 2010 19:34
Show Gist options
  • Save nirvdrum/334404 to your computer and use it in GitHub Desktop.
Save nirvdrum/334404 to your computer and use it in GitHub Desktop.
Proposal title: AWS Deployment with Rubber
==============
Description (400 characters - 65 words):
=======================================
Amazon Web Services (AWS) is one of the easiest ways to get going with cloud computing. Rubber is a Capistrano plugin that simplifies provisioning and deploying Ruby Web apps to EC2, EBS, and S3. In this
talk you'll learn how to build out both common and complex application stacks rapidly on AWS.
Session type: 45 min. conference session
============
Abstract:
========
Amazon Web Services (AWS) has made cloud computing accessible to development teams of all sizes. However, deploying to AWS has been less than straightforward. Rubber is a role-based deployment framework built on top of Capistrano that aims to make this easier by automating the lifecycle and provisioning of EC2 instances and services (EBS, S3, etc).
One of rubber's goals is to provide a solid base to grow on, starting you off quickly with its opinionated deployment stack, but making it very easy to add and do whatever makes sense for your application. By conforming to the role-based deployment pattern, your production cluster can easily grow to multiple instances, while still allowing you to scale down to a single instance for a true staging server during development.
Along with instance creation and provisioning, rubber also provides some convenience functionality for working with other AWS services like EBS, elastic IPs, security Groups, and S3. Rather than worry about the details of setting these up, you can associate them with the roles and hosts that need them with some simple declarative options in the rubber cluster configuration. This makes it very easy to plan for failure - when your instance dies, a simple teardown and recreate will put you right back where you were.
By the end of the talk you should have a good understanding of how AWS can be helpful for your application and how to use rubber to build out your deployment stack in less than 30 minutes. Perhaps the best part is you can employ rubber piecemeal with your existing deployment process since it's an add-on rather than a replacement for Capistrano, significantly reducing the cost of migrating.
Further reading:
Rubber wiki - http://wiki.github.com/wr0ngway/rubber/
Scaling Rails podcast - http://blog.envylabs.com/2009/11/scaling-rails-part-3/
Skill Level of this session: advanced
===========================
What knowledge/skills should attendees have in order to get the most from this session?
=======================================================================================
Attendees should be familiar with using Capistrano for deployment and should have a basic idea of what
cloud computing is.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment