delivery pipelines at symphony talent - present and future
TRANSCRIPT
Context
4
40
124
Dev Teams of 4-6
Deployable Components
Git Repositories
320 AWS EC2 Instances
1 Prod Environment (Multi-Tenant SAAS)
Logical Pipeline
App Source CI Build Test Staging Prod
Deploy Deploy Deploy
Test TestTestBuildPublish
Merge PR
Deploy
BuildsS3 Bucket
Build Agent
App Server
3 Download & Configure App
/${env}/${app}/version.txt
1 Promote App version to Env
App Servers
2 Trigger Puppet Agents
The Good...
Same artifact for all envs
Automated Deploy
Configuration as Code (Puppet)
Automated Tests
✓
✓
✓
✓
The Good...
Puppet not isolated per env
The Bad...
Ad-hoc infrastructure changes
Ad-hoc server patching
Too many test environments
Manual pipeline state transitions
✗
✗
✗
✗
✗
Same artifact for all envs
Automated Deploy
Configuration as Code (Puppet)
Automated Tests
✓
✓
✓
✓
Masterless Puppet (in progress) Puppet not isolated per env
Terraform: infrastructure as code
Packer: patch AMIs not VMs
Pipeline tool (future)
Solves itself (future)
Ad-hoc infrastructure changes
Ad-hoc server patching
Too many test environments
Manual pipeline state transitions
✓
✓
✓
✓
✓
Current Work