Tim Anderson’s ITWriting

Tech writing blog

July 21st, 2008

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: ,

July 21st, 2008

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.

July 3rd, 2008

eBay insisting on PayPal only in the UK

I’ve just listed an MP3 player for sale on eBay in the UK. I was surprised to see that I was required to accept PayPal and only PayPal for the transaction, making the “Decide how you’d like to be paid” section of the form redundant:

It is not even possible to state that someone who collects personally may pay cash.

As I understand it, eBay is not applying this rule to all transactions. I suspect this one is regarded as higher risk because it is electronics. The company justifies it on the grounds of security; but since eBay owns PayPal, and gets a double-dip on the fees for transactions processed by PayPal, it has other incentives.

I don’t like this. It is a step backwards; I prefer to have control over what payments are acceptable. I still listed it though, since Amazon (the obvious alternative) is even more expensive, and also acts as payment provider.

eBay has run into some trouble over this policy in Australia; I wonder if the UK will make a similar fuss?

Update: I’ve discovered that eBay UK is now forbidding payments other than PayPal on the following types of sale:

1) Sellers using a 1-day listing format

2) Sellers listing in these categories:

- Video Games > Consoles

- Consumer Electronics > MP3 Players

- Computing > Software

- Wholesale & Job Lots > Mobile & Home Phones

- Business, Office & Industrial > Industrial Supply/ MRO

There are some broad categories there. Further, I presume that once eBay starts restricting some sales to PayPal only, it will be tempted to extend the list further.

Technorati tags: , ,

June 30th, 2008

Microsoft fixes Xbox 360 license transfer

Microsoft has finally fixed a long-standing irritation with the Xbox 360: the inability to transfer licenses for purchased games from one console to another. The new license transfer tool lets you consolidate all your download purchases to a specific Xbox 360, even if some were downloaded onto a console that no longer works or was sold on.

I’m personally grateful as I ran into exactly this problem and had an argument with support about it.

There’s a wider point here. If I buy virtual property, like software, music or an ebook, it makes sense to record that ownership in the cloud so that there is no need to keep backups and it cannot really be stolen (other than by hacking the online account, I guess).

Technorati tags: , ,
April 20th, 2008

mvn cloudtools:deploy

I love this. Write your Java EE app; then deploy to up to 20 virtual servers like this:

mvn cloudtools:deploy

The servers are Amazon EC2 instances, charged by the hour.

The tool comes from Chris Richardson, author of POJOs in Action. It combines a Groovy framework called EC2Deploy with appropriate Amazon virtual machine images and a Maven plugin. He calls the combination Cloud Tools. More on EC2Deploy here. The Cloud Tools home page is here. Open source under the Apache License 2.0.

Great for testing, could be good for live deployment too, especially now that you can get proper support from Amazon.

See also Jeff Barr’s Amazon Web Services Blog.

April 15th, 2008

Amazon’s cloud computing to surpass its retailing business?

That’s what Larry Dignan is predicting.

I’m sceptical. I like what Amazon is doing with its infrastructure services, but I’m guessing they are low margin and price-sensitive; it’s going to be difficult to pump up its value to equal the retailing side.

My hunch is that Amazon will work at bringing its retailing and cloud computing businesses together. Look at the Flexible Payments Service and DevPay:

Amazon customers can pay using the same login credentials and payment information they already have on file with us. This helps Amazon customers keep their payment information secure and removes the friction you would face if you required customers to enter their payment information before they could make a purchase.

Sounds like a bank, right? Now look at what eBay is doing with PayPal (which it is moving towards making obligatory), and Google with Google Payments - note that the new AppEngine can use Google accounts as an identity service.

Banking is highly profitable. These three giants will be fighting over how to get a small slice of more of our Internet transactions - which will be an increasing share of our total transactions.

Like eBay, Amazon already has a strong business handling the storefront and payments for third parties in its marketplace.

I’ll be surprised if things like S3 and EC2 become more important to Amazon than its retailing; but I won’t be surprised if identity and financial services become the core of its business, rather than running warehouses and shipping out goods.

Update: clearly not yet.

April 14th, 2008

Amazon Elastic Compute Cloud gets persistent storage

An annoying feature of Amazon EC2, a service which provides virtual servers on demand, is that server instances have no persistent storage. Any data written to the virtual hard drive disappears when the instance shuts down. Developers have needed to store data elsewhere, such as in Amazon’s S3 storage service.

Amazon has now announced persistent storage. These are virtual hard drives that you can attach to EC2 instances. Another enhancement since the initial launch is static IP numbers. Early tester (and reseller) Thorsten von Eicken is enthusiastic:

The feature that really makes the storage volumes sizzle is the ability to snapshot them to S3 and then create new volumes from the snapshots. The snapshots are great for durability: once a snapshot is taken it is stored in S3 with all the reliability attributes of S3, namely redundant storage in multiple availability zones. This essentially solves the whole backup issue with one simple API call.

It’s an excellent feature which arguably should have been there from the start.

Incidentally, I don’t know why people keep comparing Amazon’s web services with Google’s App Engine. OK, they are both cloud services. But Amazon is providing infrastructure services; Google is offering an application runtime. They hardly compete at all. Google and Amazon compete in other ways: Amazon marketplace vs Google Base and Google Checkout, for example.

Technorati tags: , , ,
April 7th, 2008

Amazon, eBay, FaceBook: the risk of building your business on a third-party platform

We are seeing web giants flex their muscles. Here’s three instances.

FaceBook’s frequent platform changes make it tough for small developers to keep up - I blogged about this recently.

Amazon declares that Print on Demand sales on its site must use its own printing system, causing consternation for rivals like Lightning Source.

Ebay changes its terms for sellers, removing the option to give negative feedback to scam buyers and increasing final value fees from 5.25% to 8.75% (a 67% increase).

In each case, the losers can fume and complain; but there’s little else they can do, other than withdraw their business. Ebay, FaceBook and Amazon have the right to as they want, within the law, with their web sites. Unfortunately, withdrawing your business from the dominant platform in each field (social networking, web retailing, auction sales) is likely to be even more expensive than gritting your teeth and putting up with it - at least, that’s what the big guys are counting on.

The problem: it’s high risk to have a third-party control your platform. This is something the music industry has belatedly recognized in respect of Apple’s iTunes.

I expect to see more of this, as the biggest players change focus from buying market share with low prices and free services, to trying to monetize their existing share more effectively.

PS: I realise that FaceBook is in nothing like the same position of strength within its market as Amazon or Ebay; nevertheless there seems to be a parallel to do with lack of control over your destiny.

Technorati tags: , , , ,
December 15th, 2007

Amazon SimpleDB: a database server for the internet

Amazon has announced SimpleDB, the latest addition to what is becoming an extensive suite of web services aimed at developers. It is now in beta.

Why bother with SimpleDB, when seemingly every web server on the planet already has access to a free instance of MySQL? Perhaps the main reason is scalability. If demand spikes, Amazon handles the load. Second, SimpleDB is universally accessible, whereas your MySQL may well be configured for local access on the web server only. If you want an online database to use from a desktop application, this could be suitable. It should work well with Adobe AIR once someone figures out an ActionScript library. That said, MySQL and the like work fine for most web applications, this blog being one example. SimpleDB meets different needs.

This is utility computing, and prices look relatively modest to me, though you pay for three separate things:

Machine Utilization - $0.14 per Amazon SimpleDB Machine Hour consumed.

Data Transfer - $0.10 per GB - all data transfer in. From $0.18 per GB - data transfer out.

Structured Data Storage - $1.50 per GB-month.

In other words, a processing time fee, a data transfer fee, and a data storage fee. That’s reasonable, since each of these incurs a cost. The great thing about Amazon’s services is that there are no minimum costs or standing fees. I get billed pennies for my own usage of Amazon S3, which is for online backup.

There are both REST and SOAP APIs and there are example libraries for Java, Perl, PHP, C#, VB.NET (what, no Javascript or Python?).

Not relational

Unlike MySQL, Oracle, DB2 or SQL Server, SimpleDB is not a relational database server. It is based on the concept of items and attributes. Two things distinguish it from most relational database managers:

1. Attributes can have more than one value.

2. Each item can have different attributes.

While this may sound disorganized, it actually maps well to the real world. One of the use cases Amazon seems to have in mind is stock for an online store. Maybe every item has a price and a quantity. Garments have a Size attribute, but CDs do not. The Category attribute could have multiple values, for example Clothing and Gifts.

You can do such things relationally, but it requires multiple tables. Some relational database managers do support multiple values for a field (FileMaker for example), but it is not SQL-friendly.

This kind of semi-structured database is user-friendly for developers. You don’t have to plan a schema in advance. Just start adding items.

A disadvantage is that it is inherently undisciplined. There is nothing to stop you having an attribute called Color, another called Hue, and another called Shade, but it will probably complicate your queries later if you do.

All SimpleDB attribute values are strings. That highlights another disadvantage of SimpleDB - no server-side validation. If a glitch in your system gives an item a Price of “Red”, SimpleDB will happily store the value.

Not transactional or consistent

SimpleDB has a feature called “Eventual Consistency”. It is described thus:

Amazon SimpleDB keeps multiple copies of each domain. When data is written or updated (using PutAttributes, DeleteAttributes, CreateDomain or DeleteDomain) and Success is returned, all copies of the data updated. However, it takes time for the update to propogate to all storage locations. The data will eventually be consistent, but an immediate read might not show the change.

Right, so if you have one item in stock you might sell it twice to two different customers (though the docs say consistency is usually achieved in seconds). There is also no concept of transactions as far as I can see. This is where you want a sequence of actions to succeed or fail as a block. Well, it is called SimpleDB.

This doesn’t make SimpleDB useless. It does limit the number of applications for which it is suitable. In most web applications, read operations are more common than write operations. SimpleDB is fine for reading. Just don’t expect your online bank to be adopting SimpleDB any time soon.

November 22nd, 2007

Long-term implications of the Kindle

Thought-provoking post by Danny Bradbury:

Is a butt-ugly $400 electronic prison for books going to get America reading again, or cause those kids to suddenly get interested in Thomas Pynchon? Survey says no. If publishers are driven by anything to look at new and innovative ways to deliver content, that problem will be what drives them. And if they do figure out a way to deliver content in different forms more suitable to the net generation, it’s unlikely to look anything like a book. Which is unfortunate, given that Amazon just invested in a device designed to mimic it as closely as possible.

Curious thing, the book. So easy to digitize; so hard to digitize well.

Technorati tags: , ,