# No-Code Infrastructure Platform

> Self-service Aurora provisioning through Backstage — production-ready clusters without writing Terraform, roughly 80–95% faster than ticket-based workflows.

---

LLMS index: [llms.txt](/llms.txt)

---

The bottleneck in database infrastructure was never the databases — it was the
queue in front of them. This platform removed the queue: product teams
provision production-ready Aurora clusters through a web form, no Terraform
required.

## Challenge

Infrastructure as code made provisioning repeatable, but it traded one
bottleneck for another:

- **Terraform expertise required.** Not every team has it, and shouldn't need it to get a database.
- **Lead times.** A routine cluster request waited on the platform team's queue.
- **Inconsistent patterns.** Left to hand-write HCL, teams produced infrastructure that drifted in quality and shape.
- **The platform team as critical path.** Every database request flowed through a small group — that doesn't scale.

The goal: democratize provisioning without democratizing misconfiguration.

## Approach

Three layers, each doing one job:

**Opinionated wrapper modules.** Engine-specific Terraform modules that
require only application name, environment, and size. Everything else is a
curated default: current stable engine version, 30-day backup retention,
encryption on, Performance Insights on, deletion protection on in prod,
monitoring and secrets wired in. Engine versions restricted to supported
releases; instance sizes limited to approved tiers.

**Backstage templates.** The user-facing form. A template collects the three
or four real decisions, validates the rest, and generates a repository with
Terraform configuration and a ready-to-run pipeline. No HCL visible anywhere.

**Integrated operations.** Vault for credentials, monitoring dashboards and
alarms provisioned with the cluster — out of the box, not as a follow-up
ticket.

Two practices made it stick:

- **Customer zero.** Every module change is validated by provisioning through
  the real template flow before release — the platform team uses its own
  platform first.
- **One-to-many publishing.** The module release pipeline maps one upstream
  module to engine-specific wrappers, with regression testing at every tier.

## Result

Product teams provision production-ready Aurora MySQL and PostgreSQL clusters
in minutes instead of days — roughly 80–95% faster than the ticket-based
workflow, an estimated 3,000+ engineering hours a year given back. Every
cluster follows the same hardened pattern, so review, cost analysis, and
security scanning all get consistency for free.

The real trade-off: the platform is now a product with users. Defaults,
upgrade guides, and documentation are ongoing obligations — but that scales
infinite times better than being the provisioning bottleneck.
