Another day, another feature added to Amazon Web Services (AWS). This time around, it's a managed search service called CloudSearch that delivers search results in JSON or XML. According to Amazon, the service will cost less than $100 a month for the lowest tier of usage. Oddly enough, Amazon has beaten Google to the punch.

Search can be a problem for a lot of applications. Amazon's hoping it can simplify life for developers by offering a streamlined search service that's based on its A9 technologies, not to mention earning a few more bucks off of AWS customers in the process.

Amazon's CTO, Werner Vogels, says that CloudSearch scales up and out gracefully to handle an increasing load. "Amazon CloudSearch supports both horizontal and vertical scaling. The main search index is kept in memory to ensure that requests can be served at very high rates. As developers add data, CloudSearch increases either the size of your underlying node or it increases the number of nodes in the cluster. To handle growing request rates, the service autoscales the number of instances handling queries."

Pricing

Like Amazon's EC2 instances, the CloudSearch instances are offered by resource sizes. Right now, Amazon only offers a small, large and extra large instance. The small instance is suggested for up to one million documents, large is rated for about four million documents, and extra large is supposed to handle eight million documents.

The pricing for Amazon's CloudSearch is a little complex. The final price per month depends on four factors:

  • Search instances: Instances start at $0.12 per hour for a Small Search Instance.
  • Batch uploads: Customers are charged by upload requests, at $0.10 per 1,000 requests. There's a 5MB limit on the batch size.
  • Indexing: Each time the search index needs to be rebuilt, there's a cost of $0.98 per GB.
  • Data transfer: Transferring data in is free. Out, on the other hand, costs you - $0.12 per GB for the first 10TB to as little as $0.070/GB after 50TB per month. Plus, if you're using this much data, there's probably a little plaque above a router somewhere with your name on it.

What's missing, so far, is any pricing for Reserved Instances. If you're building out an application that depends heavily on search, and you're buying EC2 Reserved Instances, it would stand to reason that you'd want to do the same with CloudSearch instances.

According to the AWS blog post about CloudSearch, it's already being used by ex.fm, NewsRight and SmugMug, among others.

Looking at the steps required to set up a search domain and get started, Amazon has simplified search significantly. However, it still requires some content wrangling and tweaking to get the kind of results most developers will want.

Why CloudSearch Matters

CloudSearch is yet another offering on top of Amazon's formidable set of cloud services. It gives the company a leg up over a lot of other cloud services by providing a drop-in service for search.

It also demonstrates just how much muscle Amazon is putting behind its cloud options. The fact that Amazon has delivered a search offering well before Google (you know, the company that's supposed to be pretty authoritative in this area) shows that it's moving ahead full steam.

Google has been talking about full text search since 2010, and it's on the Google App Engine roadmap. But, as of yet, it hasn't even made it to the experimental feature stage.

Is search a roadblock for your cloud-based apps? Will CloudSearch be a killer feature for Amazon or just a nice-to-have?