Amazon S3 grumbles

Lukas Biewald of Facestat says Amazon S3, which is business-critical, is his #1 cause of failure:

Using Amazon’s S3 has about the same cost and complexity as hosting the images ourselves, but we had thought that the reliability of Amazon would be significantly higher. But that now seems wrong….It’s astonishing that serving content off our own boxes can be more reliable than serving content off of Amazon.

He’s also discovered that the SLA is not worth much – the business cost of the recent 7 hour downtime is far in excess of the 25% fee rebate.

S3 is cheap. Personally I think it is unrealistic to make S3 your storage service, have no plan B, and expect high reliability.

Amazon has a case to answer too. Salesforce.com has now just about lived down its 2005 outages; but incidents like these are terrible publicity for any cloud provider.

Technorati tags: ,

Amazon S3 was not built on spare capacity

At least, not according to Jeff Barr, Amazon’s Web Services evangelist. I was reminded of this when reading Om Malik’s post on the recent S3 outage, in which he quotes Antonio Rodrigez who asks:

… if AWS is using Amazon.com’s excess capacity, why has S3 been down for most of the day, rendering most of the profile images and other assets of Web 2.0 tapestry completely inaccessible while at the same time I can’t manage to find even a single 404 on Amazon.com? Wouldn’t they be using the same infrastructure for their store that they sell to the rest of us?

I asked Barr a question along similar lines at Qcon London in March. My concern was whether the business model (S3 is cheap) would break once Amazon had to invest in new servers purely to support S3. This is what he told me:

It’s a common misconception that we launched this simply because we had servers sitting around and we wanted to find something for them to do. It’s always been the case that we launched this specifically because we wanted to bring something of value to developers … Our community is about 330,000 developers now.

I presume that there is nevertheless considerable synergy between S3 and Amazon’s own need for distributed storage, and that there is shared software, data centres, and so on. With hindsight I should have pressed Barr further on what is shared and what is distinct. But it isn’t, apparently, excess capacity. I consider this an advantage.

Update: If Barr wants to correct this misconception he could start by clarifying the wording on the S3 home page:

…it gives any developer access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites. The service aims to maximize benefits of scale and to pass those benefits on to developers.

WCF Sessions with Silverlight and Flex

I wanted to adapt my Silverlight CRUD sample (which I also ported to Adobe Flex) to fix a glaring weakness, which is that any user can amend any entry.

I decided to add some logic that allows editing or deleting of only those rows created during the current session. The idea is that a user can amend the entry just made, but not touch any of the others.

WCF has its own session management but this is not supported by the BasicHttpBinding which is required by Silverlight.

Fortunately you can use ASP.NET sessions instead. This means setting your WCF web service for ASP.NET compatibility:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

Then you can write code using the HttpContext.Current.Session object.

This depends on cookies being enabled on the client. In my simple case it worked fine, in both Silverlight and Flex. In a real app you would probably want to use HTTPS.

I’d post the sample but unfortunately my Windows web space doesn’t support WCF.

Technorati tags: , , ,