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 analysts to query data, graph results, and share insights with others. The best thing about it is that it is completely free to self-host (minus your own infrastructure costs).

Why use Redash?

Redash is a powerful data visualization tool that excels in making data analysis accessible and efficient. With its intuitive query editor, users can easily connect to various data sources, including data warehouses, and build dashboards to visualize data and share insights across teams. The drag and drop interface simplifies the process of creating charts and dashboards, making it suitable for users with varying levels of technical expertise.

It also supports a wide range of data sources, enabling users to create dashboards that provide a comprehensive view of their data. The data explorer feature allows for in-depth analysis, helping teams make data-driven decisions. By leveraging these features, organizations can build dashboards to visualize data, enhance collaboration, and drive better business outcomes.

Why deploy self-hosted Redash?

Redash.io offers a super simple one-click start for managed 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 is a valuable endeavour.

How does self-hosting 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 our app. 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.

redash setup aws

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!