ObjectRocket is a Database-as-a-Service company that was recently acquired by Rackspace. According to its website, “[ObjectRocket was founded] to tackle a serious deficiency in cloud infrastructure – the database.” ObjectRocket uses MongoDB as its core data store; this is apparently to aid developers.

In this post, I’ll show you how to go through the initial account setup and how to get started with a small implementation of ObjectRocket.

Create an account

First, you need to create an account. You can check out ObjectRocket for free for 30 days, but they want your credit card information anyway, so you need to enter that next. Now you’re ready to create your first instance.

Create an instance

An instance is a MongoDB cluster. In order to create the instance, click the Instances page and then click the Add Instance button (Figure A). This takes you to the Create Instance options (Figure B). You can choose a name for your instance and then select your plan. The plans range from Standard 1.0 GB for $29/mo to Standard 5.0 GB $149/mo, and you can choose which geographic region you’d like it in: Chicago, US-East, or US-West. After you make your selection, click Submit. You can add space to your databases by clicking the Add Shard button on the Dashboard page. If you’re not familiar with shards, please check out this Wikipedia page.
Figure A

Click the image to enlarge.

Figure B

Create a database

To create a database, you should be able to click the Instances tab and then drill into your instance and click the Add Database button. I had a little trouble getting to it without getting an error, so I clicked the Add Shard button from the Dashboard page. This will let you click Databases and then click the Add Database button. You only need to specify a database name and then a username and a password to create the database. See Figure C for an example.
Figure C

Click the image to enlarge.

Create an ACL

Access Control Lists (ACLs) are very common in the security world. These lists allow you to specify who can have access to your ObjectRocket instance.

To add an ACL, click the ACL tab (Figure C) and then click Add ACL. By default, no one is allowed access, but you can specify a range of IP addresses or just say “any” to allow anyone access. As the website says, you can always limit access via usernames and passwords.

Use your database

Those are the basic things you need to configure to get up and running. However, as you can see from Figure C, there are other options we can configure and/or monitor depending on the plan purchased.

If you click the Connections tab, it will show you the current active connections. If you have one of the upgraded plans, you can click the Backups tab and take snapshots of your instances. As an extra security precaution, you can click the QueryGuard tab. According to the site, “QueryGuard automatically protects your database from long-running queries.” This is already running for you with no configuration necessary. If you need to add exceptions to this, there is an Add Whitelist Expression button. There is a Logs tab (Figure D) that allows you to see what’s going on with your instances. There is a Settings tab (Figure E) that lets you configure your auto add shard threshold, query timeouts, and profiling level.
Figure D

Click the image to enlarge.

Figure E

Click the image to enlarge.

Once you have everything configured, you can start using the Database-as-a-Service. You can connect to the MongoDB database using either the native MongoDB drivers or the ObjectRocket API.


ObjectRocket is definitely on to something here. Overall, they have an easy to use site that allows you to get instances running quickly. (I had a few problems with the website, but that could be a fluke.)

For more information check out the ObjectRocket’s blogs. With a company like Rackspace behind them, I think it’s a company to keep watching.

Update: ObjectRocket got back to me almost immediately with the problems I was having. Apparently it was due to a bug that affected instances with a space in the name. The fix is being pushed out immediately, and the workaround is to take away spaces in your instance names. Very impressive turnaround!