Programming Amazon Web Services
I just received word that James Murty's new book, Programming Amazon Web Services, has been published and that copies are now available. The Amazon site is still showing the book as available for pre-order but this should change within a day or two.
The book contained detailed information about the use of Amazon S3, Amazon EC2, Amazon SimpleDB, Amazon SQS, and the Flexible Payments Service. I've reviewed several drafts of the book; James has done a really good job of collecting and organizing the information that will allow you to make good use of each service.
In the space of 13 chapters and 2 appendices, James details each service -- what it is, what it does, how it fits in to the other services, and how to use it to solve real problems. There's plenty of Python and Ruby code too.
-- Jeff;
So it does cover EC2 and SQS in detail? I was a bit worried -- the O'Reilly TOC is only showing 3 chapters and they really only cover S3: http://www.oreilly.com/catalog/9780596515812/toc.html
Posted by: Gary | March 26, 2008 at 07:29 AM
Python and Ruby, ugh. Why couldn't he have just done his code examples in Lisp?
Posted by: Jeffrey McManus | March 26, 2008 at 08:12 AM
As someone with the book it should really be titled "Programming Amazon Web Services with Ruby".
Most of the examples are using a higher level Ruby module (or whatever they are called) to hide the actual implementation. If it were titled above this would not be an issue or need for clarification. As titled it purports to be a (general) guide to programming AWS. Saying "things go on and there are three ways to do this but we'll be using [insert ruby AWS module here] instead" is a serious let-down.
I've nothing against Ruby per-se (though I do prefer Python and C++) or a book for AWS via Ruby. So long as it is correctly titled so people don't mistake it. Seems to me though that as a Ruby book it would be a bit of a let-down as it is tutorial level stuff you can probably find in the Ruby AWS module docs. But that's me.
What would have made it better, other than reclassifying/retitling it? Describing the calls. Instead of saying "there is a REST call that does this, but we'll use this higher level language-specific module", describe the call itself, show the details. Then, once that is done show an example using a higher level module - as an *example*, not the "description".
Note that as a Python programmer Id would have the same comments if the overly dominant code example language was Python, I'd just be typing "Python" instead of "Ruby". It isn't the language that is the issue, it is the use of higher level interfaces that hide what is going on with AWS. For example, if the author wished to demonstrate listing bucket contents, showing in whatever languages chose the "raw" calls to the AWS servers would be usable. Showing an example in Python or Ruby that merely calls a function that says "gimme the list" is not - unless you are using those/that language.
So if you are a Ruby scripter looking at AWS this book will likely help you. If not, probably not much help here that isn't in the AWS docs.
@Gary
Not so much on the EC2 but a decent set of chapters on SQS, with the above mini-review in mind.
Posted by: TheRealBill | May 27, 2008 at 01:21 PM