puppet camp london april 2014: increasing agility by understanding risk
DESCRIPTION
"Increasing Agility by Understanding Risk" given at Puppet Camp London April 2014 by Simon CroomeTRANSCRIPT
![Page 2: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/2.jpg)
$ whoami Simon Croome Infrastructure Engineer Financial Industry Independent Consultant
![Page 3: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/3.jpg)
Why Puppet?
![Page 4: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/4.jpg)
Velocity
![Page 5: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/5.jpg)
Configuration Management is only part
of the solution
![Page 6: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/6.jpg)
![Page 7: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/7.jpg)
Software is deployable throughout its lifecycle
![Page 8: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/8.jpg)
Software is deployable throughout its lifecycle !Priority is keeping the software deployable over new features
![Page 9: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/9.jpg)
Software is deployable throughout its lifecycle !Priority is keeping the software deployable over new features !Anybody can get fast, automated feedback on the production readiness of their systems any time a change is made
![Page 10: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/10.jpg)
Software is deployable throughout its lifecycle !Priority is keeping the software deployable over new features !Anybody can get fast, automated feedback on the production readiness of their systems any time a change is made !Push-button deployments of any version to any environment
![Page 11: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/11.jpg)
Continuous Delivery
![Page 12: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/12.jpg)
Continuous Delivery
Reduces the transaction cost of making change
![Page 13: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/13.jpg)
Continuous Delivery
Reduces the transaction cost of making change
Faster ROI
![Page 14: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/14.jpg)
Continuous Delivery
Reduces the transaction cost of making change
Faster ROI
Reduces Risk
![Page 15: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/15.jpg)
Risk
![Page 16: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/16.jpg)
Concept: John Allspaw http://blog.vincentbrouillet.com/costs-and-risks-benefits-of-
continuous-delivery-in-one-picture/ !
![Page 17: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/17.jpg)
If it hurts Do it more often
![Page 18: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/18.jpg)
Controls
![Page 19: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/19.jpg)
Controls
Change Management
![Page 20: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/20.jpg)
Controls
Change Management
Separation of Duties
![Page 21: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/21.jpg)
Controls
Change Management
Separation of Duties
Audit
![Page 22: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/22.jpg)
An example workflow
![Page 23: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/23.jpg)
Jira Ticket Engineering
Puppet Data
Code Branch
Puppet Modules
Test Servers
Dev Puppet
Engineering
UNIX team member is assigned ticket.Jira creates development sandbox using Stash integration.
Peer Review
Code Format Tests
Integr’tn Tests
Unit Tests
Code Release
Once code is merged into Stash’s Release Branch, a UNIX team member may create a release containing one or more changes.Bamboo automates deployment of the release to UAT, further automated testing, then release to Production.Note that it will not yet be deployed to client systems.
Create Release
Deploy to UAT
Integration Tests
Deploy to PROD
New Requirement
Ticket is raised against UNIX Jira Issue tracker,e.g. New project, change to OS build.
Test failures block the release.
Initiate Deployment
Release is selected by UNIX team member.
SelectRelease Dry-run
Change Detail
Impacted Roles
Build Status
Non- Impacted Servers
Impacted Servers
Manual Review
Impact Analysis
Change is run across the environment in read-only mode.Servers that would be changed report back changes.UNIX Change Manager assesses impact and assigns risk.
Scheduling & Change Management
Each impacted server role enters separate change management workflowMaintenance windows and change risk feed into scheduling.
DEV
SIT
DIT
EBF
PERF
EBF
Impacted Roles
BCP
PRODCAT
Deployment
Completed approvals trigger deployment during change window.
.
Approved CHG Tickets
Apply Change
Review Request
Risk
Maintenance Windows ServiceNow
CHG Tickets
Reporting
Web console to track deployment of changes across the environment, including summary view of health by server role and business area.
Un-approved tickets reset change workflow.
Code Review
UNIX team member creates “Pull Request”, indicating change is ready to be reviewed.Bamboo automates code quality review, unit and integration testing.If all tests pass, Engineering team alerted to perform peer review in Stash.
![Page 24: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/24.jpg)
Jira Ticket Engineering
Puppet Data
Code Branch
Puppet Modules
Test Servers
Dev Puppet
Engineering
UNIX team member is assigned ticket.Jira creates development sandbox using Stash integration.
Peer Review
Code Format Tests
Integr’tn Tests
Unit Tests
Code Release
Once code is merged into Stash’s Release Branch, a UNIX team member may create a release containing one or more changes.Bamboo automates deployment of the release to UAT, further automated testing, then release to Production.Note that it will not yet be deployed to client systems.
Create Release
Deploy to UAT
Integration Tests
Deploy to PROD
New Requirement
Ticket is raised against UNIX Jira Issue tracker,e.g. New project, change to OS build.
Test failures block the release.
Initiate Deployment
Release is selected by UNIX team member.
SelectRelease Dry-run
Change Detail
Impacted Roles
Build Status
Non- Impacted Servers
Impacted Servers
Manual Review
Impact Analysis
Change is run across the environment in read-only mode.Servers that would be changed report back changes.UNIX Change Manager assesses impact and assigns risk.
Scheduling & Change Management
Each impacted server role enters separate change management workflowMaintenance windows and change risk feed into scheduling.
DEV
SIT
DIT
EBF
PERF
EBF
Impacted Roles
BCP
PRODCAT
Deployment
Completed approvals trigger deployment during change window.
.
Approved CHG Tickets
Apply Change
Review Request
Risk
Maintenance Windows ServiceNow
CHG Tickets
Reporting
Web console to track deployment of changes across the environment, including summary view of health by server role and business area.
Un-approved tickets reset change workflow.
Code Review
UNIX team member creates “Pull Request”, indicating change is ready to be reviewed.Bamboo automates code quality review, unit and integration testing.If all tests pass, Engineering team alerted to perform peer review in Stash.
![Page 25: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/25.jpg)
Jira Ticket Engineering
Puppet Data
Code Branch
Puppet Modules
Test Servers
Dev Puppet
Engineering
UNIX team member is assigned ticket.Jira creates development sandbox using Stash integration.
Peer Review
Code Format Tests
Integr’tn Tests
Unit Tests
Code Release
Once code is merged into Stash’s Release Branch, a UNIX team member may create a release containing one or more changes.Bamboo automates deployment of the release to UAT, further automated testing, then release to Production.Note that it will not yet be deployed to client systems.
Create Release
Deploy to UAT
Integration Tests
Deploy to PROD
New Requirement
Ticket is raised against UNIX Jira Issue tracker,e.g. New project, change to OS build.
Test failures block the release.
Initiate Deployment
Release is selected by UNIX team member.
SelectRelease Dry-run
Change Detail
Impacted Roles
Build Status
Non- Impacted Servers
Impacted Servers
Manual Review
Impact Analysis
Change is run across the environment in read-only mode.Servers that would be changed report back changes.UNIX Change Manager assesses impact and assigns risk.
Scheduling & Change Management
Each impacted server role enters separate change management workflowMaintenance windows and change risk feed into scheduling.
DEV
SIT
DIT
EBF
PERF
EBF
Impacted Roles
BCP
PRODCAT
Deployment
Completed approvals trigger deployment during change window.
.
Approved CHG Tickets
Apply Change
Review Request
Risk
Maintenance Windows ServiceNow
CHG Tickets
Reporting
Web console to track deployment of changes across the environment, including summary view of health by server role and business area.
Un-approved tickets reset change workflow.
Code Review
UNIX team member creates “Pull Request”, indicating change is ready to be reviewed.Bamboo automates code quality review, unit and integration testing.If all tests pass, Engineering team alerted to perform peer review in Stash.
![Page 26: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/26.jpg)
Jira Ticket Engineering
Puppet Data
Code Branch
Puppet Modules
Test Servers
Dev Puppet
Engineering
UNIX team member is assigned ticket.Jira creates development sandbox using Stash integration.
Peer Review
Code Format Tests
Integr’tn Tests
Unit Tests
Code Release
Once code is merged into Stash’s Release Branch, a UNIX team member may create a release containing one or more changes.Bamboo automates deployment of the release to UAT, further automated testing, then release to Production.Note that it will not yet be deployed to client systems.
Create Release
Deploy to UAT
Integration Tests
Deploy to PROD
New Requirement
Ticket is raised against UNIX Jira Issue tracker,e.g. New project, change to OS build.
Test failures block the release.
Initiate Deployment
Release is selected by UNIX team member.
SelectRelease Dry-run
Change Detail
Impacted Roles
Build Status
Non- Impacted Servers
Impacted Servers
Manual Review
Impact Analysis
Change is run across the environment in read-only mode.Servers that would be changed report back changes.UNIX Change Manager assesses impact and assigns risk.
Scheduling & Change Management
Each impacted server role enters separate change management workflowMaintenance windows and change risk feed into scheduling.
DEV
SIT
DIT
EBF
PERF
EBF
Impacted Roles
BCP
PRODCAT
Deployment
Completed approvals trigger deployment during change window.
.
Approved CHG Tickets
Apply Change
Review Request
Risk
Maintenance Windows ServiceNow
CHG Tickets
Reporting
Web console to track deployment of changes across the environment, including summary view of health by server role and business area.
Un-approved tickets reset change workflow.
Code Review
UNIX team member creates “Pull Request”, indicating change is ready to be reviewed.Bamboo automates code quality review, unit and integration testing.If all tests pass, Engineering team alerted to perform peer review in Stash.
![Page 27: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/27.jpg)
Jira Ticket Engineering
Puppet Data
Code Branch
Puppet Modules
Test Servers
Dev Puppet
Engineering
UNIX team member is assigned ticket.Jira creates development sandbox using Stash integration.
Peer Review
Code Format Tests
Integr’tn Tests
Unit Tests
Code Release
Once code is merged into Stash’s Release Branch, a UNIX team member may create a release containing one or more changes.Bamboo automates deployment of the release to UAT, further automated testing, then release to Production.Note that it will not yet be deployed to client systems.
Create Release
Deploy to UAT
Integration Tests
Deploy to PROD
New Requirement
Ticket is raised against UNIX Jira Issue tracker,e.g. New project, change to OS build.
Test failures block the release.
Initiate Deployment
Release is selected by UNIX team member.
SelectRelease Dry-run
Change Detail
Impacted Roles
Build Status
Non- Impacted Servers
Impacted Servers
Manual Review
Impact Analysis
Change is run across the environment in read-only mode.Servers that would be changed report back changes.UNIX Change Manager assesses impact and assigns risk.
Scheduling & Change Management
Each impacted server role enters separate change management workflowMaintenance windows and change risk feed into scheduling.
DEV
SIT
DIT
EBF
PERF
EBF
Impacted Roles
BCP
PRODCAT
Deployment
Completed approvals trigger deployment during change window.
.
Approved CHG Tickets
Apply Change
Review Request
Risk
Maintenance Windows ServiceNow
CHG Tickets
Reporting
Web console to track deployment of changes across the environment, including summary view of health by server role and business area.
Un-approved tickets reset change workflow.
Code Review
UNIX team member creates “Pull Request”, indicating change is ready to be reviewed.Bamboo automates code quality review, unit and integration testing.If all tests pass, Engineering team alerted to perform peer review in Stash.
![Page 28: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/28.jpg)
Jira Ticket Engineering
Puppet Data
Code Branch
Puppet Modules
Test Servers
Dev Puppet
Engineering
UNIX team member is assigned ticket.Jira creates development sandbox using Stash integration.
Peer Review
Code Format Tests
Integr’tn Tests
Unit Tests
Code Release
Once code is merged into Stash’s Release Branch, a UNIX team member may create a release containing one or more changes.Bamboo automates deployment of the release to UAT, further automated testing, then release to Production.Note that it will not yet be deployed to client systems.
Create Release
Deploy to UAT
Integration Tests
Deploy to PROD
New Requirement
Ticket is raised against UNIX Jira Issue tracker,e.g. New project, change to OS build.
Test failures block the release.
Initiate Deployment
Release is selected by UNIX team member.
SelectRelease Dry-run
Change Detail
Impacted Roles
Build Status
Non- Impacted Servers
Impacted Servers
Manual Review
Impact Analysis
Change is run across the environment in read-only mode.Servers that would be changed report back changes.UNIX Change Manager assesses impact and assigns risk.
Scheduling & Change Management
Each impacted server role enters separate change management workflowMaintenance windows and change risk feed into scheduling.
DEV
SIT
DIT
EBF
PERF
EBF
Impacted Roles
BCP
PRODCAT
Deployment
Completed approvals trigger deployment during change window.
.
Approved CHG Tickets
Apply Change
Review Request
Risk
Maintenance Windows ServiceNow
CHG Tickets
Reporting
Web console to track deployment of changes across the environment, including summary view of health by server role and business area.
Un-approved tickets reset change workflow.
Code Review
UNIX team member creates “Pull Request”, indicating change is ready to be reviewed.Bamboo automates code quality review, unit and integration testing.If all tests pass, Engineering team alerted to perform peer review in Stash.
![Page 29: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/29.jpg)
Jira Ticket Engineering
Puppet Data
Code Branch
Puppet Modules
Test Servers
Dev Puppet
Engineering
UNIX team member is assigned ticket.Jira creates development sandbox using Stash integration.
Peer Review
Code Format Tests
Integr’tn Tests
Unit Tests
Code Release
Once code is merged into Stash’s Release Branch, a UNIX team member may create a release containing one or more changes.Bamboo automates deployment of the release to UAT, further automated testing, then release to Production.Note that it will not yet be deployed to client systems.
Create Release
Deploy to UAT
Integration Tests
Deploy to PROD
New Requirement
Ticket is raised against UNIX Jira Issue tracker,e.g. New project, change to OS build.
Test failures block the release.
Initiate Deployment
Release is selected by UNIX team member.
SelectRelease Dry-run
Change Detail
Impacted Roles
Build Status
Non- Impacted Servers
Impacted Servers
Manual Review
Impact Analysis
Change is run across the environment in read-only mode.Servers that would be changed report back changes.UNIX Change Manager assesses impact and assigns risk.
Scheduling & Change Management
Each impacted server role enters separate change management workflowMaintenance windows and change risk feed into scheduling.
DEV
SIT
DIT
EBF
PERF
EBF
Impacted Roles
BCP
PRODCAT
Deployment
Completed approvals trigger deployment during change window.
.
Approved CHG Tickets
Apply Change
Review Request
Risk
Maintenance Windows ServiceNow
CHG Tickets
Reporting
Web console to track deployment of changes across the environment, including summary view of health by server role and business area.
Un-approved tickets reset change workflow.
Code Review
UNIX team member creates “Pull Request”, indicating change is ready to be reviewed.Bamboo automates code quality review, unit and integration testing.If all tests pass, Engineering team alerted to perform peer review in Stash.
![Page 30: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/30.jpg)
Jira Ticket Engineering
Puppet Data
Code Branch
Puppet Modules
Test Servers
Dev Puppet
Engineering
UNIX team member is assigned ticket.Jira creates development sandbox using Stash integration.
Peer Review
Code Format Tests
Integr’tn Tests
Unit Tests
Code Release
Once code is merged into Stash’s Release Branch, a UNIX team member may create a release containing one or more changes.Bamboo automates deployment of the release to UAT, further automated testing, then release to Production.Note that it will not yet be deployed to client systems.
Create Release
Deploy to UAT
Integration Tests
Deploy to PROD
New Requirement
Ticket is raised against UNIX Jira Issue tracker,e.g. New project, change to OS build.
Test failures block the release.
Initiate Deployment
Release is selected by UNIX team member.
SelectRelease Dry-run
Change Detail
Impacted Roles
Build Status
Non- Impacted Servers
Impacted Servers
Manual Review
Impact Analysis
Change is run across the environment in read-only mode.Servers that would be changed report back changes.UNIX Change Manager assesses impact and assigns risk.
Scheduling & Change Management
Each impacted server role enters separate change management workflowMaintenance windows and change risk feed into scheduling.
DEV
SIT
DIT
EBF
PERF
EBF
Impacted Roles
BCP
PRODCAT
Deployment
Completed approvals trigger deployment during change window.
.
Approved CHG Tickets
Apply Change
Review Request
Risk
Maintenance Windows ServiceNow
CHG Tickets
Reporting
Web console to track deployment of changes across the environment, including summary view of health by server role and business area.
Un-approved tickets reset change workflow.
Code Review
UNIX team member creates “Pull Request”, indicating change is ready to be reviewed.Bamboo automates code quality review, unit and integration testing.If all tests pass, Engineering team alerted to perform peer review in Stash.
![Page 31: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/31.jpg)
Jira Ticket Engineering
Puppet Data
Code Branch
Puppet Modules
Test Servers
Dev Puppet
Engineering
UNIX team member is assigned ticket.Jira creates development sandbox using Stash integration.
Peer Review
Code Format Tests
Integr’tn Tests
Unit Tests
Code Release
Once code is merged into Stash’s Release Branch, a UNIX team member may create a release containing one or more changes.Bamboo automates deployment of the release to UAT, further automated testing, then release to Production.Note that it will not yet be deployed to client systems.
Create Release
Deploy to UAT
Integration Tests
Deploy to PROD
New Requirement
Ticket is raised against UNIX Jira Issue tracker,e.g. New project, change to OS build.
Test failures block the release.
Initiate Deployment
Release is selected by UNIX team member.
SelectRelease Dry-run
Change Detail
Impacted Roles
Build Status
Non- Impacted Servers
Impacted Servers
Manual Review
Impact Analysis
Change is run across the environment in read-only mode.Servers that would be changed report back changes.UNIX Change Manager assesses impact and assigns risk.
Scheduling & Change Management
Each impacted server role enters separate change management workflowMaintenance windows and change risk feed into scheduling.
DEV
SIT
DIT
EBF
PERF
EBF
Impacted Roles
BCP
PRODCAT
Deployment
Completed approvals trigger deployment during change window.
.
Approved CHG Tickets
Apply Change
Review Request
Risk
Maintenance Windows ServiceNow
CHG Tickets
Reporting
Web console to track deployment of changes across the environment, including summary view of health by server role and business area.
Un-approved tickets reset change workflow.
Code Review
UNIX team member creates “Pull Request”, indicating change is ready to be reviewed.Bamboo automates code quality review, unit and integration testing.If all tests pass, Engineering team alerted to perform peer review in Stash.
![Page 32: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/32.jpg)
Jira Ticket Engineering
Puppet Data
Code Branch
Puppet Modules
Test Servers
Dev Puppet
Engineering
UNIX team member is assigned ticket.Jira creates development sandbox using Stash integration.
Peer Review
Code Format Tests
Integr’tn Tests
Unit Tests
Code Release
Once code is merged into Stash’s Release Branch, a UNIX team member may create a release containing one or more changes.Bamboo automates deployment of the release to UAT, further automated testing, then release to Production.Note that it will not yet be deployed to client systems.
Create Release
Deploy to UAT
Integration Tests
Deploy to PROD
New Requirement
Ticket is raised against UNIX Jira Issue tracker,e.g. New project, change to OS build.
Test failures block the release.
Initiate Deployment
Release is selected by UNIX team member.
SelectRelease Dry-run
Change Detail
Impacted Roles
Build Status
Non- Impacted Servers
Impacted Servers
Manual Review
Impact Analysis
Change is run across the environment in read-only mode.Servers that would be changed report back changes.UNIX Change Manager assesses impact and assigns risk.
Scheduling & Change Management
Each impacted server role enters separate change management workflowMaintenance windows and change risk feed into scheduling.
DEV
SIT
DIT
EBF
PERF
EBF
Impacted Roles
BCP
PRODCAT
Deployment
Completed approvals trigger deployment during change window.
.
Approved CHG Tickets
Apply Change
Review Request
Risk
Maintenance Windows ServiceNow
CHG Tickets
Reporting
Web console to track deployment of changes across the environment, including summary view of health by server role and business area.
Un-approved tickets reset change workflow.
Code Review
UNIX team member creates “Pull Request”, indicating change is ready to be reviewed.Bamboo automates code quality review, unit and integration testing.If all tests pass, Engineering team alerted to perform peer review in Stash.
![Page 33: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/33.jpg)
Jira Ticket Engineering
Puppet Data
Code Branch
Puppet Modules
Test Servers
Dev Puppet
Engineering
UNIX team member is assigned ticket.Jira creates development sandbox using Stash integration.
Peer Review
Code Format Tests
Integr’tn Tests
Unit Tests
Code Release
Once code is merged into Stash’s Release Branch, a UNIX team member may create a release containing one or more changes.Bamboo automates deployment of the release to UAT, further automated testing, then release to Production.Note that it will not yet be deployed to client systems.
Create Release
Deploy to UAT
Integration Tests
Deploy to PROD
New Requirement
Ticket is raised against UNIX Jira Issue tracker,e.g. New project, change to OS build.
Test failures block the release.
Initiate Deployment
Release is selected by UNIX team member.
SelectRelease Dry-run
Change Detail
Impacted Roles
Build Status
Non- Impacted Servers
Impacted Servers
Manual Review
Impact Analysis
Change is run across the environment in read-only mode.Servers that would be changed report back changes.UNIX Change Manager assesses impact and assigns risk.
Scheduling & Change Management
Each impacted server role enters separate change management workflowMaintenance windows and change risk feed into scheduling.
DEV
SIT
DIT
EBF
PERF
EBF
Impacted Roles
BCP
PRODCAT
Deployment
Completed approvals trigger deployment during change window.
.
Approved CHG Tickets
Apply Change
Review Request
Risk
Maintenance Windows ServiceNow
CHG Tickets
Reporting
Web console to track deployment of changes across the environment, including summary view of health by server role and business area.
Un-approved tickets reset change workflow.
Code Review
UNIX team member creates “Pull Request”, indicating change is ready to be reviewed.Bamboo automates code quality review, unit and integration testing.If all tests pass, Engineering team alerted to perform peer review in Stash.
![Page 34: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/34.jpg)
![Page 35: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/35.jpg)
![Page 36: Puppet Camp London April 2014: Increasing Agility by Understanding Risk](https://reader034.vdocuments.site/reader034/viewer/2022052617/53fe2d488d7f72d92d8b4628/html5/thumbnails/36.jpg)
Technology Stack !
Puppet - Dynamic environments MCollective - Comms CouchDB - Reports PouchDB - Replication to browser AngularJS - Web interface Rails - API (to be replaced) Resque / Redis - Job scheduling !