Casestudy: Continuously Delivering Fitness with Redgate DLM
-
Upload
red-gate-software -
Category
Software
-
view
302 -
download
0
Transcript of Casestudy: Continuously Delivering Fitness with Redgate DLM
Continuously Delivering
Fitness with Redgate DLM
Jon Forster & James Smith
Fitness First & DevOpsGuys
#SQLintheCityUK
Get in touch
https://uk.linkedin.com/pub/jon-
forster/8/a90/848
Jon Forster, Fitness First
#SQLintheCityUK
What Am I Telling You Today?
• ‘Step change’ of Fitness First hosting and
development pipeline
• Manual to automation
• Standardisation ‘as the norm’
• Industry leading toolset
The journey
Business Requirement
• Consistency
• Speed from concept to delivery
• Reduced cost
• Less errors
IT Strategy
• Industry leading toolset
• Standardisation of environments
• Automation
• Simplicity of process
• Less moving parts
• Transparency
The process
• Old, physical hardware
• Windows 2003, SQL 2005
• Bespoke toolset
• Manual, slow dev’ pipeline
• Old technologies
• Hyper-Converged hardware
• Windows 2012, SQL 2014
• Industry leading toolset
• Dev Ops process
• Modern technologies
The Challenge – A ‘Step Change’
• New technologies
• New skills
• Timescales
• Needed– A trusted partner
– Decisions and not 1,000 options
– The right toolset
The Database Problem
• “Regression testing 3 branches of code
across 16 countries – is easy right?”
• Jon Forster, Fitness First
Get in touch
blog.devopsguys.com
@theDevMgr
James Smith, DevOpsGuys
#SQLintheCityUK
Why?
• Reduce time-to-market
• Reduce overall cost of change
• Standardise processes across the
organisation
Maturity?
• Testing
Automated unit and acceptance tests, the latter written with testers. Testing part of development process.
Data Management
Database changes performed automatically as part of deployment process.
So maturity was good?• Level 3 – Optimizing: focus on process improvement
• Level 2 – Managed: Process measured and controlled
• Level 1 – Consistent: Automated processes applied across whole lifecycle
• Level 0 – Repeatable: Process documented and partly automated
• Level -1 – Regressive: process unrepeatable, poorly controlled and reactive
Integration tests
Binary backup in
source control
Restore
Integration database
withtest data
Test Execution
TestResults
Patch
Upgradedready
fortesting
Regression tests
Test database per country, plus feature test databases1:3 ratio
Test databasePer country
Featuretests
Brittle?
• A single change to the database required
hundreds of databases to be patched.
• Impossible to track without tracing back to
the migration scripts that were normally
committed separately by the development
team.
Our engineers!
Photo Credit: http://cache.lego.com/r/www/r/movie/-/media/franchises/the%20lego%20movie/explore/downloads/wallpapers/lego_wps_1600_emmet.jpg?l.r=-1410608028
A new way was needed
• A major change to the way Fitness First
build and deploy their software has been
the integration of Redgate's DLM
Automation Suite.
Source Control
• Took a backup of the production database
and put this under source control using
Redgate source control.
Continuous Integration
• Extended the build process to compile and
validate the schema using TeamCity and
Redgate's SQL CI
Release Management
• Deployments made with Octopus Deploy
and Redgate's SQL Release to the various
environments
Data
• Final optimisation was to have the data
under source control.
• Allowed us to seed the database with the
required data as part of the deployment
process for target environment.
Benefits
• Testers were no longer responsible for
making changes to database.bak files.
• Gave both developers and testers visibility
of the changes being made to the data in
order to support the tests
Benefits
• Gave us a single schema to build out
databases for the various environments.
• A single source to maintain
– Most importantly!