Quick Start
Get your first application running with sdlcs-aws-cdk-lib in under 5 minutes.
Create a New CDK App
mkdir my-cdk-app
cd my-cdk-app
npm init -y
npm install aws-cdk-lib constructs sdlcs-aws-cdk-lib
Project Setup
1. Create cdk.json
{
"app": "npx ts-node bin/app.ts",
"context": {
"stage": "dev"
}
}
2. Create bin/app.ts
#!/usr/bin/env node
import { App } from 'sdlcs-aws-cdk-lib';
import { MyStack } from '../lib/my-stack';
const app = new App();
new MyStack(app, 'MyStack');
3. Create lib/my-stack.ts
import { Stack, StackProps } from 'sdlcs-aws-cdk-lib';
import { Construct } from 'constructs';
import { Code, Runtime } from 'aws-cdk-lib/aws-lambda';
import { BlueGreenLambda } from 'sdlcs-aws-cdk-lib/lib/lambda/BlueGreenLambda';
export class MyStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
// Get current environment from context
const sdlc = this.node.tryGetContext('stage') || 'dev';
// Create Lambda with blue-green deployment
new BlueGreenLambda(this, 'MyLambda', {
functionName: `my-function-${sdlc}`,
handler: 'index.handler',
runtime: Runtime.NODEJS_20_X,
code: Code.fromInline(`
exports.handler = async (event) => {
return {
statusCode: 200,
body: JSON.stringify({ message: 'Hello from ${sdlc}!' })
};
};
`),
});
}
}
Deploy Your App
Development Environment
npx cdk deploy --context stage=dev
Staging Environment
npx cdk deploy --context stage=staging
Production Environment
npx cdk deploy --context stage=prod
What Just Happened?
- Environment Detection: The context strategy automatically detected your environment (dev/staging/prod)
- Deployment Strategy: Applied appropriate deployment strategy:
- dev: Instant deployment (ALL_AT_ONCE)
- staging: 5-minute canary (10% traffic shift)
- prod: 15-minute canary (10% traffic shift)
- CloudWatch Alarms: Automatically configured for automatic rollback on errors
- CodeDeploy: Set up for blue-green deployment management
Verify Deployment
# Get stack outputs
aws cloudformation describe-stacks \
--stack-name MyStack \
--query 'Stacks[0].Outputs'
# Invoke Lambda function
aws lambda invoke \
--function-name my-function-dev \
--output json \
response.json
cat response.json
Next Steps
Congratulations! You've deployed your first application with sdlcs-aws-cdk-lib.
Continue learning:
- 📘 Blue-Green Deployments - Deep dive into deployment patterns
- 🎯 Context Strategy - Master environment configuration
- 🔧 Lambda Patterns - Advanced Lambda patterns
- 📚 Examples - More complete examples
Troubleshooting
Deployment Fails
Check CloudFormation events:
aws cloudformation describe-stack-events \
--stack-name MyStack \
--max-items 10
Lambda Errors
View Lambda logs:
aws logs tail /aws/lambda/my-function-dev --follow
CodeDeploy Issues
Check deployment details:
aws deploy get-deployment \
--deployment-id <deployment-id>