Multi-Team Deployments | Release Coordination
Coordinate multi-service deployments: define deployment order, dependencies, timing, and rollback plans. GitScrum tracks releases and notifies all teams.
7 min read
Modern deployments often span multiple services, teams, and repositories. Uncoordinated deployments lead to integration failures, downtime, and finger-pointing. GitScrum helps coordinate deployment activities so everyone knows what's deploying, when, and what dependencies exist.
Deployment Challenges
| Challenge | Risk | Solution |
|---|---|---|
| Service dependencies | Broken integrations | Deployment order plan |
| Timing misalignment | Partial deploys | Coordinated schedule |
| Unknown changes | Debugging difficulty | Release notes |
| No rollback plan | Extended downtime | Documented rollback |
| Communication gaps | Teams unaware | Clear notifications |
Deployment Coordination Model
Release Train Approach
RELEASE TRAIN STRUCTURE
βββββββββββββββββββββββ
RELEASE: v2.5.0 (March 20, 2024)
βββ Release Manager: @sarah
βββ Deploy Window: 2:00-4:00 PM UTC
βββ Rollback Window: Until 6:00 PM UTC
INCLUDED SERVICES:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Service β Version β Team β Dependencies β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β API Gateway β 1.8.0 β Infra β None (first) β
β Auth Service β 2.3.0 β Backend β API Gateway β
β User Service β 3.1.0 β Backend β Auth Service β
β Web Frontend β 4.5.0 β Frontendβ All backends β
β Mobile Backend β 2.0.0 β Mobile β User Service β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
DEPLOYMENT ORDER:
1. API Gateway (2:00 PM)
2. Auth Service (2:10 PM)
3. User Service (2:20 PM)
4. Mobile Backend (2:30 PM)
5. Web Frontend (2:40 PM)
Dependency Visualization
DEPLOYMENT DEPENDENCY GRAPH
βββββββββββββββββββββββββββ
βββββββββββββββββββ
β API Gateway β
β (Deploy 1st) β
ββββββββββ¬βββββββββ
β
ββββββββββ΄βββββββββ
βΌ βΌ
βββββββββββ βββββββββββββ
β Auth β β Logging β
β Service β β Service β
ββββββ¬βββββ βββββββββββββ
β
ββββββ΄βββββ
βΌ βΌ
βββββββββββ βββββββββββββββ
β User ββββββΆβ Mobile β
β Service β β Backend β
ββββββ¬βββββ βββββββββββββββ
β
βΌ
βββββββββββββββ
β Web β
β Frontend β
β (Deploy Last)β
βββββββββββββββ
Pre-Deployment Checklist
Readiness Verification
PRE-DEPLOYMENT CHECKLIST
ββββββββββββββββββββββββ
EACH TEAM CONFIRMS:
[API Gateway Team]
- [x] All PRs merged to release branch
- [x] Tests passing in CI
- [x] Staging tested and verified
- [x] Database migrations ready
- [x] Config changes documented
- [x] Rollback procedure documented
- [x] On-call engineer identified
Status: READY β
[Auth Service Team]
- [x] All PRs merged to release branch
- [x] Tests passing in CI
- [ ] Staging tested and verified β
- [x] Database migrations ready
- [x] Config changes documented
- [x] Rollback procedure documented
- [x] On-call engineer identified
Status: BLOCKED - Staging verification pending
[User Service Team]
...
Go/No-Go Meeting
GO/NO-GO CHECKLIST
ββββββββββββββββββ
MEETING: 1:30 PM UTC (30 min before deploy)
ATTENDEES: Release manager + team leads
CHECKLIST:
βββ All services show READY status?
βββ All staging verifications complete?
βββ All on-call engineers available?
βββ Communication channels ready?
βββ Monitoring dashboards open?
βββ Customer support informed?
βββ Rollback scripts tested?
βββ Deploy scripts ready?
DECISION:
βββ GO: Proceed with deployment
βββ NO-GO: Abort, reschedule
βββ PARTIAL: Deploy subset (with plan)
Deployment Execution
Communication Flow
DEPLOYMENT COMMUNICATION
ββββββββββββββββββββββββ
CHANNEL: #release-2.5.0
T-30 min:
βββ @channel: Go/No-Go meeting starting
βββ Decision: GO β
T-0 (2:00 PM):
βββ @channel: π Deployment starting
βββ @infra: Starting API Gateway deploy
βββ Status: In Progress
T+10 min:
βββ @infra: β API Gateway deployed, smoke tests passing
βββ @backend: Starting Auth Service deploy
βββ Status: API Gateway β, Auth In Progress
T+20 min:
βββ @backend: β Auth Service deployed
βββ @backend: Starting User Service deploy
βββ Status: API β, Auth β, User In Progress
... (continue for each service)
T+45 min:
βββ @channel: β All services deployed
βββ @channel: Running final verification
βββ Status: Verification In Progress
T+50 min:
βββ @channel: β
Release v2.5.0 complete
βββ All smoke tests passing
βββ Monitoring looks good
βββ Status: SUCCESS
Real-Time Dashboard
DEPLOYMENT DASHBOARD
ββββββββββββββββββββ
Release: v2.5.0 | Started: 2:00 PM | Status: IN PROGRESS
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Service β Status β Time β Health β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β API Gateway β β Complete β 8 min β β Healthy β
β Auth Service β β Complete β 7 min β β Healthy β
β User Service β β³ Deployingβ 3 min β β³ Pending β
β Mobile Backend β βΈ Waiting β - β - β
β Web Frontend β βΈ Waiting β - β - β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Logs | Metrics | Rollback
CURRENT ACTIVITY:
βββ User Service: Rolling update 3/5 pods
βββ Waiting: Mobile Backend, Web Frontend
βββ ETA: 15 minutes remaining
Rollback Procedures
Rollback Plan
ROLLBACK PROCEDURES
βββββββββββββββββββ
ROLLBACK TRIGGERS:
βββ Error rate > 1% for 2 minutes
βββ P99 latency > 2x baseline
βββ Critical functionality broken
βββ Data integrity issue detected
βββ Team lead decision
ROLLBACK ORDER (reverse of deploy):
1. Web Frontend β v4.4.0
2. Mobile Backend β v1.9.0
3. User Service β v3.0.0
4. Auth Service β v2.2.0
5. API Gateway β v1.7.0
SERVICE-SPECIFIC:
ββββββββββββββββββββββββββββββββββββββ
API Gateway:
Command: kubectl rollout undo deployment/api-gateway
Verify: curl https://api/health
Time: ~2 min
Auth Service:
Command: kubectl rollout undo deployment/auth
Verify: curl https://auth/health
Time: ~2 min
Database: No migration rollback needed
ββββββββββββββββββββββββββββββββββββββ
Partial Rollback
PARTIAL ROLLBACK SCENARIO
βββββββββββββββββββββββββ
SITUATION: User Service causing errors
DECISION: Roll back User Service, keep others
ACTIONS:
1. Stop further deployments
2. Roll back User Service
3. Verify Auth Service still works
4. Verify API Gateway still works
5. Communicate status
POST-ROLLBACK:
βββ Document what failed
βββ Fix and re-test
βββ Schedule new deployment
βββ Post-mortem if needed
GitScrum Release Tracking
Release Task Structure
RELEASE TASK IN GITSCRUM
ββββββββββββββββββββββββ
PARENT: Release v2.5.0
βββ Due: March 20, 2024
βββ Owner: Release Manager
βββ Labels: release, production
βββ Milestone: Q1 2024 Release
CHILD TASKS:
βββ [Infra] API Gateway v1.8.0
βββ [Backend] Auth Service v2.3.0
βββ [Backend] User Service v3.1.0
βββ [Frontend] Web Frontend v4.5.0
βββ [Mobile] Mobile Backend v2.0.0
βββ [QA] Pre-release verification
βββ [Ops] Deployment execution
βββ [Ops] Post-deployment monitoring
CHECKLIST ON PARENT:
βββ [ ] All services verified in staging
βββ [ ] Go/No-Go meeting complete
βββ [ ] All teams confirmed ready
βββ [ ] Deploy complete
βββ [ ] Smoke tests passing
βββ [ ] Monitoring verified
βββ [ ] Release notes published
Best Practices
For Deployment Coordination
Anti-Patterns
DEPLOYMENT COORDINATION MISTAKES:
β Teams deploy independently
β No dependency order
β Silent deploys (no communication)
β No rollback plan
β Skipping go/no-go check
β No post-deploy verification
β Hero deploys (one person does everything)