Article on Real-world Experiences with EC2

Grig Gheorghiu of the Agile Testing blog has a very good post about his experiences deploying large-scale applications on Amazon’s EC2 service: Experiences deploying a large-scale infrastructure in Amazon EC2. Lots of great tips here.

Posted in AWS | Leave a comment

Upgrading Eclipse: An exercise in frustration

I am keen to try out Amazon’s new AWS Toolkit for Eclipse which adds EC2 instance management and direct deployment into the Eclipse IDE.

However, I have just wasted my afternoon trying to upgrade to a new version of Eclipse that:

  1. Is version 3.3 or later, to be compatible with Amazon’s toolkit
  2. Includes the Web Tools Platform, ditto
  3. Actually works, without weird graphics glitches (Ganymede/3.4) or broken components out-of-the-box (Europa/3.3)

This reminds me why I’ve stuck with Eclipse version 3.2 for years — every update is a huge pain.

Anyhow, that’s enough whining for now. I’m writing this post in the hope that I can come back and update it with some solutions if/when I figure out how to get this stuff working.

Posted in Java, Other | Leave a comment

Amazon S3 turns 3, Users get a birthday discount

To celebrate the three year birthday of its Simple Storage Service (S3), Amazon has announced reduced pricing for uploads for the next three months. From April to June 2009, uploads into S3 will cost 3¢ per Gigabyte instead of 10¢.

The announcement is at the top of the Amazon S3 home page and the service’s pricing details have been updated. This makes it a good time to send your data to the cloud.

Posted in AWS | 1 Comment

XCode 3.1 and SVN 1.5

I am reading the book Xcode 3 Unleashed to get to grips with Apple’s Xcode IDE.

While configuring a local Subversion code repository I came across a couple of problems that had non-obvious solutions.

After creating an SVN repository in a local directory using the

svnadmin create

command, Xcode 3.1 refused to recognise the repo and complained about Error: 180001.

Xcode 3 Error 180001

The “solution” to this first stumbling block was to accept the settings anyway, then quit and restart Xcode itself (?!). After doing this, the error message changed to an even more puzzling Access Denied.

access-denied

This one had me stumped for a little while because all the file and directory access permissions seemed OK. I was put onto the right track by Rastikan’s post in the Apple Support forums. It turns out that Xcode 3.1 is not compatible with Subversion versions after 1.4 whereas my system has version 1.5.5.

Fortunately, it is possible to create backwards-compatible Subversion repositories by providing the option

--pre-1.5-compatible

to the

svnadmin

command like so:

svnadmin --pre-1.5-compatible create Example2

After creating a 1.4-compatible SVN repository with this command, Xcode recognises it immediately and without a restart. Success!

Having finally gotten Xcode to recognise my SVN repository and after investigating the relatively poor SCM tools and features built in to Xcode, I realise it may actually be easier to manage everything with Subversion’s command line tools. Still, at least now I have the option.

Posted in Coding, Tips | 3 Comments

EC2 and SimpleDB News

I have been out of blogging action for a little while due to an international move. My first week in Portland, OR, USA has been great (though cold) and now that I have some time I should get back to work…

EC2

Reserved Instances

The latest news regarding EC2 is the new Reserved Instances feature. This is a particularly interesting development of Amazon.com’s “Pay as you go” pricing model.

Reserved Instances is a mechanism that allows you to pre-pay for EC2 instances for a period of 1 or 3 years. When you pre-pay for (reserve) instances, Amazon guarantees that these instances will be available when you need them — there is no risk that your request will exceed the service’s available instance pool.

Reserved instances also have a reduced hourly usage fee. The pricing is structured such that if you run your instance most of the time, your yearly costs will be less than for non-reserved instances. For example, running a standard small instance 24/7 for 3 years costs about $2,628 (10¢ hourly x 24 hours x 365 days x 3 years) whereas a reserved instance costs about $1,288 (3¢ hourly * 24 hours * 365 days * 3 years + $500 one-time fee). That’s a saving of over 50%, if you run your instance full-time. See the pricing topic in the EC2 FAQ for the information you will need to run your own numbers.

It is important to note that aside from the guaranteed availability and reduced fee for Reserved Instances, they work just like normal EC2 instances. You can start and stop them on demand, and (after the one-time fee) you pay only for the time you run the instance.

Support for Reserved Instances is currently limited to US EC2 locations (sorry Europe) and to the Linux and OpenSolaris operating systems (sorry Windows).

Update: Reserved instances are now available in Europe. The reservation fees in the EU are the same as for US instances, but the usage fees are slightly higher.

Windows spreads on EC2

To make up for the lack of Windows support with the new Reserved Instances feature, here’s some good news for our Microsoft-y readers. You can now run Windows EC2 instances in more places: in two availability zones in Europe, and an extra two availability zones in the US.

To go with the new support for running Windows in the EU region, there are also some localised Windows AMIs with the French, German, Italian, and Spanish language packs pre-installed. Follow the link in the prior paragraph for more details.

List of Public Data Sets keeps growing

Public Data Sets on AWS are repositories of publicly accessible data that Amazon has made easily accessible to EC2 instances. Simply start an EC2 instance, attach one of the pre-prepared Elastic Block Store disk snapshots, and delve straight into the data.

There’s lots of great stuff here, from Wikipedia (in English) to US Census databases.

SimpleDB

Select query language selected over query

The Select query language, which provides a more SQL-like querying language for SimpleDB, will completely replace the original Query language from around May 2010. The Query language is being deprecated over 15 months to allow Amazon to “focus … future development efforts on the Select API” which is preferred by many SimpleDB users.

Run long queries (over multiple requests)

SimpleDB queries that run for longer than the 5 second cut-off no longer terminate with an unhelpful timeout error. Instead, queries that exceed this time will return any results found up until the cut-off point, along with a token that you can pass back to the service to continue the query for another 5 seconds.

Count your results

The SimpleDB Select API now supports a count function that returns the number of results found for a query, rather than the actual results.

That’s it

Whew, what a list. Amazon has been almost as busy as I have over the last few weeks.

Posted in AWS | 1 Comment

Financio ad absurdum

Premise

Financial wizard on Wall St:

By doing my job well, I secured a big deal worth millions of dollars. I therefore deserve a bonus that gives me a share of the profits.

Conclusion

Cook:

By doing my job well, I kept the financial wizard well-fed while he was working on the deal. I therefore deserve a bonus that gives me a share of the profits.

Teacher:

By doing my job well, I taught the financial wizard how to secure big deals. I therefore deserve a bonus that gives me a share of the profits.

Programmer:

By doing my job well, I wrote some software the financial wizard used to transfer money and close the deal. I therefore deserve a bonus that gives me a share of the profits.

Fire fighter:

By doing my job well, I prevented the financial wizard’s office building from burning to the ground. I therefore deserve a bonus that gives me a share of the profits.

Surgeon:

By doing my job well, I saved the life of the financial wizard. I therefore deserve a bonus that gives me a share of the profits.

Posted in Other | Leave a comment