Published in


Introducing TerraHub.io — DevOps Hub for Terraform

Over the last couple of months we have been working with several customers to reduce the development burden of terraform configuration and simplify the operational complexity of terraform automated workflows. Advanced guide Running Terraform in Automation inspired us to be creative and follow a path of innovation. Today we are proud to announce the open source of TerraHub CLI and launch of TerraHub.io — DevOps Hub for Terraform.

What is TerraHub?

TerraHub is a terraform centric devops tool that simplifies provisioning and management at scale of cloud resources and cloud services across multiple cloud accounts. For example: Serverless on Amazon AWS, or Kubernetes on Google Cloud, or VMs on Microsoft Azure.

This tool empowers customers to:

  1. Manage AWS, Google Cloud, Microsoft Azure and others in one place
  2. Manage VM-based, Containers, Serverless and others using one workflow
  3. Manage ALL cloud resources securely in customer’s private networks
  4. Manage ALL terraform executions in one system using one CI & CD process

How Does It Work?

Let’s assume we already have some terraform configurations and we’d like to use TerraHub.io as a management and automation layer. Here below are the steps that we’ll have to follow:

Step 1: Create Project

TerraHub is based on projects, which are uniquely identifiable entities that manage under the same umbrella related cloud accounts, regions, services and resources. Below snippet of code shows how to create a project for existing terraform configuration:

terrahub project

Step 2: Create Components

Next, emphasize which folders in current structure will be executed via terraform commands. TerraHub maps those folders as components (see below):

terrahub component

Step 3: Run Automation

Once all components are mapped, TerraHub can execute corresponding terraform commands in distributed mode. For example, terrahub init will execute multiple terraform init in paralel, depends on how many components are defined and how much CPU and RAM is available. But the most important feature is automated workflow, inspired from advanced guide Running Terraform in Automation, which executes init > workspace > plan > apply in automated mode and triggers, if defined, before or after hooks used for automated testing:

terrahub run

Step 4: View Results

One way to view terraform results is using terraform output, but it doesn’t show the whole context. TerraHub implemented terrahub list, which uses native capabilities of cloud providers to list resources across projects, cloud accounts, cloud regions and cloud services:

terrahub list

Bonus: User Interface

The most important innovation is a nice shiny UI that TerraHub provides to registered users. We’re open source friendly, allowing unlimited access to public repositories, but limited only to one cloud account. Customers can upgrade to paid version in order to use private repositories or multiple cloud accounts, as well as deploy TerraHub in their cloud accounts through an Enterprise License.

Dashboard UI

What Is TerraHub Made Of?

TerraHub consists of 3 major systems:

terrahub --help

TerraHub CLI is the open source system that distributes automated execution of terraform configurations, enables automated testing of terraform commands results, creates faster and easier new terraform configurations, as well as visualizes cloud resources under management. It can be used either as a stand alone devops tool or as an integrated tool chain with TerraHub API.

TerraHub API is the backend system that collects data from TerraHub CLI and manages TerraHub Console. This system empowers developers and businesses to centralize their data generated by their terraform configurations that span across cloud providers, cloud accounts, cloud regions and cloud services. It shifts the focus from reactive processes to predictive behavior, making cloud resources management easier, more reliable and better in terms of security.

TerraHub Console is the frontend system that visualizes data collected and stored by TerraHub API. This system empowers developers and businesses view in realtime what is happening to their cloud resources management, as well as audit and see reports of what happened to particular aspects of their cloud accounts over a period of time.

Realtime UI

Final Thoughts

TerraHub.io is DevOps Hub for Terraform. We provide managed services that simplify cloud resources management using terraform. If this is of your interest and you’d like to learn more, please feel free to reach out over Email, Twitter or LinkedIn. We’d be happy to help!

TerraHub is a terraform centric devops tool that simplifies provisioning and management at scale of cloud resources and cloud services across multiple cloud accounts

Recommended from Medium

Recovering Credentials from a Docker Container Process using Docker Checkpoint and GDB

Mutex Implementation In Go

Why you shouldn’t become a programmer

iXperiential Tech blog: GPUs and the NVIDIA RTX 3000 Series

On how I learned the skills to build my first working chatbot

Busting five of the most popular software development myths

Testing Data-driven Microservices

Tutorial: Detection of High-Usage BigQuery Jobs on Google Cloud Platform (GCP)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


Proud Father. Lucky Husband. Open Source Contributor. DevOps | Automation | Serverless @MitocGroup. Former @AWScloud and @HearstCorp.

More from Medium

How to Create a Two-Tier Architecture Using Terraform Modules and Deploy it via Terraform Cloud…

CI/CD defined through terraform using AWS CodePipeline, AWS CodeCommit, and AWS CodeBuild

Creating a VPC using a terraform in IBM Cloud

gcloud auth login using CLI