From c44e82fbe42dc64d76fa399ef0e5b615fbaff8d2 Mon Sep 17 00:00:00 2001 From: "R. Tyler Croy" Date: Sun, 20 May 2012 20:23:49 -0700 Subject: [PATCH] Blimpy YAY --- _posts/2012-05-21-introducing-blimpy.markdown | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 _posts/2012-05-21-introducing-blimpy.markdown diff --git a/_posts/2012-05-21-introducing-blimpy.markdown b/_posts/2012-05-21-introducing-blimpy.markdown new file mode 100644 index 0000000..03ea0fe --- /dev/null +++ b/_posts/2012-05-21-introducing-blimpy.markdown @@ -0,0 +1,65 @@ +--- +layout: post +title: Introducing Blimpy, a cloud thing +tags: +- blimpy +- puppet +- devops +--- + + +**DEATH TO VIRTUALBOX** + +--- + +Phew, okay. With that out of the way, let me tell you about +[Blimpy](https://github.com/rtyler/blimpy#readme); a tool that I have written +to make working with "cloud" machines easy as pie. + + + +As much as I love my Thinkpad, it's not really suited to heavy virtualization. +Despite having a delightful 8GB handy, it still only has a couple of teeny tiny +CPU cores. What it *does* have though, is a nice internet connection to the +CLOUD. + +Blimpy was built to help me take advantage of the plethora of machines that can +be spun up on [AWS](http://aws.amazon.com) and other public cloud providers. + +My immediate usecase for Blimpy is that I've needed to spin up a machines +rapidly to perform end-to-end testing of +[Puppet](http://puppetlabs.com/puppet/puppet-open-source/) modules such as +[puppet-jenkins](https://github.com/rtyler/puppet-jenkins) + + +Below is a screencast of using Blimpy to validate the module: + +
+ +This was done with a simple Blimpfile: + + Blimpy.fleet do |fleet| + fleet.add(:aws) do |ship| + ship.name = 'puppet-jenkins' + ship.ports = [22, 8080] + ship.livery = :cwd + ship.flavor = 'm1.large' + end + end + +Blimpy is structured to make it easy to spin up multiple machines at once, in +this case however I'm only going to spin up a single machine (defaulted to +Ubuntu 10.04 64-bit in US West 2), of the "m1.large" flavor. Jenkins is a +hungry application, so I'm not going to use the default "t1.micro" flavor. + +The `Blimpfile` also specifies that port 8080 should be opened, and will create +a special Blimpy security group in AWS that properly allows ports 22 and 8080 +through. + + +The project is still fairly young, but reasonably well tested (in my opinion) +Ruby code, all of which can [be found on +GitHub](https://github.com/rtyler/blimpy#readme)