4 Comments

Summary:

Somewhat lost in the greater story of Amazon Web Services’ new DynamoDB NoSQL database is that the new service runs atop a solid-state storage system. By abstracting those SSDs behind a NoSQL service, AWS is trying to prove that hardware presents greater opportunities than Infrastructure-as-a-Service alone.

layer cake

Somewhat lost in the greater story of Amazon Web Services’ new DynamoDB NoSQL database is that the new service runs atop a solid-state storage system. However, by abstracting those SSDs underneath a higher-level application service, AWS has once again demonstrated its cloud wisdom by illustrating how new hardware presents greater opportunities than Infrastructure-as-a-Service alone.

AWS doing solid-state drives is a big deal in the world of cloud computing, where users have been wondering for years when the company might start offering SSDs as a service. Other cloud providers already offer bare SSDs as a service, and more certainly are thinking about it with the advent of companies such as SolidFire that are specifically targeting cloud providers with solid-state arrays. The idea is that they’ll be necessary to run I/O-intensive applications such as databases and ERP, which many large organizations consider mission-critical but which many cloud providers aren’t yet equipped to handle.

In that sense, DynamoDB is something of a curveball. It lets AWS users leverage the performance of SSDs, only as the underpinning of a new service rather than as a new IaaS feature alone. But that’s also what makes Amazon’s decision so wise. By launching a new service that lets developers experience SSDs in a fully managed service so they don’t have to jump through the hoops of building, deploying and managing an SSD-based cloud application, AWS distinguishes itself from the pack, especially among the web developers that are its bread-and-butter use base.

Web developers use NoSQL databases more frequently than enterprise developers, and NoSQL requires solid-state performance. As several MongoDB users explained at last month’s MongoSV conference, using AWS’s cloud means trading hard-disk performance in exchange for convenience and scalability. That trade-off, however, means data must be stored in-memory rather than on disk, which means higher operational costs. At $1 per gigabyte per month, DynamoDB provides SSD performance at a price point far lower than relying on the native memory of EC2 instances (at least in terms of capacity costs).

It’s services, rather than just Infrastructure-as-a-Service, that most live up to the promise of cloud computing. Going forward, one can envision AWS using SSDs as the basis of numerous other services, including its rumored analytics service and maybe even for a speedier version of its Relational Database Service. Look at Elastic MapReduce. Anyone could use Amazon EC2 instances to build a virtual Hadoop cluster, but Elastic MapReduce eliminates the hassle of even managing that virtual cluster.

It seems likely AWS will eventually offer access to bare SSDs as a service for developers who still prefer to build applications using non-Amazon pieces and who will probably always represent the majority of developers. But that’s a relatively low-margin business for AWS, and a relatively low-value proposition for users. Web developers, enterprises, third-party cloud database providers, data scientists, whomever, will always need access to cloud-based incarnations of the latest-and-greatest hardware, but cloud providers that really want to stand out will always have to look higher.

Image courtesy of Flickr user shimelle.

You’re subscribed! If you like, you can update your settings

  1. Waiting for SSD EBS.

  2. Derrick,

    I think the emphasis on SSD is wrong this time. Developers and Amazon do not care about SSD per se (Amazon could care from an economical pov but that’s a different story). I wrote more reasons why I think this is incorrect here: http://nosql.mypopescu.com/post/16076337921/amazons-dynamodb-shows-hardware-as-means-to-an-end

    1. Alex,

      I see your point, but does it make a difference when we’re talking about running those DBs in the cloud? Amazon isn’t emphasizing SSDs, but I think their use acknowledges their necessity here because the alternatives are memory or unreliable disk performance.

      1. Derrick,

        I do think it makes a difference.

        Disk performance is not unreliable. I assume that when saying this you are thinking about the unpredictable performance EBS is delivering, but that’s a different solution. I gave you an example of how others are achieving predictable performance with spinning disks (single disk seek per read will give you very reliable and predictable results). And they are not the only ones doing it.

        SSDs are needed for DynamoDB (and I’ve covered the reasons in my post), but NoSQL does NOT require solid-state performance.

Comments have been disabled for this post