Skip to content

Latest commit

 

History

History
189 lines (160 loc) · 4.48 KB

File metadata and controls

189 lines (160 loc) · 4.48 KB

Production Deployment Checklist

Complete checklist before deploying to production.

Pre-Deployment

Code Quality

  • All tests passing (npm test)
  • Test coverage >80%
  • No linting errors (npm run lint)
  • Code reviewed and approved
  • Dependencies updated
  • Security audit passed (npm audit)

Configuration

  • Environment variables set
  • Secrets rotated from defaults
  • JWT_SECRET is strong (32+ chars)
  • API keys configured
  • Database URL correct
  • Redis URL correct
  • Elasticsearch URL correct
  • S3 bucket names correct
  • CDN domain configured

Infrastructure

  • VPC created
  • Subnets configured (public/private)
  • Security groups configured
  • RDS instance provisioned
  • ElastiCache cluster provisioned
  • Elasticsearch cluster provisioned
  • S3 buckets created
  • CloudFront distribution created
  • Load balancer configured
  • SSL certificates installed
  • DNS records configured

Database

  • Migrations tested in staging
  • Indexes created
  • Backup strategy configured
  • Read replicas configured (optional)
  • Connection pooling configured
  • SSL enabled

Security

  • HTTPS enforced
  • CORS configured
  • Rate limiting enabled
  • WAF rules configured
  • Security headers set
  • Content Security Policy configured
  • API authentication working
  • Secrets in Secrets Manager
  • IAM roles follow least privilege
  • Database not publicly accessible
  • Security groups properly configured

Monitoring

  • CloudWatch logs configured
  • CloudWatch metrics configured
  • Alarms created
  • Sentry configured
  • Health check endpoints working
  • Error tracking enabled
  • Performance monitoring enabled

Deployment

Build & Deploy

  • Build successful
  • Docker image built
  • Image pushed to ECR
  • Container scanned for vulnerabilities
  • Deployment script tested
  • Rollback plan ready

Database Migration

  • Backup created before migration
  • Migrations run successfully
  • Data integrity verified
  • Rollback tested

Service Health

  • Application starts successfully
  • Health checks passing
  • All services responding
  • Database connections working
  • Redis connections working
  • Elasticsearch connections working
  • S3 access working
  • External APIs accessible

Post-Deployment

Verification

  • API endpoints responding
  • Authentication working
  • Video generation working
  • Search working
  • Trending working
  • Video upload/download working
  • CDN serving content
  • Rate limiting working
  • Error handling working

Performance

  • Response times acceptable (<2s)
  • Database query performance good
  • Search performance good
  • CDN cache hit rate >80%
  • Memory usage normal
  • CPU usage normal
  • No memory leaks

Monitoring

  • Logs flowing to CloudWatch
  • Metrics reporting
  • Alarms triggering correctly
  • Error tracking working
  • Performance metrics visible

Testing

  • Smoke tests passed
  • End-to-end tests passed
  • Load testing performed
  • API tests passed
  • User acceptance testing done

Documentation

  • API documentation updated
  • Deployment docs updated
  • Runbook created/updated
  • Team trained on new features
  • Changelog updated

Post-Launch

Week 1

  • Monitor error rates daily
  • Review performance metrics
  • Check for anomalies
  • Gather user feedback
  • Address critical issues

Week 2-4

  • Review CloudWatch metrics weekly
  • Optimize based on usage patterns
  • Plan scaling if needed
  • Review and optimize costs
  • Plan next iteration

Rollback Procedure

If issues occur:

  1. Stop deployment immediately
  2. Assess impact and severity
  3. Execute rollback:
    aws ecs update-service \
      --cluster videogen-cluster \
      --service videogen-backend \
      --task-definition videogen-backend:PREVIOUS_VERSION
  4. Verify rollback successful
  5. Communicate status
  6. Investigate root cause
  7. Document incident

Emergency Contacts

  • DevOps Lead: [Contact]
  • Database Admin: [Contact]
  • Security Lead: [Contact]
  • On-Call Engineer: [Contact]
  • AWS Support: [Support Plan]

Sign-Off

  • Engineering Lead
  • DevOps Lead
  • Security Lead
  • Product Manager

Deployment Date: ___________ Deployed By: ___________ Version: ___________