Local development and staging with Amazon Redshift

freyley picture freyley · Jan 24, 2015 · Viewed 14k times · Source

I like to set up tools and services with production, staging, and local development. I'd like to use Amazon Redshift, and starting at $180 a month seems pretty reasonable for a columnar store database, but do I actually have to think about it as $180 x # of environments / month? Is there any way to have a free staging and local environment for Redshift?

It's also nice to be able to do development against a local instance rather than relying on the network. I assume that's not possible with Redshift.

What do you do to make local development easier, faster and cheaper when working with Redshift?

Answer

Chris Riddell picture Chris Riddell · Feb 3, 2015

In addition to John Rotenstiens which lays out how to reduce costs if you have decided to run a second cluster for staging, there are some other options, for when your use case is non mission critical.

As Redshift is a fork of postgres 8, you can use the Amazon-provided postgresql 8.4 JDBC or ODBC drivers, and point them to a locally running postgres 8 instance. This works well during development, since what works here will usually work on your production system (there are some exceptions).

The other option is to have a separate table on your Redshift cluster to run non-production activities. This might good for you test suite and "final testing" development.

Then you can stage your deploy into production and monitor the staging environment for issues before the full deploy.