TrademarkTrademark
Features
Documentation

New Feature: Deploy Terraform Modules From A Service Catalog

Learn about a new feature in Scalr that makes it easy to create a catalog of Terraform modules to deploy from.
Ryan FeeAugust 3, 2021
New Feature: Deploy Terraform Modules From A Service Catalog

Problem

Driving standards in Terraform codebases is hard. Existing work isn't always easy to find, and it's all too easy to Google and copy-paste a new module instead. Helping people who don't know Terraform well is harder still. Here are the problems we hear most often:

  • It's hard to standardize on approved modules if you have no control mechanism, no search, and no discoverability.
  • Not all users are familiar with Terraform and correct module usage.
  • Even if users are familiar with modules, it's not always necessary to copy and paste into their own code if they just need to deploy something quickly.
  • Why waste developer time creating code if there is already an organizational standard.

If you don't maintain the right standards early on as you adopt Terraform, it's easy to end up with an unmaintainable mess.

Don't underestimate how fast a mess gets messier.

Solution

The module registry has been a feature in Scalr for quite some time. We have now improved it with the ability to deploy workspaces directly from the catalog of modules. Workspaces sourced from the module registry make it very easy for your end users, whether they are Terraform experts or not, to deploy approved Terraform modules with just a few clicks. The general workflow is as follows:

  1. Admins create module namespaces at the account scope and choose whether each namespace is shared with the entire account or only a select set of environments.
  2. The end users create a workspace by selecting the module and version. The users will then be prompted to set variables if required and then can execute a run.

Workspace created from a Terraform module in the Scalr service catalog

All users benefit from the ability to deploy modules directly from the Scalr UI, which in turn helps DevOps leaders drive standardization.

How to Get Started

To try this feature out, you will first need to publish a module in the registry. Once the module is published, create a new workspace and select module as the source:

Selecting a module as the source when creating a new Scalr workspace

Log in to try it out for yourself and learn more in the docs or video which walks through the set up.

About the author
Ryan Feedirector of platform engineering at Scalr
Ryan Fee is the director of platform engineering at Scalr, with over 15 years of experience improving infrastructure experiences at companies large and small.