Introduction

What is Scalr?

Scalr is a remote operations backend for Terraform. What does this mean in basic terms? It executes Terraform operations and stores state, regardless of the workflow, in Scalr itself allowing for easy collaboration across your organization. That means you can easily onboard an existing GitOps or native Terraform CLI based workflows into Scalr with little to no modification to your actual code.

Why use Scalr?

We agree that Terraform is a phenomenal open source tool, and the defacto standard for infrastructure as code, but it comes with challenges as your usage grows. These challenges don’t only apply to opensource Terraform, but also the solutions (Blob storage, CI/CD tools, OPA integrations, VCS actions, etc) that are bundled together to create an equivalent to Scalr. Scalr was created to alleviate these scaling issues and provide new concepts and features already built for you as you progress through the DevOps or GitOps journey.

Scalr was built to:

  • Store state and lock runs during execution to avoid configuration conflict and/or state corruption.

  • Integrate with VCS providers to automate your GitOps workflow.

  • Allow for run concurrency so multiple teams can provision at the same time without having to worry about a backlog.

  • Promote standardization through a module registry that can be used with a mono-repo or repo per module structure.

  • Promote secure and compliant deployments through an integration with Open Policy Agent. Also, ensure that the policy changes that are being pushed out do not break your environments through policy checks, which allow you to preview the impact analysis of OPA changes prior to merging them to production.

  • Store encrypted provider credentials that are automatically passed to your Terraform runs.

  • Create safe collaboration between development teams. The Scalr hierarchical structure allows you to create environments per team or logical workspace grouping, with custom RBAC roles preventing anyone from accessing a workspace they shouldn’t have access to.

  • Give users the flexibility to execute runs where they need to through self-hosted agents.

All of these concepts and more are documented in detail in the remainder of the docs and you will find the majority can also be managed through the Scalr Terraform provider.

How do I get started?

You can start to see the value of Scalr within a few minutes if you have existing Terraform code to use. Follow these simple steps to get up and running:

  1. Pick a workflow. If VCS, add the VCS provider. If CLI, get your API credentials.

  2. Add cloud credentials and link them to an environment: Provider Credentials

  3. Create a workspace based on your workflow and execute a run: Workspaces

Those three simple steps will get your workflow up and running quickly. Once you have a good understanding of workspaces, move on to some other areas like Open Policy Agent, Self-Hosted Agents, Shell variables, or the Module Registry.

You’re always welcome to open a Support Ticket NEWWIN if you have any questions or issues.