Monday, June 2, 2025

Amazon Aurora Serverless: An Overview, & Use cases

 

Amazon Aurora Serverless: An Overview

Amazon Aurora Serverless is an on-demand, auto-scaling configuration for Amazon Aurora (compatible with MySQL and PostgreSQL). It automatically starts up, shuts down, and scales the database capacity based on your application's needs — with no manual provisioning of database instances.

 Aurora Serverless Versions

Version

Status

Notes

Aurora Serverless v1

Older, limited features

Good for infrequent/variable workloads

Aurora Serverless v2

Current & Recommended

Scales in milliseconds, supports Multi-AZ, Global DB, read replicas, and custom endpoints


Use Aurora Serverless v2 for production-ready applications.

 Key Features of Aurora Serverless v2

·        Granular Auto-Scaling: Instantly scales up/down in fine-grained increments (0.5 Aurora Capacity Units - ACUs).

·        Always On: Unlike v1, v2 doesn’t pause during inactivity.

·        High Availability (HA): Supports Multi-AZ deployments.

·        Global Databases: Aurora Serverless v2 supports global databases for low-latency cross-region reads and disaster recovery.

·        Custom Endpoints: Can use custom endpoints in Serverless v2 clusters.

·        Read Replicas: Supports Aurora read replicas (great for read-heavy apps).

 Use Cases

·        Variable or unpredictable workloads

·        Development, testing, QA environments

·        SaaS applications with multi-tenant architectures

·        Event-driven or infrequent workloads (e.g., report generation)

 Aurora Serverless vs Provisioned

Feature

Aurora Provisioned

Aurora Serverless v2

Instance management

Manual

Automatic

Scaling

Manual or auto (via replicas)

Automatic and fine-grained

Cost model

Per hour (per instance)

Per second (based on ACUs)

Cold start latency

None

Minimal in v2

Availability features

Full support

Full support in v2

  Pricing

·        Billed per second based on the Aurora Capacity Units (ACUs) consumed.

·        Separate charges for I/O operations, storage, backup, and data transfer.

 ACU = Combination of CPU + memory + networking managed by AWS.

 Creating Aurora Serverless v2 (Console or CLI)

AWS CLI Example:

# bash
aws rds create-db-cluster \
  --engine aurora-mysql \
  --engine-mode provisioned \
  --scaling-configuration MinCapacity=2,MaxCapacity=16 \
  --db-cluster-identifier twtech-aurora-serverless-v2 \
  --vpc-security-group-ids sg-12345678xxx \
  --db-subnet-group-name twtech-subnet-group

Note: In v2,  twtech uses engine-mode = provisioned with scaling config to enable Serverless v2 (confusing, but that’s how AWS implemented it).

 Limitations

·        Aurora Serverless v1 has high latency in scaling and lacks full feature parity.

·        Aurora Serverless v2:

o   Only available in specific regions.

o   Minimum 0.5 ACUs, no “pause” feature like v1.

o   Some features (e.g., global write forwarding) are still evolving.


No comments:

Post a Comment

Kubernetes Clusters | Upstream Vs Downstream.

  The terms "upstream" and "downstream" in the context of Kubernetes clusters often refer to the direction of code fl...