やっと出た。Simple Storage Service略してS3。Mechanical Turkが野心的ならS3は当然の成り行きといえるプロダクト/サービスだろう。Readonlyのデータならチープなハードウェアでいくらでもリクエストに応えられるようになった今、次に必要なのはExtremely Writableなサービスでどうやってスケールさせるかという話だ。
「通常24時間以内」の「通常」がAmazonのスケーラビリティを支えているのは今でも事実だろう。殺到する注文に対して在庫情報の更新が追いつかなければ、買ったときは24時間で買った後に1-2週間に変更されるようなことは当たり前におきる。かといって完全な在庫情報を提供するためにはロックが必要になるため、スケールしない。書き込みに時間がかかると、他の書き込みリクエストにも影響が出るため、スケールのためにはパーティショニングが必要になることがあるが、パーティショニングすると読み取りが面倒になる。この古くて新しい問題を、Amazonは自製したソフトウェアで解決している。Amazon S3は基本的にAmazonがそのECサイトを運用するために利用しているストレージサービスをWebサービス化したものだ。
S3はReST as it meant to beに近いAPIを提供している点にも注目。PUT、DELETE、HEADをAPIとして定義している。ReST原理主義者にも、少なくともこれまでのAWSやその他のエセREST APIに比べれば、満足してもらえる内容になっているはずだ。BitTorrentにも対応しているし。
って俺エバンジェリスト辞めたんだった。w
S3という名前もMechanical Turkと同様にいろいろ議論があった。例えば、Complex Storageなんて存在しないのに、Simple Storageって何?みたいな。でもAmazon Storage Serviceだと略して・・・になっちゃうからヤダ、って意見に一同納得、みたいなこともあったりして。Congrats, AWS!

> 完全な在庫情報を提供するためにはロックが必要になるため、スケールしない。
な、なるほど(目からウロコ)