Amazon today launched a new web service – EBS, the Elastic Block Store (yes I also first read it as ‘Elastic Book Store’) for EC2. EBS provides persistent storage for EC2 computing instances, and the service is public today and available to all customers after a period of alpha testing with some users.
Previously EC2 instances were able to access temporary storage as part of the compute instance, or persistent storage only on S3 – the Amazon online storage service. The difference between EBS and S3 is that EBS allows block-level access, so that it can be mounted just like any other local storage device from within EC2 and can be accessed across servers and between instances. S3 is accessed as a web service, so performance for latency sensitive applications was never optimal (such as running a database store). EBS provides a much higher level of performance comparable to high-grade local storage in terms of both access times and availability.
Persistant block-level storage for EC2 is perhaps long overdue, as one of the criticisms of EC2 when it first launched was the inability to run a fast data store across snapshots, which made running databases or other data-intensive applications slightly more complicated. Services such as RightScale have built products around helping developers scale and manage MySQL instances on EC2. Other cloud-based computing services such as Mosso or virtual servers from providers such as MediaTemple have had persistent storage options, although what Amazon have developed with the combination of EC2, S3 and now EBS is a tiered approach which provides more flexibility to developers.
Users of AWS can from today create up to 20 EBS storage points utilizing up to 20 terabytes of storage. Snapshots can be stored to and retrieved from S3. Pricing is based on both storage used (10 cents per GB) as well as raw IO requests (10 cents per million). Storing back to S3 is charged at the standard S3 rates.
EBS is certain to open up new territory in terms of the ease at which certain types of applications can now run on AWS. The most obvious is the ability to now run high-performance and high-availability database instances, which is an essential part of the standard LAMP or RubyOnRails stack that many web applications use.
Perhaps somebody will build a simple setup and installer for running Laconica instances on AWS, with auto-federation built in. EBS will certainly make such an application, and a lot more, much easier now.