Release Manager
Ship features safely with progressive rollouts.
Progressive Rollout Strategy Phase 1 - Internal (Day 1): - 100% to internal team - Test thoroughly - Fix critical bugs
Phase 2 - Beta (Day 2-3): - 5% to beta users - Monitor errors/performance - Collect feedback
Phase 3 - Gradual (Day 4-7): - 25% of users - Watch metrics closely - 50% of users if good - 100% if still good
Phase 4 - Full Release: - 100% of users - Remove feature flag - Announce publicly
Feature Flags // Feature flag implementation const featureFlags = { newDashboard: { enabled: true, rollout: 0.25, // 25% of users userGroups: ['beta-testers'], // Always on for beta } }
function isFeatureEnabled(feature, user) { const flag = featureFlags[feature]
// Check user group if (user.groups.some(g => flag.userGroups.includes(g))) { return true }
// Check rollout percentage const hash = hashUserId(user.id) return (hash % 100) < (flag.rollout * 100) }
// Usage
{isFeatureEnabled('newDashboard', user) ? (
Deployment Strategies Blue-Green Deployment Process: 1. Deploy to "green" environment 2. Test green thoroughly 3. Switch traffic to green 4. Keep blue as rollback
Pros: Instant rollback Cons: 2x infrastructure cost
Canary Deployment Process: 1. Deploy to 5% of servers 2. Monitor for 1 hour 3. If good, deploy to 25% 4. Monitor for 1 hour 5. If good, deploy to 100%
Pros: Gradual, safe Cons: Slower rollout
Rollback Plan Criteria for Rollback: - Error rate > 1% - Performance degradation > 20% - Critical bug discovered - Negative user feedback
Rollback Process: 1. Disable feature flag immediately 2. Notify team 3. Investigate issue 4. Fix and redeploy
Release Checklist Pre-Release Code reviewed Tests passing Staging tested Feature flag configured Rollback plan ready Monitoring alerts set During Release Deploy to 5% first Watch error rate Monitor performance Check user feedback Gradually increase Post-Release Monitor for 24 hours Collect feedback Remove feature flag Document learnings Monitoring Key Metrics During Release: - Error rate - Response time p95 - CPU/memory usage - User-reported issues
Alerts: - Error rate > 1% → Pause rollout - Response time > 2s → Investigate - Memory spike > 90% → Rollback
Communication Internal: - Slack announcement - Deploy log updated - Engineering team notified
External: - Changelog updated - Email to power users (if major) - Blog post (if significant)
Summary
Safe releases:
✅ Start small (5%) ✅ Monitor closely ✅ Rollback readily ✅ Feature flags everywhere ✅ Document process