Skip to main content

Cloud Resume Challenge — Phase 1: AWS Accounts & Organization

·1 min read

by Frank Doka

Article

Cloud Resume Challenge — Phase 1: AWS Accounts & Organization

Before writing any application code, I stood up a proper AWS account structure — the kind you'd want in a real organization, not just a single root account with everything in it.

Cloud Resume Challenge architecture: S3 and CloudFront serve the static frontend, API Gateway and Lambda power the visitor counter, and DynamoDB stores the count.
The serverless architecture this series builds toward.

What I Set Up

  • Management Account — Central hub for billing, organization policies, and account governance.
  • AWS Organization via org-formation — Automated the multi-account structure, OU hierarchy, and SCPs. org-formation extends what Control Tower does, with more flexibility and version-controlled config.
  • Development Account — Isolated sandbox for testing changes before promoting to production. Clean separation from the start.
  • AWS SSO (IAM Identity Center) — Single set of credentials to access both accounts with role-based federation. No more juggling access keys per account.
  • Billing alerts — CloudWatch alarms on spend thresholds so nothing runs up costs silently.

Version Control

I set up CodeCommit and CodePipeline initially for the org-formation workflow, then moved to GitHub and GitHub Actions for the application code in later phases.

Why This Matters

Most tutorial projects skip account structure entirely. Starting with proper multi-account governance, SSO, and billing controls meant every subsequent phase deployed into a production-like environment — not a single flat account where dev and prod resources sit side by side.

More articles

Passing the AWS Solutions Architect Associate Exam

How I passed SAA-C03 — exam format, the study strategy that worked, and what I would do differently.

Read more

Cloud Resume Challenge — Phase 2: Building the Frontend

Static resume site on S3, served globally via CloudFront with HTTPS, custom domain on Route 53, and automated deploys with GitHub Actions.

Read more