Back to Blog
·7 min read·VentureKit Team

From Free to Enterprise: How Environment Presets Let You Scale SaaS on AWS Without Refactoring

VentureKit's preset system lets you scale from local development to enterprise workloads by changing a single word. Learn how presets configure your entire AWS stack automatically.

scalingpresetsawsinfrastructure

The Scaling Problem

Most SaaS products go through predictable stages:

  • 1.Prototype — proving the idea works
  • 2.Early users — handling real traffic for the first time
  • 3.Growth — scaling to hundreds or thousands of users
  • 4.Production — high availability, compliance, performance SLAs
  • At each stage, your AWS infrastructure needs change dramatically. Lambda memory, database instance sizes, VPC configurations, timeout settings, rate limits, and data safety policies all need to evolve.

    Traditionally, this means manually updating CloudFormation templates, CDK constructs, or Terraform configs at each stage. It's error-prone, time-consuming, and often requires infrastructure expertise that early-stage teams don't have.

    Presets: One Word, Entire Stack

    VentureKit's preset system encapsulates all infrastructure decisions for each stage into a single configuration:

    typescript
    envs: {
      local: { preset: 'free' },
      dev: { preset: 'nano' },
      staging: { preset: 'micro' },
      prod: { preset: 'medium' },
    }

    Each preset configures your entire stack:

    free — Explore ($0)

  • Local development server with Docker Compose
  • Postgres, Redis, MinIO running locally
  • Hot reload, all packages available
  • No AWS account needed
  • nano — Prototype (~$5–15/mo AWS)

  • 128 MB Lambda functions
  • 10 second timeouts
  • 10 req/s rate limit
  • No VPC (minimal cost)
  • Relaxed data safety (no encryption at rest)
  • micro — Development (~$30–80/mo AWS)

  • 256 MB Lambda functions
  • 10 second timeouts
  • 50 req/s rate limit
  • VPC enabled (network isolation)
  • Standard data safety (encryption at rest, automated backups)
  • medium — Production (~$100–300/mo AWS)

  • 512 MB Lambda functions
  • 15 second timeouts
  • 100 req/s rate limit
  • VPC enabled with multi-AZ
  • Strict data safety (encryption, PITR, enhanced monitoring)
  • large — High-Performance (~$500+/mo AWS)

  • 1024 MB Lambda functions
  • 30 second timeouts
  • 500 req/s rate limit
  • VPC with multi-AZ and NAT Gateway
  • Strict data safety with compliance features
  • How Presets Work

    When you run vk deploy, VentureKit's resolver:

  • 1.Reads your active preset for the target environment
  • 2.Applies preset defaults to every infrastructure intent
  • 3.Deep-merges any per-environment overrides you've specified
  • 4.Generates CDK constructs with the resolved configuration
  • The key insight is that presets aren't just Lambda configuration — they cascade through your entire stack. A medium preset doesn't just give you bigger Lambdas. It also:

  • Upgrades your RDS instance to a production-grade class
  • Enables multi-AZ for database high availability
  • Turns on Point-in-Time Recovery for backups
  • Configures enhanced monitoring and CloudWatch alarms
  • Sets up VPC flow logs for security auditing
  • Enables encryption at rest for all data stores
  • Override Anything

    Presets are sensible defaults, not constraints. Override any setting by adding the relevant section directly alongside the preset in your environment config:

    typescript
    envs: {
      prod: {
        preset: 'medium',
        lambda: { memoryMb: 1024, timeoutSec: 20 },
        api: { throttleRateLimit: 200 },
      },
    }

    Overrides are flat — you specify the category (lambda, api, vpc, observability) at the same level as preset. VentureKit deep-merges your values with the preset defaults, so you only need to specify what's different. Every other setting keeps its preset value.

    This gives you the medium preset's database, VPC, and security settings, but with custom Lambda memory and rate limits.

    Cost Transparency

    All costs shown in VentureKit's documentation are estimated AWS infrastructure costs, not VentureKit pricing. VentureKit itself is open source under Apache 2.0.

    The estimates help you plan: start with free to explore the framework, deploy with nano when you're ready to go live, and scale to medium or large as your user base grows. Your code stays exactly the same — only the preset changes.

    Getting Started

    Try the free preset right now:

    bash
    npx @venturekit/cli init my-saas
    cd my-saas
    vk dev

    You'll have a full local development environment in under 2 minutes, with Postgres, Redis, and S3-compatible storage — all running on your machine with hot reload.