SlideShare a Scribd company logo
OPERATIONS
SUPPORT WORKFLOW
Operations Support Workflow - Rundeck
NEIL MCCAUGHLEY
BUILD AND RELEASE ENGINERING MANAGER
NEIL MCCAUGHLEY
BUILD AND RELEASE ENGINERING MANAGER
Source code
Change
Unit Testing Quality Control Packaging
Deploy/Test
Dedicated Test
Environment
Deploy
Integration
Environment
Integration
Testing
Deploy/Test
Pre-Production
Deploy/Test
Performance
Publish Release
Candidates
Feature complete
Gate
Release
Candidate Gate
Production
Deployment
Production Release
Gate
Deploy/Test
UAT
Source Control Management CI and Build Tools
Deployment Environments Configuration management and
Deployment
Testing FrameworksBinaries and package storage
Code Quality Analysis Packaging Tools
CI/CD WORKFLOW
Source code
Change
Unit Testing Quality Control Packaging
Deploy/Test
Dedicated Test
Environment
Deploy
Integration
Environment
Integration
Testing
Deploy/Test
Pre-Production
Deploy/Test
Performance
Publish Release
Candidates
Feature complete
Gate
Release
Candidate Gate
Production
Deployment
Production Release
Gate
Deploy/Test
UAT
Source Control Management CI and Build Tools
Deployment Environments Configuration management and
Deployment
Testing FrameworksBinaries and package storage
Code Quality Analysis Packaging Tools
Release uses cases
Source Control
Update dependencies: Ivy - NuGet - Maven - Npm
Update project source
Request a repo
Create branch (feature, release, hotfix)
Tag
Merge branches pre-release or release
Create a repo
Migrate project
Git user support
Git access request
Crucible Project create
Crucible Project create
Crucible user creation
Build
Resolve dependencies
Inspect dependencies
Run unit tests
Run code coverage
Push updated version files
Compile project
Package project
Run code inspection analysis
Test deployment
Create Feature/CI/Release/Hotfix build configuration
Build support
TeamCity access request
Build template config maintenance
Create deployment build configuration
Create functional test build configuration
Integration Test Trigger
Deployment
Trigger Local deployment
Remote deployment
Generate Chef cookbook
Chef environment maintenance
Chef role maintenance
Maintain runlist
Target deployment nodes
Specify deployment package version
Stage artifacts for Production
Stage cookbooks for Production
3rd party cookbook creation
Bootstrap client for deployment
Chef job tool maintenance
Migrate role
Migrate Cookbook
Chef access request
Deployment support
Encrypt Configuration passwords
Decrypt Configuration passwords
Provision server
Artifact Library
Retrieve dependency artifacts
Publish project installer package
Publish project library artifacts
Artifact promotion to release repo
Publish 3rd party packages
Proxy Repository management
Key
Automated task
Self-Service option
Release Engineering Ticket
Release uses cases
Source Control
Update dependencies: Ivy - NuGet - Maven - Npm
Update project source
Request a repo
Create branch (feature, release, hotfix)
Tag
Merge branches pre-release or release
Create a repo
Migrate project
Git user support
Git access request
Crucible Project create
Crucible Project create
Crucible user creation
Build
Resolve dependencies
Inspect dependencies
Run unit tests
Run code coverage
Push updated version files
Compile project
Package project
Run code inspection analysis
Test deployment
Create Feature/CI/Release/Hotfix build configuration
Build support
TeamCity access request
Build template config maintenance
Create deployment build configuration
Create functional test build configuration
Integration Test Trigger
Deployment
Trigger Local deployment
Remote deployment
Generate Chef cookbook
Chef environment maintenance
Chef role maintenance
Maintain runlist
Target deployment nodes
Specify deployment package version
Stage artifacts for Production
Stage cookbooks for Production
3rd party cookbook creation
Bootstrap client for deployment
Chef job tool maintenance
Migrate role
Migrate Cookbook
Chef access request
Deployment support
Encrypt Configuration passwords
Decrypt Configuration passwords
Provision server
Artifact Library
Retrieve dependency artifacts
Publish project installer package
Publish project library artifacts
Artifact promotion to release repo
Publish 3rd party packages
Proxy Repository management
Key
Automated task
Self-Service option
Release Engineering Ticket
MANUAL STEPS =
SLOW RELEASE CYCLE, MORE SUPPORT
From a collaboration stand point, If you spend most of your day raising tickets
or waiting on tickets to be completed
YOU ARE DOING IT WRONG!
We wanted to promote Development, QA and Operations tasks that where
Automated
Or when automation is not possible/desired
Self Service
From a collaboration stand point, If you spend most of your day raising tickets
or waiting on tickets to be completed
YOU ARE DOING IT WRONG!
We wanted to promote Development, QA and Operations tasks that where
Automated
or failing that
Self Service
WAIT. DOESN’T SELF SERVICE
INTRODUCE RISK?
1. Understand what's being self-serviced
Making self-service safe
4. Just because you've implemented self-service
doesn't mean you've reduced cost
3. Put in checks that balance processes and procedures
2. Make education part of your plan
1. Understand what's being self-serviced
Making self-service safe
4. Just because you've implemented self-service doesn't
mean you've reduced cost
3. Put in restrictions that balance processes and procedures
2. Make education part of your plan
WHERE WOULD WE GET THE BEST
VALUE?
ADHERENCE TO STANDARDS
COMMON TICKETS
TREND ANALYSIS
HOW?
RUNDECK
OPERATIONS PROCEDURES JOB SCHEDULER
SELF-SERVICE TEST
ENVIRONMENTS
TRIGGER AUTOMATED
DEPLOYMENT
Operations Support Workflow - Rundeck
Operations Support Workflow - Rundeck
Operations Support Workflow - Rundeck
Operations Support Workflow - Rundeck
CREATING FROM TEMPLATE
PROMOTES STANDARDISATION
Release uses cases Before
Source Control
Update dependencies: Ivy - NuGet - Maven - Npm
Update project source
Request a repo
Create branch (feature, release, hotfix)
Tag
Merge branches pre-release or release
Create a repo
Migrate project
Git user support
Git access request
Crucible Project create
Crucible Project create
Crucible user creation
Build
Resolve dependencies
Inspect dependencies
Run unit tests
Run code coverage
Push updated version files
Compile project
Package project
Run code inspection analysis
Test deployment
Create Feature/CI/Release/Hotfix build configuration
Build support
TeamCity access request
Build template config maintenance
Create deployment build configuration
Create functional test build configuration
Integration Test Trigger
Deployment
Trigger Local deployment
Remote deployment
Generate Chef cookbook
Chef environment maintenance
Chef role maintenance
Maintain runlist
Target deployment nodes
Specify deployment package version
Stage artifacts for Production
Stage cookbooks for Production
3rd party cookbook creation
Bootstrap client for deployment
Chef job tool maintenance
Migrate role
Migrate Cookbook
Chef access request
Deployment support
Encrypt Configuration passwords
Decrypt Configuration passwords
Provision server
Artifact Library
Retrieve dependency artifacts
Publish project installer package
Publish project library artifacts
Artifact promotion to release repo
Publish 3rd party packages
Proxy Repository management
Key
Automated task
Self-Service option
Release Engineering Ticket
Release uses cases After
Source Control
Update dependencies: Ivy - NuGet - Maven - Npm
Update project source
Request a repo
Create branch (feature, release, hotfix)
Tag
Merge branches pre-release or release
Create a repo
Migrate project
Git user support
Git access request
Crucible Project create
Crucible Project update
Crucible user creation
Build
Resolve dependencies
Inspect dependencies
Run unit tests
Run code coverage
Push updated version files
Compile project
Package project
Run code inspection analysis
Test deployment
Create Feature/CI/Release/Hotfix build configuration
Build support
TeamCity access request
Build template config maintenance
Create deployment build configuration
Create functional test build configuration
Integration Test Trigger
Deployment
Trigger Local deployment
Remote deployment
Generate Chef cookbook
Chef environment maintenance
Chef role maintenance
Maintain runlist
Target deployment nodes
Specify deployment package version
Stage artifacts for Production
Stage cookbooks for Production
3rd party cookbook creation
Bootstrap client for deployment
Chef job tool maintenance
Migrate role
Migrate Cookbook
Chef access request
Deployment support
Encrypt Configuration passwords
Decrypt Configuration passwords
Provision server
Artifact Library
Retrieve dependency artifacts
Publish project installer package
Publish project library artifacts
Artifact promotion to release repo
Publish 3rd party packages
Proxy Repository management
Key
Automated task
Self-Service option
Release Engineering Ticket
Release uses cases After
Source Control
Update dependencies: Ivy - NuGet - Maven - Npm
Update project source
Request a repo
Create branch (feature, release, hotfix)
Tag
Merge branches pre-release or release
Create a repo
Migrate project
Git user support
Git access request
Crucible Project create
Crucible Project update
Crucible user creation
Build
Resolve dependencies
Inspect dependencies
Run unit tests
Run code coverage
Push updated version files
Compile project
Package project
Run code inspection analysis
Test deployment
Create Feature/CI/Release/Hotfix build configuration
Build support
TeamCity access request
Build template config maintenance
Create deployment build configuration
Create functional test build configuration
Integration Test Trigger
Deployment
Trigger Local deployment
Remote deployment
Generate Chef cookbook
Chef environment maintenance
Chef role maintenance
Maintain runlist
Target deployment nodes
Specify deployment package version
Stage artifacts for Production
Stage cookbooks for Production
3rd party cookbook creation
Bootstrap client for deployment
Chef job tool maintenance
Migrate role
Migrate Cookbook
Chef access request
Deployment support
Encrypt Configuration passwords
Decrypt Configuration passwords
Artifact Library
Retrieve dependency artifacts
Publish project installer package
Publish project library artifacts
Artifact promotion to release repo
Publish 3rd party packages
Proxy Repository management
Key
Automated task
Self-Service option
Release Engineering Ticket
REDUCTION OF QUEUE SUPPORT TIME
FROM 60% FTE TO 20%
Source code
Change
Unit Testing Quality Control Packaging
Deploy/Test
Dedicated Test
Environment
Deploy
Integration
Environment
Integration
Testing
Deploy/Test
Pre-Production
Deploy/Test
Performance
Publish Release
Candidates
Feature complete
Gate
Release
Candidate Gate
Production
Deployment
Production Release
Gate
Deploy/Test
UAT
Source Control Management CI and Build Tools
Deployment Environments Configuration management and
Deployment
Testing FrameworksBinaries and package storage
Code Quality Analysis Packaging Tools
EXTENSIONS:
OPERATIONS OUTSIDE RELEASE MANAGEMENT
Operations Support Workflow - Rundeck
Operations Support Workflow - Rundeck
EXTENSIONS:
JOB SCHEDULER
Operations Support Workflow - Rundeck
• Drives process and automation
• Improves standardisation adoption
• Enables shorter release cycle
• Reduced complexity
• Audit and monitoring improvement
• Assigns ownership
• Facilitates collaboration/handover between teams
Engineering Wins
• Drives process and automation
• Improves standardisation adoption
• Enables shorter release cycle
• Reduced complexity
• Audit and monitoring improvement
• Assigns ownership
• Facilitates collaboration/handover between teams
Engineering Wins
CAVEAT: DISTRIBUTED OWNERSHIP REQUIRES
ACCOUNTABILITY, CONTINUOUS IMPROVEMENT AND
MAINTENANCE
Twitter: @neilisking
THANKS

More Related Content

PPTX
Using standards for GOOD in DevOps
PPTX
Ordina Accelerator program 2019 - Jenkins blue ocean pipelines
PPTX
Ordina Accelerator program 2019 - Maven
PDF
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
PDF
Continuous Integration (CI) - An effective development practice
PDF
Continuous Integration, Continuous Quality, Continuous Delivery
PDF
TMF2014 CI-CD Workshop Michael Palotas
 
PPTX
Ordina Accelerator program 2019 - DevOps CI-CD
Using standards for GOOD in DevOps
Ordina Accelerator program 2019 - Jenkins blue ocean pipelines
Ordina Accelerator program 2019 - Maven
How do you implement Continuous Delivery?: Part 5 - Deployment Patterns
Continuous Integration (CI) - An effective development practice
Continuous Integration, Continuous Quality, Continuous Delivery
TMF2014 CI-CD Workshop Michael Palotas
 
Ordina Accelerator program 2019 - DevOps CI-CD

What's hot (20)

PDF
From ci to cd - LavaJug 2012
PPTX
Prescriptive Security with InSpec - All Things Open 2019
PPTX
Continuous Delivery Applied (Agile Richmond)
PDF
New York Kubernetes: CI/CD Patterns for Kubernetes
PPTX
Using Chef InSpec for Infrastructure Security
PDF
Implementing Continuous Delivery with Enterprise Middleware
PPTX
Continuous Delivery Applied (AgileDC)
PPT
Securing Apache Web Servers
PPTX
Quality assurance in dev ops and secops world
PPTX
Banfootguns devseccon 2019
PPTX
Continuous integration with Jenkins
PDF
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
KEY
Continuous deployment
PPTX
Devops
PDF
Continuous delivery @åf consult
PDF
Better Security Testing: Using the Cloud and Continuous Delivery
PDF
The Eclipse Way
PDF
Automated Visual Regression Testing by Dave Sadlon
PPTX
PPTX
Continuous delivery chernivcy
From ci to cd - LavaJug 2012
Prescriptive Security with InSpec - All Things Open 2019
Continuous Delivery Applied (Agile Richmond)
New York Kubernetes: CI/CD Patterns for Kubernetes
Using Chef InSpec for Infrastructure Security
Implementing Continuous Delivery with Enterprise Middleware
Continuous Delivery Applied (AgileDC)
Securing Apache Web Servers
Quality assurance in dev ops and secops world
Banfootguns devseccon 2019
Continuous integration with Jenkins
Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locall...
Continuous deployment
Devops
Continuous delivery @åf consult
Better Security Testing: Using the Cloud and Continuous Delivery
The Eclipse Way
Automated Visual Regression Testing by Dave Sadlon
Continuous delivery chernivcy

Similar to Operations Support Workflow - Rundeck (20)

PPTX
Linuxtag 2012 - continuous delivery - dream to reality
PDF
How open source is driving DevOps innovation: CloudOpen NA 2015
PPTX
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
PPTX
deployment and release managment topic.pptx
PPTX
Continuous Integration & the Release Maturity Model
PDF
From naive to agile - software engineering approach
ZIP
Introduction To Continuous Integration
ZIP
Continuous Integration, Build Pipelines and Continuous Deployment
PPTX
DevOps Requires Agility
KEY
Modern Continuous Software Delivery
PPTX
CI CD OPS WHATHAVEYOU
PDF
From Monoliths to Microservices at Realestate.com.au
PDF
Portable CI wGitLab and Github led by Gavin Pickin.pdf
PDF
Continuous integration (eng)
PDF
Coscup
PDF
deployment and release management for IT/CS
PPTX
Continuous Delivery
PDF
Application Deployment at UC Riverside
PPTX
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
PDF
AtlasCamp 2015: Game of Codes: The CI battle
Linuxtag 2012 - continuous delivery - dream to reality
How open source is driving DevOps innovation: CloudOpen NA 2015
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
deployment and release managment topic.pptx
Continuous Integration & the Release Maturity Model
From naive to agile - software engineering approach
Introduction To Continuous Integration
Continuous Integration, Build Pipelines and Continuous Deployment
DevOps Requires Agility
Modern Continuous Software Delivery
CI CD OPS WHATHAVEYOU
From Monoliths to Microservices at Realestate.com.au
Portable CI wGitLab and Github led by Gavin Pickin.pdf
Continuous integration (eng)
Coscup
deployment and release management for IT/CS
Continuous Delivery
Application Deployment at UC Riverside
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
AtlasCamp 2015: Game of Codes: The CI battle

Recently uploaded (20)

PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Digital Strategies for Manufacturing Companies
PDF
Complete React Javascript Course Syllabus.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
ai tools demonstartion for schools and inter college
PPTX
L1 - Introduction to python Backend.pptx
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
System and Network Administraation Chapter 3
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Materi-Enum-and-Record-Data-Type (1).pptx
PPTX
Essential Infomation Tech presentation.pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Digital Strategies for Manufacturing Companies
Complete React Javascript Course Syllabus.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
ai tools demonstartion for schools and inter college
L1 - Introduction to python Backend.pptx
PTS Company Brochure 2025 (1).pdf.......
System and Network Administraation Chapter 3
Odoo POS Development Services by CandidRoot Solutions
How Creative Agencies Leverage Project Management Software.pdf
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Design an Analysis of Algorithms II-SECS-1021-03
Design an Analysis of Algorithms I-SECS-1021-03
How to Choose the Right IT Partner for Your Business in Malaysia
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Which alternative to Crystal Reports is best for small or large businesses.pdf
Materi-Enum-and-Record-Data-Type (1).pptx
Essential Infomation Tech presentation.pptx

Operations Support Workflow - Rundeck

  • 3. NEIL MCCAUGHLEY BUILD AND RELEASE ENGINERING MANAGER
  • 4. NEIL MCCAUGHLEY BUILD AND RELEASE ENGINERING MANAGER
  • 5. Source code Change Unit Testing Quality Control Packaging Deploy/Test Dedicated Test Environment Deploy Integration Environment Integration Testing Deploy/Test Pre-Production Deploy/Test Performance Publish Release Candidates Feature complete Gate Release Candidate Gate Production Deployment Production Release Gate Deploy/Test UAT Source Control Management CI and Build Tools Deployment Environments Configuration management and Deployment Testing FrameworksBinaries and package storage Code Quality Analysis Packaging Tools CI/CD WORKFLOW
  • 6. Source code Change Unit Testing Quality Control Packaging Deploy/Test Dedicated Test Environment Deploy Integration Environment Integration Testing Deploy/Test Pre-Production Deploy/Test Performance Publish Release Candidates Feature complete Gate Release Candidate Gate Production Deployment Production Release Gate Deploy/Test UAT Source Control Management CI and Build Tools Deployment Environments Configuration management and Deployment Testing FrameworksBinaries and package storage Code Quality Analysis Packaging Tools
  • 7. Release uses cases Source Control Update dependencies: Ivy - NuGet - Maven - Npm Update project source Request a repo Create branch (feature, release, hotfix) Tag Merge branches pre-release or release Create a repo Migrate project Git user support Git access request Crucible Project create Crucible Project create Crucible user creation Build Resolve dependencies Inspect dependencies Run unit tests Run code coverage Push updated version files Compile project Package project Run code inspection analysis Test deployment Create Feature/CI/Release/Hotfix build configuration Build support TeamCity access request Build template config maintenance Create deployment build configuration Create functional test build configuration Integration Test Trigger Deployment Trigger Local deployment Remote deployment Generate Chef cookbook Chef environment maintenance Chef role maintenance Maintain runlist Target deployment nodes Specify deployment package version Stage artifacts for Production Stage cookbooks for Production 3rd party cookbook creation Bootstrap client for deployment Chef job tool maintenance Migrate role Migrate Cookbook Chef access request Deployment support Encrypt Configuration passwords Decrypt Configuration passwords Provision server Artifact Library Retrieve dependency artifacts Publish project installer package Publish project library artifacts Artifact promotion to release repo Publish 3rd party packages Proxy Repository management Key Automated task Self-Service option Release Engineering Ticket
  • 8. Release uses cases Source Control Update dependencies: Ivy - NuGet - Maven - Npm Update project source Request a repo Create branch (feature, release, hotfix) Tag Merge branches pre-release or release Create a repo Migrate project Git user support Git access request Crucible Project create Crucible Project create Crucible user creation Build Resolve dependencies Inspect dependencies Run unit tests Run code coverage Push updated version files Compile project Package project Run code inspection analysis Test deployment Create Feature/CI/Release/Hotfix build configuration Build support TeamCity access request Build template config maintenance Create deployment build configuration Create functional test build configuration Integration Test Trigger Deployment Trigger Local deployment Remote deployment Generate Chef cookbook Chef environment maintenance Chef role maintenance Maintain runlist Target deployment nodes Specify deployment package version Stage artifacts for Production Stage cookbooks for Production 3rd party cookbook creation Bootstrap client for deployment Chef job tool maintenance Migrate role Migrate Cookbook Chef access request Deployment support Encrypt Configuration passwords Decrypt Configuration passwords Provision server Artifact Library Retrieve dependency artifacts Publish project installer package Publish project library artifacts Artifact promotion to release repo Publish 3rd party packages Proxy Repository management Key Automated task Self-Service option Release Engineering Ticket MANUAL STEPS = SLOW RELEASE CYCLE, MORE SUPPORT
  • 9. From a collaboration stand point, If you spend most of your day raising tickets or waiting on tickets to be completed YOU ARE DOING IT WRONG! We wanted to promote Development, QA and Operations tasks that where Automated Or when automation is not possible/desired Self Service
  • 10. From a collaboration stand point, If you spend most of your day raising tickets or waiting on tickets to be completed YOU ARE DOING IT WRONG! We wanted to promote Development, QA and Operations tasks that where Automated or failing that Self Service WAIT. DOESN’T SELF SERVICE INTRODUCE RISK?
  • 11. 1. Understand what's being self-serviced Making self-service safe 4. Just because you've implemented self-service doesn't mean you've reduced cost 3. Put in checks that balance processes and procedures 2. Make education part of your plan
  • 12. 1. Understand what's being self-serviced Making self-service safe 4. Just because you've implemented self-service doesn't mean you've reduced cost 3. Put in restrictions that balance processes and procedures 2. Make education part of your plan WHERE WOULD WE GET THE BEST VALUE?
  • 16. HOW?
  • 18. OPERATIONS PROCEDURES JOB SCHEDULER SELF-SERVICE TEST ENVIRONMENTS TRIGGER AUTOMATED DEPLOYMENT
  • 24. Release uses cases Before Source Control Update dependencies: Ivy - NuGet - Maven - Npm Update project source Request a repo Create branch (feature, release, hotfix) Tag Merge branches pre-release or release Create a repo Migrate project Git user support Git access request Crucible Project create Crucible Project create Crucible user creation Build Resolve dependencies Inspect dependencies Run unit tests Run code coverage Push updated version files Compile project Package project Run code inspection analysis Test deployment Create Feature/CI/Release/Hotfix build configuration Build support TeamCity access request Build template config maintenance Create deployment build configuration Create functional test build configuration Integration Test Trigger Deployment Trigger Local deployment Remote deployment Generate Chef cookbook Chef environment maintenance Chef role maintenance Maintain runlist Target deployment nodes Specify deployment package version Stage artifacts for Production Stage cookbooks for Production 3rd party cookbook creation Bootstrap client for deployment Chef job tool maintenance Migrate role Migrate Cookbook Chef access request Deployment support Encrypt Configuration passwords Decrypt Configuration passwords Provision server Artifact Library Retrieve dependency artifacts Publish project installer package Publish project library artifacts Artifact promotion to release repo Publish 3rd party packages Proxy Repository management Key Automated task Self-Service option Release Engineering Ticket
  • 25. Release uses cases After Source Control Update dependencies: Ivy - NuGet - Maven - Npm Update project source Request a repo Create branch (feature, release, hotfix) Tag Merge branches pre-release or release Create a repo Migrate project Git user support Git access request Crucible Project create Crucible Project update Crucible user creation Build Resolve dependencies Inspect dependencies Run unit tests Run code coverage Push updated version files Compile project Package project Run code inspection analysis Test deployment Create Feature/CI/Release/Hotfix build configuration Build support TeamCity access request Build template config maintenance Create deployment build configuration Create functional test build configuration Integration Test Trigger Deployment Trigger Local deployment Remote deployment Generate Chef cookbook Chef environment maintenance Chef role maintenance Maintain runlist Target deployment nodes Specify deployment package version Stage artifacts for Production Stage cookbooks for Production 3rd party cookbook creation Bootstrap client for deployment Chef job tool maintenance Migrate role Migrate Cookbook Chef access request Deployment support Encrypt Configuration passwords Decrypt Configuration passwords Provision server Artifact Library Retrieve dependency artifacts Publish project installer package Publish project library artifacts Artifact promotion to release repo Publish 3rd party packages Proxy Repository management Key Automated task Self-Service option Release Engineering Ticket
  • 26. Release uses cases After Source Control Update dependencies: Ivy - NuGet - Maven - Npm Update project source Request a repo Create branch (feature, release, hotfix) Tag Merge branches pre-release or release Create a repo Migrate project Git user support Git access request Crucible Project create Crucible Project update Crucible user creation Build Resolve dependencies Inspect dependencies Run unit tests Run code coverage Push updated version files Compile project Package project Run code inspection analysis Test deployment Create Feature/CI/Release/Hotfix build configuration Build support TeamCity access request Build template config maintenance Create deployment build configuration Create functional test build configuration Integration Test Trigger Deployment Trigger Local deployment Remote deployment Generate Chef cookbook Chef environment maintenance Chef role maintenance Maintain runlist Target deployment nodes Specify deployment package version Stage artifacts for Production Stage cookbooks for Production 3rd party cookbook creation Bootstrap client for deployment Chef job tool maintenance Migrate role Migrate Cookbook Chef access request Deployment support Encrypt Configuration passwords Decrypt Configuration passwords Artifact Library Retrieve dependency artifacts Publish project installer package Publish project library artifacts Artifact promotion to release repo Publish 3rd party packages Proxy Repository management Key Automated task Self-Service option Release Engineering Ticket REDUCTION OF QUEUE SUPPORT TIME FROM 60% FTE TO 20%
  • 27. Source code Change Unit Testing Quality Control Packaging Deploy/Test Dedicated Test Environment Deploy Integration Environment Integration Testing Deploy/Test Pre-Production Deploy/Test Performance Publish Release Candidates Feature complete Gate Release Candidate Gate Production Deployment Production Release Gate Deploy/Test UAT Source Control Management CI and Build Tools Deployment Environments Configuration management and Deployment Testing FrameworksBinaries and package storage Code Quality Analysis Packaging Tools
  • 33. • Drives process and automation • Improves standardisation adoption • Enables shorter release cycle • Reduced complexity • Audit and monitoring improvement • Assigns ownership • Facilitates collaboration/handover between teams Engineering Wins
  • 34. • Drives process and automation • Improves standardisation adoption • Enables shorter release cycle • Reduced complexity • Audit and monitoring improvement • Assigns ownership • Facilitates collaboration/handover between teams Engineering Wins CAVEAT: DISTRIBUTED OWNERSHIP REQUIRES ACCOUNTABILITY, CONTINUOUS IMPROVEMENT AND MAINTENANCE

Editor's Notes

  • #11: How do we control/mitigate risk?
  • #12: We wanted to make self-service safe - Making everybody admin is a common pitfall of Devops/Self service - There's a lot of risk in implementing self-service services. - So what can be done to mitigate the risks to acceptable limits? Here are some recommendations: 1. Understand what's being self-serviced:  - Just because something can be self-serviced doesn't mean it should be. - We need to consider what happens to their processes and procedures when the end user becomes the owner of the process. 2. Make education part of your plan:  - People make mistakes, and just because you understand the value of complete, accurate and timely information doesn't mean your users do. 3. Put in checks that balance processes and procedures:  - You can't always ensure that an access request or self-service data stewardship is being handled correctly. Self-service doesn't equal self-management. - While the operational aspects may be delegated to end users, management of these systems must still be maintained. Eg Notifications 4. Just because you've implemented self-service doesn't mean you've reduced cost:  - In many cases self-service doesn't mean costs will go down in the short term. - With the overhead of managing and monitoring these services, costs may actually go up in the short-run. - If you choose and design wisely. It should reduce future spending.
  • #13: How de we determine this?
  • #14: Deviating from standard means that any automation of self service tooling is at risk of being out of date. Covers: - Build configurations - Deployment scripts - Source code branching policy
  • #15: If Build/IT/DBA Engineers are doing the same repeatable tasks. - Opportunity for automation or self service - The best engineers are often the ones who embrace the most tiresome, least glamorous, and most "never-completed" of tasks.
  • #16: Various monitoring and event notifiers like Splunk or Zabbix can tell us common failure points or common manual tasks
  • #17: So we know our - Pipeline - Manual tasks - We have a guideline of how to make self-service a realistic function - How or where are we going to run these tasks
  • #18: Rundeck is an - open source automation service with a web console - It provides command line tools and a WebAPI - It lets you easily run automation tasks across a set of nodes - Give remote admin connectivity through ssh and winrm
  • #35: distributed ownership and accountability (requires trust, communication, and continuous improvement)