Joel Lawler

How This Is Built

This site is built and operated with the AWS Well-Architected Framework in mind. The six pillars guide how we use GitOps, Terraform, and AWS to deliver a secure, reliable, and efficient stack.

Operational Excellence
Pillar 1

Operations as code: Infrastructure is defined in Terraform; deployments run via GitHub Actions. GitOps keeps the repo the single source of truth—every change is versioned, reviewable, and reversible.

We make frequent, small, reversible changes (build → sync to S3 → CloudFront invalidation). Procedures are refined in the pipeline; failures are visible in CI and we learn from them.

Security
Pillar 2

Identity: GitHub Actions assumes an AWS role via OIDC—no long-lived access keys. Terraform state and secrets stay out of the repo; AWS IAM and least privilege apply.

Traceability: Deployments are auditable (Git history, Actions logs). Security is applied at all layers (HTTPS, S3/CloudFront policies) and automated via Terraform and the pipeline.

Reliability
Pillar 3

Recovery: S3 and CloudFront are highly available and durable; content is static so there are no runtime single points of failure. Recovery is tested every time we run the deploy workflow.

Capacity and change: We scale with demand (CloudFront, S3). Capacity is not guessed—we use managed services. All changes are managed in automation (Terraform + GitOps).

Performance Efficiency
Pillar 4

Data-driven: Cache headers are set in the deploy (long-lived for assets, revalidate for HTML). We use AWS and CDN capabilities rather than reinventing them.

Serverless: S3 and CloudFront remove the need to manage servers. We experiment with the right storage and CDN settings and tune for fast, consistent delivery.

Cost Optimization
Pillar 5

Consumption model: We pay for what we use—S3 storage and requests, CloudFront transfer and requests. No idle compute.

Efficiency: Spend is measurable in AWS Cost Explorer. We avoid undifferentiated heavy lifting by using managed S3 and CloudFront; Terraform keeps resource choices explicit and reviewable.

Sustainability
Pillar 6

Utilization and impact: A static site on S3 + CloudFront uses shared, highly utilized infrastructure. We choose regions and services with sustainability in mind.

Managed services: AWS manages hardware efficiency and power; we use their services and reduce the downstream impact of our workload through caching and minimal, efficient delivery.

Design principles

YAGNI (You Aren't Gonna Need It) and Occam's Razor are the principal concepts behind this design. We build only what is needed now—no speculative features or extra abstraction—and prefer the simplest explanation and solution that fits the requirements. That applies to the stack (static site, S3, CloudFront), the pipeline (GitOps, Terraform, AWS), and the codebase itself.

Reference: The 6 Pillars of the AWS Well-Architected Framework (AWS Partner Network Blog).