Amazon EC2 Interface for Common Lisp
A few weeks ago I was in the “post-holiday doldrums” and needed a lift out of my rut. I was missing Lisp (hadn’t written any Lisp code in two years); was curious about the details of the EC2 API protocol; and wanted a better environment for managing our Sierra instances that fit my style of working (I’m an old system-software guy that uses Emacs and Bash a lot). So I took a couple of days and wrote an EC2 API for Common Lisp, and then built a Sierra management interface on top of that. As it turned out, there were several open-source Common Lisp packages that helped: Edi Weitz’s drakma, a tidy web client; ironclad, an easy-to-use cryptography package; s-xml, a simple xml parser; and s-base64 for simple base64 encoding/decoding. Using these packages I had a functioning EC2 interface in half a day, and by the third day the package had everything I needed to build my Sierra layer on top. The decisive advantage this approach has over my previous python command-line interface is that my Sierra environment is running all the time (Lisp within an Emacs session); and thus I am able to interact with Sierra via the Lisp REPL., make changes without having to restart my Sierra environment, etc. Very cool.
I haven’t implemented the entire EC2 Query API, but concentrated on those aspects needed to manage our Sierra instances and EBS volumes, get information about AMIs, instances, volumes, etc. SBCL is my Lisp environment of choice right now, so I’ve only run this stuff on that platform. But it is Common Lisp, and I would expect the code to be easily ported to other Lisps.
If you’re interested in the EC2 package I would consider making it available via a project on common-lisp.net. Drop me a line if that would be useful.
This entry was posted on Friday, January 29th, 2010 at 9:14 am and is filed under SaffronSierra. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
5 Responses to “Amazon EC2 Interface for Common Lisp”
-
Here’s a request for publishing the EC2 library someplace!
-
Hi Richard. We’re working on finding a suitable place for publishing our Lisp EC2 library. I’ll let you know as soon as it’s available. It needs a bit of documentation, but if you can’t wait I can always send you a tarball. Let me know what you prefer.
– david
-
I will happly put your Amazon EC2 Interface for Common Lisp up on github and otherwise maintain it, assuming it has a reasonable license, if you give me permission to do so, and if you send me a tarball.
Thanks so much!
(jfm3)
-
Whoops. I see it now. Thanks again!
Leave a Reply


[...] Saffron Sierra» Blog Archive » Amazon EC2 Interface for Common Lisp [...]