What is Redash?

Redash is an open-source data visualization tool used by companies as diverse as Soundcloud, Mozilla, and Waze. It allows developers and analyts to query data, graph results, and share insights with others. The best thing about Redash is that it is completely free to self-host (minus your own infrastructure costs).

Why deploy self-hosted Redash?

Redash.io offers a super simple one-click start for hmanaged Redash instances. These are great for companies that want data insights fast but for companies with smaller budgets or developers who want extra control over data and security self-hosting Redash is a valuable endeavour.

How does Redash work?

Redash is not a trivial application (hence the hosted solutions). It has several databases, worker threads, and a web interface. Setting all that up could be difficult. Fortunately, Redash.io provides a set of prebuilt and self-contained images for a number of platforms including AWS.

Redash on AWS

The recommended way to deploy Redash on an AWS account is to use a region-appropriate AMI image (listed here) and an EC2 instance. This can be done manually using the AWS console but a more maintainable approach would be to use Terraform.

What is Terraform?

Terraform is a declarative infrastructure system that lets you define your cloud stacks in a text-based versionable way. If you haven't used it before take a look at the [getting started guide] first.

Deploying with Terraform

Spinning up an EC2 machine with a Redash AMI is really straight forward withe Terraform. Assuming you have already set up a Terraform project with an AWS resource we can use Terraform to define an EC2 instance and security group required for redash. Here is what that looks like:

Notice the AMI used is specific for my region: us-west-2. Alter the AMI to suit your region requirements.

Applying Terraform changes

To apply your Terraform file run

The output should indicate the creation of a new EC2 instance using the Redash AMI.

Connecting to your Redash instance

Once the EC2 machine has started you can connect to the public DNS address listed in the AWS EC2 console. If everything worked you should now be greeted with a setup screen. Create your admin account to continue.

Voila

You are now ready to connect datasources and begin visualizing your data. See the Redash open source setup for more configuration options.

Why though?

MailSlurp uses Redash as an alternative to Grafana to graph user metrics and prioritise product features. MailSlurp is a free email testing API that lets you create real email addresses on demand. You can send and receive email via HTTP, SDK, or a hosted web dashboard. Check it out!