← All services

Terraform consultant

Adopt Terraform & Infrastructure as Code

Get the AWS and Azure infrastructure you already run into Terraform or Bicep without rebuilding it, so every change is versioned, reviewed, and repeatable.

Shane Schlabach · AWS Solutions Architect – Professional · 12+ years in AWS & Azure · Remote across the US

Certified
AWS Certified Solutions Architect – ProfessionalAWS Certified Security – SpecialtyAWS Certified SysOps Administrator – AssociateAWS Certified Advanced Networking – SpecialtyMicrosoft Certified: Azure Administrator AssociateHashiCorp Certified: Terraform Associate

Overview

Most infrastructure doesn't start as code. It starts as a console click or a script run under pressure during an incident, and bringing it under management doesn't mean recreating it from scratch. I use Terraform's import blocks or Bicep's equivalent tooling to bring infrastructure that's already live under Infrastructure as Code (IaC) management, with no downtime or disruption.

Terraform and IaC services include

  • Importing existing resources: Bring console-built VPCs, VNets, IAM, databases, and compute under Terraform or Bicep, verified with a clean plan so nothing is recreated or changed unexpectedly.
  • Module and repository design: Structure code into reusable modules and clear per-environment configurations, so dev, staging, and production stay consistent without copy-and-paste.
  • State management: Set up remote state with locking and encryption in S3 or Azure Storage, split state sensibly by environment and blast radius, and refactor existing state safely when it has grown unwieldy.
  • Drift detection and cleanup: Find where live infrastructure no longer matches the code, reconcile the differences, and put checks in place so manual changes are caught early.
  • Reviewed, safe changes: Run plans through pull request review before anything is applied, with policy and security checks that catch risky changes before they reach production.
  • Upgrades and standards: Upgrade Terraform and provider versions, pin dependencies, and apply consistent naming, tagging, and documentation across the codebase.

I work in Terraform across AWS and Azure, and in Bicep for teams that prefer to stay native to Azure. If you already have a codebase that has become hard to change, I'll work with what's there rather than starting over.

What you're left with is infrastructure I can hand off with confidence: version-controlled, reviewable, repeatable, and independent of any one person remembering how something was originally set up.

Terraform consultant

Selected work

Examples from enterprise production environments I've led. Client names are kept private.

Import live AWS services into Terraform

Problem
Production AWS infrastructure had been built and modified by hand, making it hard to review, reproduce, or hand off.
What I did
Imported the live environment into Terraform, organized it into reusable modules, added Checkov security scanning, and rolled out AWS best-practice settings, including encryption, tighter access controls, and logging.
Result
Every infrastructure change and new service now goes through version-controlled code: reviewable, repeatable, and easy to hand off.
Have a similar problem? Let's talk →

Set up Jenkins pipelines with gated production deploys

Problem
Releases were manual, and no one could easily tell which version was running in each environment.
What I did
Set up Jenkins on AWS with pipelines that build on every push, store artifacts in Amazon S3, and deploy with AWS Systems Manager: straight to QA, with an approval gate before production.
Result
Standardized deployments across environments, a clear view of what runs where, and rollback by redeploying any previous build.
Have a similar problem? Let's talk →
Related post →

Deploy a SaaS platform on Azure with Bicep

Problem
A SaaS product needed its Azure services (App Service web apps, Function Apps, Azure SQL, Storage, and Key Vault) deployed consistently and securely.
What I did
Defined everything in Bicep, with managed identities for app access, RBAC role assignments alongside the resources, and secrets centralized in Key Vault.
Result
The proof of concept moved to production with VNet integration and private endpoints through reviewed template changes, not a manual rebuild, and every environment deploys the same way.
Have a similar problem? Let's talk →
Terraform consultant

How engagements work

Every engagement starts with a free, no-obligation conversation. Project work is $150/hour with scope agreed up front, or ongoing care as a monthly managed service.

  1. 1

    Discovery

    What you run today, where it hurts, and what “done” looks like.

  2. 2

    Plan

    A written roadmap: options, sequence, and what I would touch first.

  3. 3

    Build

    Infrastructure, automation, and security — as code, in your accounts.

  4. 4

    Support

    Monitor, patch, and keep changing it as the workload changes.

Terraform consultant

Common questions

Do we have to rebuild our infrastructure to use Terraform?

No. Existing resources are imported into Terraform or Bicep in place. The goal is a plan that shows no changes, which confirms the code matches what's already running before anything new is managed through it.

Terraform or Bicep?

Terraform if you run AWS, multiple clouds, or want one tool for everything. Bicep is a good fit for Azure-only teams that want to stay close to native Azure tooling. I'll recommend one based on your environment and team, not a preference.

Can you fix an existing Terraform codebase?

Yes. That includes refactoring into modules, splitting or moving state, resolving drift, and upgrading old Terraform and provider versions without disrupting what's deployed.

Who will I be working with?

Me, Shane Schlabach. The person on the first call is the person doing the work. There are no account managers and no handoffs to junior staff.

How much does it cost?

Project work is $150/hour, with scope and a plan agreed before work starts. Managed service starts at $2,000/month and is scoped after a review of your environment.

Do you work with companies outside Ohio?

Yes. I'm based in Cincinnati, Ohio and work remotely with teams across the United States.

Who owns the code and documentation?

You do. Everything is built in your own AWS or Azure accounts and source control, with handoff documentation so your team can run it without me.

How do we get started?

Use the form below to send a few sentences about where things stand. I reply within one business day, and the first conversation is free with no obligation.

Free first conversation

Let's chat

Whether you're planning something new or improving what you already have — cost, a migration, security, or Terraform — write a few sentences about where things stand. I work remotely with teams across the US and usually reply within one business day. No obligation — just a conversation about what you need.