A real world startup stack

Dog Days of DevOps 2022

Ian Littman / @iansltx

Slides at ian.im/ssdd22

What's a Covie?

Plaid...the bank login thing in VEnmo...for insurance

First commit: 2020-07-16

Goal: Current but Kinda boring

Backend

  • Infrastructure
    • AWS (us-east-2, us-west-2)
    • ECS on Fargate + ECR
    • A dash of Lambda
    • RDS Aurora, logical replication
    • S3
    • Secrets Manager
  • Code
    • 82k+ LOC PHP (8.1; 65k code, 17k tests)
    • ~500 LOC JS
    • ~650 LOC Golang

Frontend

  • All NextJS (React), JS for now (TypeScript later)
    • Embed (13k LOC)
    • Dashboard (13k LOC)
    • Brochureware site (6k LOC)
  • Hosting
    • Embed: Static build into nginx hosted on ECS behind CloudFront
    • Other two projects: Vercel (embed will be migrated soon)
  • Testing (embed only for now)
    • Jest for component tests, plus API payload generation
    • Cypress for E2E

Repos (on GitHub)

  • Embed + backend in one repo (7300 commits on main branch)
  • Dashboard (1460 commits)
  • Brochureware site (353 commits)
  • (minimal) PHP SDK
  • OAS Docs (Stoplight)

Source Control + Automation

  • GitHub + GitHub Actions
  • Automated
    • Unit + integration tests
    • Release tagging (GitHub + Jira)
    • Image build + push to ECR (auth via OIDC, plus some cache-y bits)
    • Deploy to Vercel
  • Manual
    • ECS service updates
    • Database migrations

Thanks!

Questions? Find me here, or on Twitter at @iansltx

Slides: ian.im/ssdd22

A Real-World Startup Stack - Dog Days 2022

By Ian Littman

A Real-World Startup Stack - Dog Days 2022

  • 600